SNAT策略概述
SNAT策略的典型应用环境
局域网主机共享单个公网IP地址接入Internet
SNAT策略的原理
源地址转换,Source Network Address Translation
修改数据包的源地址
SNAT的典型应用环境
局域网共享上网
项目实践
■ 实验坏境
一台客户机充当内网:192.168.74.10
一台客户机充当外网:192.168.100.120
一台客户机充当防火墙:网卡ens33:192.168.74.2
网卡ens36:192.168.100.110
■ 需求描述
内网可以访问外网,外网可以访问到内网的apache网页
■ 测试步骤
1、内网上设置
设置网关为中间防火墙的IP地址
[root@server1 ~]# systemctl restart network //重启网卡
2、防火墙设置
配置2张网卡,分别为ens33,ens36(外网卡)
[root@localhost ~]# echo "net.ipv4.ip_forward=1" > /etc/sysctl.conf //开启路由服务
[root@localhost ~]# sysctl -p
[root@localhost ~]# iptables -F
[root@localhost ~]# iptables -n -L
[root@localhost ~]# iptables -F -t nat
[root@localhost ~]# iptables -n -L
[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.74.0/24 -o ens36 -j SNAT --to-source 192.168.100.110
中间的防火墙充当路由器,开启nat功能
防火墙上做策略,指定192.168.74.0/24的主机转换成192.168.100.110
[root@localhost ~]# iptables -t nat -L POSTROUTING
可以访问外网
内网可以访问外网
内网上输入
[root@server1 ~]# yum -y install httpd //内网安装apache服务
[root@server1 ~]# systemctl start httpd
[root@server1 ~]# echo "this is my web " > /var/www/html/index.html
[root@server1 ~]# iptables -F
[root@server1 ~]# netstat -anpt | grep httpd //查看开启端口
[root@localhost ~]# iptables -t nat -A PREROUTING -i ens36 -d 192.168.100.110 -p tcp --dport 80 -j DNAT --to-destination 192.168.74.10
[root@localhost ~]# iptables -t nat -L // 防火墙上做策略,指定访问网关的apache服务映射给内网服务器
外网上输入
[root@server3 ~]# curl http://192.168.100.110
this is my web