目录
一:SNAT原理与应用
1.SNAT介绍
2.SNAT 应用环境
3.SNAT原理
二:SNAT配置
第一步:设置各个端口的网卡
1.先准备客户机、web服务器、网关服务器
2.网关服务器设置
(1)添加网卡
(2)修改ens32 为网关服务器的内网网卡
(3)修改新加网卡ens33为外网网卡
3.客户机设置
4.web服务器设置
(1)设置网卡
(2)下载http服务并开启
第二步:网关服务器设置同意路由转发
第三步:客户机初步访问web服务器httpd服务
(1) 运用Linux的火狐浏览器,直接通过IP进行访问:
(2)查看web服务器的http访问日志:
(3)SNAT源地址转换
(4) 设置DNAT规则
(5)进行验证
三:防火墙规则的备份和还原
1.导出(备份)所有表的规则
2.导入(还原)规则
3. iptables服务启动时会自动还原规则
(1)对文件进行备份
(2)把iptables-save保存过的文件放在/etc/sysconfig/目录下的iptables文件中
(3) 修改权限
(4)查看规则配置
(5) 关闭iptables服务(清空iptables)
(6)重启iptables服务
一:SNAT原理与应用
1.SNAT介绍
SNAT:内部地址要访问公网上的服务时(如web访问),内部地址会主动发起连接,由路由器或者防火墙上的网关对内部地址做个地址转换,将内部地址的私有IP转换为公网的公有IP,网关的这个地址转换称为SNAT,主要用于内部共享IP访问外部。
2.SNAT 应用环境
SNAT 应用环境:局域网主机共享单个公网IP地址接入Internet(私有不能早Internet中正常路由)
3.SNAT原理
修改数据包的源地址
二:SNAT配置
第一步:设置各个端口的网卡
1.先准备客户机、web服务器、网关服务器
2.网关服务器设置
(1)添加网卡
(2)修改ens32 为网关服务器的内网网卡
(3)修改新加网卡ens33为外网网卡
cp ifcfg-ens32 ifcfg-ens33 #复制网卡配置文件
#注:将UUID删除
3.客户机设置
#修改网卡配置文件
[root@localhost /]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
#重启网卡
[root@localhost /]# systemctl restart network
在/var/log/html/目录中重定向输出hello world!在test.html文件中
4.web服务器设置
(1)设置网卡
(2)下载http服务并开启
yum install -y httpd
systemctl restart httpd
第二步:网关服务器设置同意路由转发
#永久启用
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p #读取修改后的配置
#临时开启
echo 1 > /proc/sys/net/ipv4/ip_forward
或
sysctl -w net.ipv4.ip_forward=1
第三步:客户机初步访问web服务器httpd服务
(1) 运用Linux的火狐浏览器,直接通过IP进行访问:
(2)查看web服务器的http访问日志:
#追踪更新访问者访问httpd服务的日志
tail -f /var/log/httpd/acces_log
(3)SNAT源地址转换
SNAT转换1:固定的公网IP地址:
iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens33 -j SNAT --to 12.0.0.1
或
iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens33 -j SNAT --to-source 12.0.0.1-12.0.0.10
内网IP 出站 外网网卡 外网IP或地址池
SNAT转换2:非固定的公网IP地址(共享动态IP地址):
iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens33 -j MASQUERADE
(4) 设置DNAT规则
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.80.10
或
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.80.10
入站 外网网卡 外网IP 内网服务器IP
iptables -t nat -A PREROUTING -i ens33 -p tcp --dport 80 -j DNAT --to 192.168.80.10-192.168.80.20
DNAT转换2:发布时修改目标端口
#发布局域网内部的OpenSSH服务器,外网主机需使用250端口进行连接
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 250 -j DNAT --to 192.168.80.10:22
#在外网环境中使用SSH测试
ssh -p 250 root@12.0.0.1
yum -y install net-tools #若没有 ifconfig 命令可提前使用 yum 进行安装
ifconfig ens33
(5)进行验证
客户端输入私网网址192.168.80.128/test.html
三:防火墙规则的备份和还原
1.导出(备份)所有表的规则
iptables-save > /opt/iptables
2.导入(还原)规则
iptables-restore < /opt/ipt.txt
3. iptables服务启动时会自动还原规则
将iptables规则文件保存在 /etc/sysconfig/iptables 中,iptables服务启动时会自动还原规则
iptables-save > /etc/sysconfig/iptables
systemctl stop iptables #停止iptables服务会清空掉所有表的规则
systemctl start iptables #启动iptables服务会自动还原/etc/sysconfig/iptables 中的规则
(1)对文件进行备份
mv iptables{,.bakj}
(2)把iptables-save保存过的文件放在/etc/sysconfig/目录下的iptables文件中
iptables-save > /etc/sysconfig/iptables
(3) 修改权限
之前的移动的iptables文件权限是600,所以我们也要改为600
(4)查看规则配置
(5) 关闭iptables服务(清空iptables)
systemctl stop iptables.service
(6)重启iptables服务
systemctl start iptables.service