Iptables(二):NAT转换

原创
2016/03/12 16:48
阅读数 103

Iptables(二):NAT转换

简介:

  NET:Network Address Translation,网络地址转换;是一种在IP封包通过路由器或防火墙时重写源IP地址或目的IP地址的技术。

  早期发明NAT是为了在网络中隐藏自己真实的IP,以实现一定的安全保护功能;随着互联网的飞速发展,ipv4地址逐渐耗尽,NAT作为一种解决IPv4地址短缺以避免保留IP地址困难的方案而流行起来的。

  SNAT:源地址转换

  DNAT:目标地址转换

  PNAT:端口转换

实验拓扑:

输入图片说明

实验目标:

  内网访问内外网web服务器,地址解析为防火墙的外网地址;

  外网访问内网web服务器,地址解析为防火墙的内网地址;

实验环境:

OS:CentOS6.7-x86_64

防火墙:

eth0外网IP:172.16.0.1/16
eth1内网IP:192.168.0.1/24

外网web服务器:

IP:172.16.0.2/16
网关:172.16.0.1

内网web服务器:

IP:192.168.0.2/24
网关:192.168.0.1

实验流程:

所有主机关闭selinux

两台web服务器关闭防火墙

外网web服务器:

安装httpd服务:

[root@node1 ~]# yum install httpd

提供web页面文件:

[root@node1 ~]# echo "domain1.chencer.org" > /var/www/html/index.html

启动httpd服务并设置为开机自动启动:

[root@node1 ~]# service httpd start
[root@node1 ~]# chkconfig httpd on

内网web服务器:

安装httpd服务:

[root@node2 ~]# yum install httpd

提供web页面文件:

[root@node2 ~]# echo "domain2.chencer.org" > /var/www/html/index.html

启动httpd服务并设置为开机自动启动:

[root@node2 ~]# service httpd start
[root@node2 ~]# chkconfig httpd on

防火墙配置:

启动iptables服务,并设置为开机自动启动:

[root@node0 ~]# service iptables start
[root@node0 ~]# chkconfig iptables on

打开网络转发功能:

[root@node0 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@node0 ~]# sysctl –p

配置SNAT:允许内网多台主机通过1个外网IP访问外网资源;

[root@node0 ~]# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 172.16.0.1

配置DNAT:允许内网多台web服务器通过1个外网IP提供服务;

[root@node0 ~]# iptables -t nat -A PREROUTING -d 172.16.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2

保存防火墙配置:

[root@node0 ~]# service iptables save
iptables:将防火墙规则保存到 /etc/sysconfig/iptables:     [确定]

访问测试:

内网主机访问外网web服务:

[root@node2 ~]# curl http://172.16.0.2/
domain1.chencer.org

外网主机访问内网web服务:

[root@node1 ~]# curl http://192.168.0.2
domain2.chencer.org
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
1 收藏
1
分享
返回顶部
顶部