码迷,mamicode.com
首页 > 其他好文 > 详细

实验----SNAT,DNAT,转发

时间:2017-11-01 00:00:43      阅读:276      评论:0      收藏:0      [点我收藏+]

标签:nat

首先配置NAT环境:

A机:桥接网卡,作为外网。IP:172.17.252.227

B机:作为NAT转换机,两个网卡都有。IP:172.17.123.224 192.168.199.138

   开启转发功能:

   echo 1 > /proc/sys/net/ipv4/ip_forward

     或者vim /etc/sysctl.conf

             net.ipv4.ip_forward=1

         sysctl -p

C机:仅主机网卡,作为内网。IP:192.168.199.142

   添加路由记录route add default gw 192.168.199.138


实现SNAT:

在NAT转换机上:

iptables -t nat -A POSTROUTING -s 192.168.199.0/24 -j SNAT --to-source 172.17.123.224   转换源地址

效果:实现内网可以访问外网,外网不可以访问内网

C机:

技术分享

A机:

技术分享 


实现DNAT:

在NAT转换机上:

iptables -t nat -I PREROUTING 1 -d 172.17.123.224 -j DNAT --to-destination 192.168.199.142   转换目标地址

效果:实现外网访问内网

A机:

技术分享 

 

实现REDIRECT转发:通过改变目标IP和端口,将接受的包转发至不同端口

本例实现目标地址是本机192.168.199.143端口是80的包转发到本机8080端口:

准备工作:修改192.168.199.143主机的httpd服务的监听端口为8080

 vim /etc/httpd/conf/httpd.conf

     Listen 8080

 systemctl restart httpd  

防火墙策略:

iptables -t nat -A PREROUTING -d 192.168.199.143 -p tcp --dport 80 -j REDIRECT --to-ports 8080

效果:访问网页的时候不需要加上8080端口也可以访问,因为会把80转换为8080

技术分享 


在centos7上还可以用firewalld实现:

firewall-cmd --add-masquerade   启用伪装

firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.199.143

也可以实现转发到远程主机,只需要更改为远程主机ip即可

技术分享



实验----SNAT,DNAT,转发

标签:nat

原文地址:http://13150617.blog.51cto.com/13140617/1977830

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!