Chinaunix首页 | 论坛 | 博客
  • 博客访问: 45356
  • 博文数量: 8
  • 博客积分: 531
  • 博客等级: 中士
  • 技术积分: 95
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-16 16:36
文章分类

全部博文(8)

文章存档

2012年(4)

2011年(4)

分类: LINUX

2011-09-03 20:22:43

NAT类型:
  1.SNAT(Source NAT,MASQUERADE):设置在POSTROUTING链表中。转换出包的源地址,和目的地址的反馈包。转换是基于地址和端口的,因此一个包的源地址和源端口将被SNAT转换,这称之为NAPT(Network Address and Port Translation)。SNAT需要通过指定的网卡和地址才能监视包。
  如果没有指定端口范围,源端口小于512将被映射到其他小于512的端口;512-1023之间的映射到小于1024的端口;其他将被映射到1024或更大的端口。如果可能,会对应的映射端口。
  MASQUERADE和SNAT很类似,他是基于动态的IP地址,因此只要定义监视包的网卡。另外该网卡当掉后连接信息也将丢失。
  2.DNAT(Destination NAT):设置在POSTROUTING链表中。
  SNAT——POSTROUTING(内部通往外部的渠道)
    iptables -t nat -I POSTROUTING -s 192.168.103.0/24 -o eth0 -j SNAT --to-source 10.10.6.1
    在内网环境中,将192.168.103.0网段的数据包通过eth0的10.10.6.1传出
    iptables -t nat -I POSTROUTING -s 192.168.103.0/24 -o eth0 -j MASQUERADE
    网络地址的伪装,将192.168.103.0网段的数据包伪装成eth0接口的ip。注意client的网关需要指向该服务器
    MASQUERADE,地址伪装,SNAT必须要知道明确的一个或多个服务器地址,如果服务器地址一直会变化那么MASQUERADE就派上用场了
  随后NAT服务器需开启转发功能:
  echo 1> /proc/sys/net/ipv4/ip_foward 开启转发功能,也可编辑/etc/sysctl.conf 添加net.ipv4.ip_forward = 1做永久保存
DNAT——PREROUTING (类似于ip或端口的转发)
   iptalbes -t nat -I PREROUTING -p tcp --dport 80 -d 10.1.1.2 -j DNAT --to-dest(ination) 192.168.103.1:80
   当www 10.1.1.2时自动转发到192.168.103.1获取,DNAT实现了类似于代理的功能,将制定数据包转发到制定机器上
DNAT的扩展应用
既然DNAT可以转发ip和端口,那么我们可以阻止内网访问某些网站(很邪恶)
iptables -t nat -I PREROUTING -d cn.msn.com -p tcp --dport 80 -i eth1 -j DNAT --to-dest boss.gongsi.com
注意-i需要指向对内网的网卡,表示来自于哪里的数据to-destination到哪里

阅读(1288) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~