我对linux做NAT的解释
一台安装了linux8.0的机器上配置两块网卡,
第一块为eth1,IP地址为218.11.11.11,用来连接外网。
第二块为eth0,IP地址为192.168.0.1,用来连接内网,并做内网的网关。
iptables的配置如下:
1、modprobe ip_tables
2、modprobe iptable_nat
(因为在Linux启动时,ip_tables和iptable_nat两个模块在内核中并不是默认的启动选项,上述两条语句就是先将这两个必需的模块启动。)
3、modprobe ip_conntrack
(为了进行连接跟踪,必须将ip_conntrack这个模块加载,以确保外网中主机返回的报文,能顺利传送到内网中发出请求报文的主机。)
4、echo "1">;/proc/sys/net/ipv4/ip_forward
这条语句的作用是将ip_forward的值赋为1,也即是将端口转发功能打开,因为系统默认的值为不允许。
5、iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to 218.11.11.11
这条语句是利用POSTROUTING功能,来检查第一一个向外传输的报文,并将每一个出去请求的源地址都转换为在外网中合法的IP地址218.11.11.11,从而使内网的主机能够访问外网中的主机。
对于WWW服务
如果想让网内的机器对外提供WWW服务可以这样设置
1、iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth1 -j DNAT --to 192.168.0.1:80
PREROUTING中的规则是最先被检查的,一旦有数据从eth1进入内网,且目的地址为218.11.11.11,端口为80,则iptables就把请求发送到192.168.0.1的80端口
如果再增加一台的话可以这样
iptables -t nat -A PREROUTING -p tcp --dport 8888 -i eth1 -j DNAT --to 192.168.0.2:80
此语句将对218.11.11.11:8888的请求发至192.168.0.2的80端口。外网的主机想访问192.168.0.2提供的WWW服务时必须用http://218.11.11.11:8888
2、iptabes -t nat -APREROUTING -p tcp --dport 80 -i eth1 DNAT --to 192.168.0.1:80
这条语句将服务器对本机IP地址218.11.11.11:80的访问也转发到内网的192.168.0.1:80上。如果没有这条语句,则它对本机eth1上80端口的访问,将不会转发到内网相对应的主机上去。
FTP服务
在网内架设FTP服务让外网的人能够访问到。
1、modprobe ip_conntrack_ftp
2、modprobe ip_nat_ftp
想要在内网架设FTP服务器就必须加载以上两个模块。它们主要是用来跟踪FTP服务的联接状态,确保外网中的主机能够准确找到内网中提供FTP服务的机器,并保持连接
3、iptables -t nat -A PREROUTING -p tcp --dport 21 -i eth1 -j DNAT --to 192.168.0.1:21
一旦有请求218.11.11.11:21报文,则把这些报文转发到内网的192.168.0.1:21上去。和WWW服务一样可以通过不同的端口建立内网不同IP地址的FTP服务。
4、iptables -t nat -A PREROUTING -p tcp --dport 21 -i eth1 -j DNAT --to 192.168.0.1:21
这条语句将服务器对本机IP地址218.11.11.11:21的访问也转发到内网的192.168.0.1:21上。如果没有这条语句,则它对本机eth1上21端口的访问,将不会转发到内网相对应的主机上去。
分享到:
相关推荐
Linux NAT 实现原理与实现 Linux NAT(Network Address Translation)是 Linux 内核中的一种网络地址转换技术,它允许多个主机共享一个公网 IP 地址,以便于更多的主机连接到 Internet。本文将介绍 Linux NAT 的...
快速配置 Linux NAT 服务器 Linux NAT 服务器是指使用 Linux 操作系统实现网络地址转换(NAT)的服务器。它可以让多个虚拟 IP 地址通过一个拥有真实 IP 地址且与互联网连接的 Linux 机器作为网关器,而与互联网连接...
### Linux NAT服务配置详解 #### 实验环境搭建与配置 在进行Linux NAT服务配置之前,我们首先需要了解实验环境的基本架构。本实验采用的是Toplevel系统,并配备有两块网卡,分别是eth0和eth1。 - **eth0**:连接...
"Linux NAT环境下网络音频视频问题的解决方案" 本文将围绕Linux NAT环境下网络音频视频问题的解决方案进行详细的知识点总结。 一、Linux NAT环境概述 Linux NAT环境是指使用Linux系统作为网络地址转换(NAT)...
"VMware虚拟机Linux通过NAT方式上网" VMware 虚拟机 Linux 通过 NAT 方式上网是指在 VMware 环境中,使用 NAT(Network Address Translation,网络地址转换)技术,实现 Linux 虚拟机的上网功能。这种方式可以使...
【让Linux操作系统NAT服务器支持UpnP】 在现代的家庭和企业网络环境中,UPnP(Universal Plug and Play)技术已经成为一种重要的设备联网方式。它允许智能设备自动发现并连接到网络,无需用户进行复杂的网络配置。...
通过这样的实现,一个C++程序可以在Linux环境下提供基本的NAT服务,同时具备对内部网络设备的带宽管理能力,有助于优化网络资源的使用,保障关键服务的稳定运行。然而,实际的代码实现会更复杂,涉及到错误处理、...
linux 服务配置 讲解 nat 地址转换配置 解决地址需求问题和一些安全问题 隐藏内部网络
"利用Linux下的NAT功能实现多机共用一个IP地址" 本文主要介绍了如何利用Linux下的NAT功能实现多机共用一个IP地址。NAT(Network Address Translation,网络地址转换)是一种使多台计算机共用一个公网IP地址的技术。...
方案,能够实现NAT和对网络进行用户管理和信息过滤,并能防范一定的网络攻击手段和防病毒 能力,保护校园网内主机的安全和重要站点的信息安全,如各部门的信息服务器等。 设计论文内容要求: 1)分析网络安全技术和...
LINUX与主机NAT链接(Linux编译环境的搭建) Linux是一种流行的开源操作系统,广泛应用于服务器、嵌入式系统和个人计算机等领域。为了搭建Linux编译环境,需要虚拟机的支持。本文将指导读者如何使用VM虚拟机和...
总结了nat规则的配置过滤规则,包含SNAT、DNAT的ip及端口过滤配置说明等,以及NAT规则的查看、删除命令等。
1. 性能损失:NAT 可能会导致网络性能下降,因为它需要对数据包进行地址转换。 2. 配置复杂:NAT 的配置可能会很复杂,因为需要在多个 hook 点之间进行地址转换。 ip_nat_info 结构体: ip_nat_info 结构体是 NAT ...
它是bash或其他shell解释器可执行的文本文件,很可能包含了安装或配置Nat123服务的命令。 综上所述,"nat123linux.tar.gz" 包含的可能是一个Linux远程访问工具,特别是针对NAT穿透的解决方案,使用户能够通过UDP...
linux下设置iptables实现NAT功能
Linux双网卡NAT配置Linux双网卡NAT配置Linux双网卡NAT配置Linux双网卡NAT配置Linux双网卡NAT配置Linux双网卡NAT配置
本文档面向对网络地址转换感兴趣的技术人员,特别是那些希望深入了解Linux 2.4内核中NAT实现机制的人群。无论你是Linux系统的管理员还是网络工程师,都能从中获取有价值的信息。 #### 二、官方资源与社区支持 **...
Linux下的网络地址转换(Network Address Translation,简称NAT)是一种在网络通信中用于重写源或目标IP地址的技术,常用于让内部网络中的设备通过单一公网IP地址访问外部网络。NAT技术不仅简化了公网IP地址的管理,...
在进行Linux下的NAT配置之前,我们需要做一些准备工作。 1. **Linux版本确认** - 本教程基于企业版Linux,具体版本号为2.6.9-34.EL。确保您的Linux系统版本与教程一致或接近,以便于后续操作的顺利进行。 2. **...
本文件是基于 Linux 平台下的软件网关。在运行前需要 用 chmod 命令将该文件的权限设置成可执行权限。也可 以将该文件添加到自启动文件中。 其中:eth0 是连接互联网的网络接口。 需要注意一点:文件中的IPADDR、...