在linux iptables防火墙规则里的 Nat网络协议实验流程机制

NAT :网络地址转换
网络中的NAT表,就是指iptables 定义的局域网内封包的传送,
1.先经过NAT table 的PREROUTING链;
2. 经由路由判定确定这个封包是要进入本机与否,若不进入本机,则进下一步
3.再经过Filter table 的FORWARD 链
4. 通过NAT table 的POSTROUTING链, 最后传送出去
NAT主机的重点在于上流程的第1,4步骤,也就是NAT table 的两条重要的链;PREROUTING链和 POSTROUTING链。 这两条链重要功能在于修改IP,而这两条链修改的IP又不一样, PREROUTING修改来源的IP, POSTROUTING修改目的IP。 由于修改的不一样,所以就称为来源NAT(Source NAT, SNAT),及目标NAT (Destination NAT, DNAT)
SNAT即源地址转换,能让多个内网用户通过一个外网地址上网,解决了IP匮乏问题。一个无线路由器也就使用这种技术。
NAT
根据上图,书写NAT表;

将192.168.10.10 转换为111.196.211.212,iptables命令如下:
iptables -t nat -A POSTROUTING -s 192.168.10.10 -s 192.168.10.10 -o eth1 -j SNAT --to-source 111.196.221.212

外网IP地址不稳定的情况即可使用MASQUERADE(动态伪装)能够自动的寻找外网地址并改为当前正确的外网IP地址
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE

DNAT 即目的地址转换 ,则能够让外网用户访问局域网内不同的服务器。(相当于SNAT反向代理)
在这里插入图片描述
上图可知, 目的地址192.168.10.6 在路由前就转换成
61.240.149.149,

需在网关上运行iptables命令如下:
iptables -t nat -A PREROUTING -i eth1 -d 61.240.149.149 -p tcp -dport 80 -j DNAT --to-destinaation 192.168.10.6:80
eth1 网口传入,且想要使用 port 80的服务器时,将该封包重新传导到192.168.1.120:80的IP及port上面,可以同时修改IP与port。此为地址映射与端口转换。

还可以使用PEDIRECT单独进行端口转换
例:将80端口的封包传递到8080端口
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
#使用8080这个port来启动WWW,但是别人都以80来联机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值