-
9月02日
-
iptables防火墙利用nat表,能够实现NAT功能,将内部地址与外部地址进行转换,完成内外网通信。
内部主机发送封包出去的流程:
1.经过nat表的PREROUTING链
2,经路由判断这个封包是否要进入主机,若不进入主机则经过filter表的FORWARD链
3.通过nat表的POSTROUTING链最后送出去
nat表支持的操作:
SNAT :用来做源网络地址转换,改变数据包的源ip地址,只能用在nat表的POSTROUTING链。
只要连接的第一个符合条件的包被SNAT,那么这个连接的其他所有的数据包就会自动的被SNAT。
DNAT:转换目的地址,改变数据包的目的ip地址,用于nat表的PREROUTING链和OUTPUT链。
MASQUERADE:MASQUERADE的作用与SNAT完全一样,改变数据包的源地址,因为对每个匹配的包,MASQUERADE都自动的查找可用的ip地址,
语法:
iptables -t nat -A POSTROUTING -o 网络接口 -j SNAT --to-source ip地址
举例:公司内部使用10.0.0.0/8 网段的ip地址,外网地址为125.33.218.221,如何配置使内网可以上网。
1.开启内核路由转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
2.SNAT 转换源ip地址
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 125.33.218.221
DNAT:语法
iptables -t nat -A PREROUTING -i 网络接口 -p 协议 --dport 端口 -j SANT --to-destination ip 地址
2.内网192.168.100.10 对外开放www服务,如何设置允许外网访问
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.100.10:80
3.使用DNAT将发送至202.200.30.27并且端口为80的数据包转发至192.168.1.104
iptables -t nat -A PREROUTING -d 202.200.30.27 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.104
内网绑定mac地址上网,设置nat路由器
12345678910111213141516171819#!/bin/bash
echo
"1"
>
/proc/sys/net/ipv4/ip_forward
arp -f
/root/mac
.txt
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -F INPUT
iptables -F FORWARD
iptables -F POSTROUTING -t nat
cat
/root/mac
.txt |
while
read
LINE
do
ipad=
'echo $LINE | awk '
{print $1}
''
macd=
'echo $LINE | awk '
{print $2}
''
iptables -A FORWARD -s $ipad -m mac --mac-
source
$macd -j ACCEPT
done
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A nat -A POSTROUTING -o eth0 -s 192.168.1.102 -j SNAT --to 113.57.224.3
iptables -A nat -A POSTROUTING -o eth0 -s 192.168.1.0
/24
-j MASQUERADE
除非注明,文章均为宿迁波仔博客原创,转载请注明本文地址:http://wangboxyk.cn/post/fanghuoqiang-luyouqi-iptables-nat.html标签:防火墙 路由器
- 评论:(7)
- 隐藏评论
【评论很精彩,有内幕、有真相!】