免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1417 | 回复: 0
打印 上一主题 下一主题

iptables学习_1 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-23 02:32 |只看该作者 |倒序浏览
路由和NAT的区别:
在传统的标准的TCP/IP通信过程中,所有的路由器仅仅是充当一个中间人的角色,也就是通常所说的存储转发,路由器并不会对转发的数据包进行修改,更为确切的说,除了将源MAC地址换成自己的MAC地址以外,路由器不会对转发的数据包做任何修改。NAT(Network Address Translation网络地址翻译)恰恰是出于某种特殊需要而对数据包的源ip地址、目的ip地址、源端口、目的端口进行改写的操作。
 
做这个实验室是用VMware实现,一个vm有双网卡,一块Bridged,配置外网地址;一块Custom Specific virtual network:VMnet2,配置内网地址。另外一个vm是单网卡Custom Specific virtual network:VMnet2,配置内网地址。
 
1)用iptables实现NAT
   iptables -N chain          建立一个链
   iptables -X chain          删除一个链
   iptables修改完毕后必须通过service iptables save或iptables-save>/etc/sysconfig/iptables生效
   iptables -t nat --list     查看nat表的内容
   假设所有的chain的默认策略都是ACCEPT
   a.修改/etc/sysctl.conf中的net.ipv4.ip_forward = 1,执行sysctl -p /etc/sysctl.conf生效
   b.下面任意一条命令均可以实现NAT,即从内网可以访问外网
     iptables -t nat -A POSTROUTING -o eth0  -j MASQUERADE
     iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0  -o eth0  -j SNAT --to-source  外网ip
   c.进一步iptables -P FORWARD DROP
     iptables -t filter -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT                                                        允许已经建立的连接从外网访问内网
     iptables -t filter -A FORWARD -i eth1 -o eth0 -j ACCEPT  允许从内网到外网的路由
   d.进一步iptables -t nat -P POSTROUTING  DROP
     iptables -t nat -A  POSTROUTING   -o eth1  -j  ACCEPT    网关服务器ping通内网
     iptables -t nat -A  POSTROUTING   -o lo    -j  ACCEPT    网关服务器ping通自己
   e.进一步iptables -t nat -P PREROUTING DROP
     iptables -t nat -A PREROUTING -i eth1 -j ACCEPT          允许内网访问外网
     允许外网访问网关服务器
     iptables -t nat -A PREROUTING -i eht0 -s 外网网段/255.255.255.0 -j ACCEPT               
   f.进一步iptables -t nat -P OUTPUT DROP
      iptables -t nat -P OUTPUT -s 192.168.1.1 -j ACCEPT          网关服务器可以对内网访问
      iptables -t nat -P OUTPUT -s 网关服务器外网地址 -j ACCEPT   网关服务器可以对外网访问
   g.进一步iptables -P INPUT DROP
     iptables -A INPUT -s 外网网段/255.255.255.0 -j ACCEPT        允许外网访问网关服务器
     允许已经建立的连接访问网关服务器
     iptables -A INPUT -m state --state RELATED,ESTABLISHED  -j ACCEPT
     iptables -A INPUT -i lo -j ACCEPT                            网关服务器ping通自己
     iptables -A INPUT -s 192.168.1.0/255.255.255.0 -j ACCEPT     内网访问网关服务器
   h.进一步iptables -P OUTPUT DROP
     iptables -A OUTPUT -s 192.168.1.1 -j ACCEPT                  网关服务器访问内网
     iptables -A OUTPUT -s 网关服务器外网地址 -j ACCEPT           网关服务器访问外网
     允许已经建立的连接出去
     iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP