宿迁波仔博客

防火墙iptables之nat路由器

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路由器

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/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

 

2013-09-02 | 发布:宿迁波仔博客 | 分类:科技资讯 | 评论:7

留言列表:

  • 生日礼物送什么好 发布于 2013-09-05 21:11:00  回复
  • 挺高深 的东西
  • PHP二次开发 发布于 2013-09-04 13:47:58  回复
  • 博主的这个代码着色在firefox浏览器有点不兼容。
  • 哈秀时尚 发布于 2013-09-03 10:58:36  回复
  • 学习了,感谢分享了
  • 社新社 发布于 2013-09-02 18:40:09  回复
  • 很专业!看懂得不多!
  • 寇铈鑫 发布于 2013-09-02 14:44:07  回复
  • 这个还真没怎么知道 谢谢博主分享
  • 生日礼物送什么好 发布于 2013-09-02 13:19:37  回复
  • 博主的第二篇置顶文章会被电脑管家拦截
    • 宿迁波仔博客 发布于 2013-09-02 15:18:08  回复
    • 是的,网赚项目会被拦截的,也没有去申诉,博客这类文章不多。
  • 21氪 发布于 2013-09-02 12:27:48  回复
  • 勉强自己学习点

发表留言: