88bifa必发唯一官网完全教程,NAT原理和陈设

环境介绍,路由器首先对符合NAT转发条件的数据包进行NAT转换,NAT一般情况下分为SNAT

88bifa必发唯一官网 7

Linux
CentOS 6 NAT 转发完整教程

NAT模式

此形式下,由局域网向广域网发送的数据包暗中认可经过NAT转换,但路由器对全数源地址与局域网接口不在同一网段的数目包均不进行拍卖。举例,路由器LAN口IP设置为192.168.1.1,子网掩码为255.255.255.0,LAN口所处网段为192.168.1.0/24,此时,路由器收到源地址为192.168.1.123的多寡包会进行NAT转变;但倘若接受源地址为20.31.76.80的数量包则直接废弃。

上一篇:IPtables之三:显式扩充法则

互联网拓补图:

路由方式

此形式下,处于不一致网段的主机能够因此相应的路由设置进行通讯,但路由器不开展NAT调换。举例,当路由器DMZ口处于广域网情势时,DMZ区域内主机要求以路由艺术访谈广域网中的服务器,若静态路由法则允许,则可平常通讯。此时,局域网内的主机无法访谈广域网。

NAT日常意况下分成SNAT,DNAT和PNAT

88bifa必发唯一官网 1

全模式

全方式包括了NAT方式及路由方式,此方式下,路由器首先对适合NAT转载条件的多少包进行NAT调换;若不相符,则开展静态路由法规相称,相称成功的数量包以路由形式实行转账;相称失利的数码包直接扬弃。那样,路由器既允许数据包实行NAT转变,也不封堵与接口在区别网段的数据包。

转自:
霸王硬上弓’s
Blog

此篇主要陈述的是利用iptables配置NAT,所以这3种NAT的区分和使用场景就简单的证实一下

条件介绍:

 

一台CentOS6
主机,双网卡,两网段

SNAT:源地址调换

网口设定如下:

目的地点不改变,重新改写源地址,并在本机建设构造NAT表项,当数码重回时,依照NAT表将指标地址数据改写为数量发送出去时候的源地址,并发送给主机

[root@CentOS ~]``# cat /etc/sysconfig/network-scripts/ifcfg-eth0

时下大约都是赶尽杀绝内网顾客用同叁个公网地址上网的景况

DEVICE=eth0

DNAT:指标地方转换

TYPE=Ethernet

和SNAT相反,源地址不改变,重新修改目的地址,在本机营造NAT表项,当数码再次来到时,遵照NAT表将源地址修改为数据发送过来时的对象地点,并发给远程主机

ONBOOT=``yes

在DNAT的功底上,能够依赖央求数据包的端口做PNAT(端口转变,也称得上端口映射),能够更句央浼数据包差别的端口改写差异的对象地方,进而发送给差异的主机

BOOTPROTO=dhcp

那在用贰个公网地址做差别服务时用的比很多,何况相对来说,用NAT的形式得以遮盖后端服务器的真人真事地址,越来越七台河

[root@CentOS ~]``#

 

 

在运用iptables完毕nat此前,再来回头说说iptables的功底原理

[root@CentOS ~]``# cat /etc/sysconfig/network-scripts/ifcfg-eth1

88bifa必发唯一官网 2

DEVICE=eth1

在那些模型中,实现nat的贯彻,数据要由此prerouting—forword–postrouting那3个链

TYPE=Ethernet

 

ONBOOT=``yes

深入分析SNAT的数据流向进度

BOOTPROTO=static

率先步入prerouting,开采不是本网段的地址,而后初步查找路由表(查找路由的历程在prerouting和forword之间),于是通过forword链实行转载,在经过postrouting时开展NAT调换。

 

在那几个流程中,NAT转换的步调在postrouting链上贯彻,之所以不再prerouting上做nat是因为数量包在进来在此之前,还不知晓是本网段地址照旧外网地址

IPADDR=192.168.66.1

 

NETMASK=255.255.255.0

再深入分析DNAT的多少流向进度

 

在DNAT中,NAT要在prerouting链上做。在此之前提到过,在数量踏入主机后,路由选拔经过是在prerouting和forword之间的,所以应超越做地点转变之后,再开展路由精选,而后经过forword,最终从postrouting出去

[root@CentOS ~]``# service network restart

 

 

反驳说了一群,接下去用试验情形来声明下(用dia画的图,比较搓。。。在ubuntu下将就用下了。)

 

88bifa必发唯一官网 3

[root@CentOS ~]``# ifconfig -a

里面pc1是自己本机,系统是ubuntu12.04,NAT和PC2是vmware虚拟机

eth0      Link encap:Ethernet  HWaddr 00:0C:29:37:00:93

 

``inet addr:172.16.20.183  Bcast:172.16.255.255  Mask:255.255.0.0

nat主机互联网安插

 

88bifa必发唯一官网 4

 

 

eth1      Link encap:Ethernet  HWaddr 00:0C:29:37:00:9D

SNAT

``inet addr:192.168.66.1  Bcast:192.168.66.255  Mask:255.255.255.0 

在做nat在此以前,要先把路由功效张开,不然数据包连forword都过不了

开垦网卡转载

[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward

[root@CentOS ~]``# vim /etc/sysctl.conf

 

net.ipv4.ip_forward = 1

添加nat表项

及时生效

[root@localhost ~]#
iptables -t nat -A POSTROUTING -s 172.16.93.0/24  -j SNAT –to-source
10.0.0.1

[root@CentOS ~]``# sysctl -p 

代表在postrouting链上,将源地址为172.16.93.0/24网段的数据包的源地址都改变为10.0.0.1

转载准绳:

 

[root@CentOS ~]``# iptables -t nat -A POSTROUTING -s 192.168.66.0/24 -j SNAT --to 172.16.20.183 #出口为静态IP选这个

查阅下表项

[root@CentOS ~]``# iptables -t nat -A POSTROUTING -s 192.168.66.0/24 -o eth0 -j MASQUERADE #出口为动态IP选这个 

88bifa必发唯一官网 5

翻看/保存转载法规

 

[root@CentOS ~]``# iptables -t nat -nL

注脚成效:

[root@CentOS ~]``# service iptables save 

先看下本机的网络布局

========验证NAT======= 

88bifa必发唯一官网 6

在192.168.66/24网段内,一台linux主机设置为:

增多一条去往10.0.0.0/24网段的静态路由

[root@CentOS ~]``# cat /etc/sysconfig/network-scripts/ifcfg-eth0

lust@host:~$ sudo route add -net 10.0.0.0/24 gw 172.16.93.129

DEVICE=eth0

 

TYPE=Ethernet

接下来在主机上对vmnet1网段进行抓包

ONBOOT=``yes

lust@host:~$ sudo tcpdump -i vmnet1 –v

BOOTPROTO=static

 

 

在主机上ping 10.0.0.2,观望抓到的包

IPADDR=192.168.66.2

88bifa必发唯一官网 7

NETMASK=255.255.255.0

由此抓包能够开掘,去往10.0.0.2的源地址为10.0.0.1,表明nat成功的将源地址改写

GATEWAY=192.168.66.1

  
 
如上是实验证实部分
 
 
 
此地再介绍贰个SNAT的常用选项:MASQUERADE
 
此选项能够用在动态获取IP地址的主机,常用在家庭adsl拨号上
 
iptables -t nat -A POSTROUTING -s 172.16.93.0/24 -o eth1 -j
MASQUEREADE
 
在这里最佳使用-o
接口来威名昭著钦定从哪个接口出去,MASQUEREADE会调用该接口的地方作为源地址出去(不点名接口也得以,可是在主机上有三个IP地址的情况下最棒布局一下)
 
 DNAT
 
对此DNAT就不再抓实验证明了,和SNAT是大半的,这里介绍下常用的二种用法
 
 
 
在DNAT中,要把准绳定义在PREROUTING链中
 
iptables -t nat -A PREROUTING -d 10.0.0.1 -j DNAT –-to-destination
172.16.93.1
 
此条法则将呼吁IP为10.0.0.1的多寡包转载到后端172.16.93.1主机上
 
 
 
iptables -t nat -A PREROUTING -d 10.0.0.1 -p tcp –-dport 80 -j DNAT
–-to-destination 172.16.93.1
 
此条准绳将央浼IP为10.0.0.1何况端口为80的数据包转载到后端的172.16.93.1主机上,通过定义不相同的端口,就足以完毕PNAT,将同三个IP分化的端口必要转载到后端不相同的主机
 
 
 
iptables -t nat -A PREROUTING -d 10.0.0.1 -p tcp –-dport 80 -j DNAT
–-to-destination 172.16.93.1:8080
 
此条法则在上条准则的底子上,发将来端的数据包的目的端口改为8080,在后端主机的web服务器上使用8080端口接接受访谈问,
那样能越来越好的护卫后端主机
 
 
 
 
iptables种类NAT部分就写到这里,有哪些不了解的能够留言切磋。下一篇将会陈诉使用iptables的7lay完毕7层的访问调节,也正是在率先篇中所说的网关代理型防火墙,能够兑现调控qq,bt等应用程序的互联网访谈
 
小编 lustlost-迷失在欲望之中

DNS1=180.76.76.76.76

DNS2=8.8.8.8

 

[root@CentOS ~]``#

 

 

重启网络服务

[root@CentOS ~]``# service network restart

Shutting down interface eth0:                              [  OK  ]

Shutting down loopback interface:                          [  OK  ] 

开始测量试验

ping 自己测试

[root@CentOS ~]# ping 192.168.66.2

PING 192.168.66.2 (192.168.66.2) 56(84) bytes of data.

64 bytes from 192.168.66.2: icmp_seq=1 ttl=64 ``time``=0.042 ms

 

ping网关测试

[root@CentOS ~]# ping 192.168.66.1

PING 192.168.66.1 (192.168.66.1) 56(84) bytes of data.

64 bytes from 192.168.66.1: icmp_seq=1 ttl=64 ``time``=0.261 ms

 

ping nat出口测试

[root@CentOS ~]# ping 172.16.20.183

PING 172.16.20.183 (172.16.20.183) 56(84) bytes of data.

64 bytes from 172.16.20.183: icmp_seq=1 ttl=64 ``time``=0.280 ms

 

ping nat外的工作机

[root@CentOS ~]# ping 172.16.20.245

PING 172.16.20.245 (172.16.20.245) 56(84) bytes of data.

64 bytes from 172.16.20.245: icmp_seq=1 ttl=63 ``time``=2.39 ms

 

ping 百度DNS

[root@CentOS ~]# ping 180.76.76.76

PING 180.76.76.76 (180.76.76.76) 56(84) bytes of data.

64 bytes from 180.76.76.76: icmp_seq=1 ttl=52 ``time``=10.2

 

 

ping 网易163

[root@CentOS ~]# ping www.163.com

PING 1stcncloud163.xdwscache.ourwebpic.com (114.80.143.193) 56(84) bytes of data.

64 bytes from 114.80.143.193: icmp_seq=1 ttl=55 ``time``=9.58 ms

 

ping 淘宝网

[root@CentOS ~]# ping www.taobao.com

PING www.taobao.com.danuoyi.tbcache.com (114.80.174.46) 56(84) bytes of data.

64 bytes from 114.80.174.46: icmp_seq=1 ttl=48 ``time``=8.83 ms

 

 

88bifa必发唯一官网 8