1. SNAT策略概述
1.1 原理
源地址转换
修改数据包的源地址
2. 实验
2.1 过程
先创建三个虚拟机
第一台虚拟机使用VM1网卡
第二台虚拟机使用VM1网卡和NAT模式
第三台虚拟机使用NAT模式
先给三台虚拟机设置永久挂载,ip地址设置,永久关闭防火
墙和内核
第一台配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33 设置IP地址
systemctl restart network 重启网卡
vi /etc/hosts 设置映射关系
20.0.0.12 www.sina.com.cn
第二台配置
增加网卡ens37
nmcli connection 查看一下ens37
UUID号复制
cd /etc/sysconfig/network-scripts/ 到这个目录下
vi ifcfg-ens33
cp ifcfg-ens33 ifcfg-ens37
vi ifcfg-ens37 编辑网卡ens37
systemctl restart network
yum -y install iptables-services
vi /etc/sysctl.conf 编辑网关的路由转发
net.ipv4.ip_forward=1
sysctl -p 查看一下生效没有
第三台配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33 编辑IP地址信息
yum -y install httpd 安装阿帕奇服务测试
Systemctl start httpd 开启阿帕奇服务
2.2 测试
虚拟机2的iptables这时候是关闭的,虚拟机1ping3的IP地址是能ping通的虚拟机3的这时候把虚拟机2iptables开启,这时候虚拟机1是无法ping通虚拟机3的地址的这时候就需要做DNAT策略,打开虚拟机2
iptables -F 清空防火墙规则
iptables -X 删除自定义链
iptables -Z 清空计数器
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -p tcp --dport 80 -j SNAT --to-source 20.0.0.26 192.168.100.0网段的地址伪装成20.0.0.26
设置好之后,虚拟机又能ping通虚拟机3了
2.3 共享动态ip上网
i
ptables -t nat -L --line-numbers 用数字的形式显示
nat中的所有的规则
iptables -t nat -D POSTROUTING 1 删掉nat里面的第一条规则
iptables -t nat -L --line-numbers
iptables -F 清空防火墙规则
iptables -X 删除自定义链
iptables -Z 清空计数器
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -
o ens33 -j MASQUERADE
这样子也可以实现虚拟机1ping通虚拟机3
2.4 配置openssh服务
iptables -t nat -A PREROUTING -i ens33 -d 20.0.0.26 -p tcp --dport 2222 -j DNAT --to-destination 192.168.100.11:22 设置外网的远程登录端口号为2222
ssh root@20.0.0.26 -p 2222 看一下能不能登录
iptables-save > /opt/iprules_all.txt 备份所有表的规则
iptables-restore < /opt/iprules_all.txt 从备份中恢复规则
iptables-save > /etc/sysconfig/iptables 这样子覆盖可以开机就自动运行设置号的规则
/etc/sysconfig/iptables 这个文件是默认配置文件,系统开机是自动运行这里面的规则清空所有防火墙规则,关闭然后在开启防火墙iptable就可以了