本文共 997 字,大约阅读时间需要 3 分钟。
NAT(网络地址转换)
1>先经过NAT table 的 PREROUTING链 //修改目的IP2>经由路由判断确定这个数据包是否要进入本机,若不进入主机则下一步3>再经过 Filter table 的 FORWARD 链4>通过NAT table 的 POSTROUTING链,最后传送出去 //修改源IPNAT服务器和路由器的区别:
1、基本上NAT服务器一定是路由器,不过NAT服务器会修改IP报头数据,因此和普通的单纯传递数据包的路由器不同。2、一般作为IP分享器的NAT服务器都是一边为public IP一边为private IP,而路由器两边为private IP或两边为public IP。NAT脚本:
iptables -A INPUT -i $INIF -j ACCEPT#$INIF指内网接口echo "1" > /proc/sys/net/ipv4/ip_forward#让Linux具有路由功能iptables -t net -A POSTROUTING -s $innet -o $EXTIF -j MASQUERADE#$innet指私有网段#$EXTIF指对外接口
SNAT:修改数据报文的源IP或源端口
DNAT:修改数据报文的目的IP或目的端口静态SNAT
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.100
动态SNAT
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.100-192.168.1.200
DNAT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \-j DNAT --to-destination 192.168.100.10:80#将从eth0传入的对tcp80端口的请求重新传递到192.168.100.10:80上iptables -t nat -A PREROUTING -p tcp --dport 80 \-j REDIRECT --to-ports 8080#本机上的端口转发
转载于:https://blog.51cto.com/gdutcxh/2121073