实现方式:
- iptables命令
- 防火墙实现
具体操作:
可以联网的主机
# 安装iptables的服务软件
yum install iptables-services -y
# 启动该服务
systemctl restart iptables
systemctl enable iptables
# 关闭防火墙firewalld
systemctl stop firewalld
systemctl disable firewalld
# 清空原有的iptables的策略
iptables -nL
iptables -F
service iptables save
# 添加iptables策略,wlp3s0是本机可联网的网卡,192.168.1.111是本机可联网的ip;
iptables -t nat -A POSTROUTING -o wlp3s0 -j SNAT --to-source 192.168.1.111
# 转发网络数据包的。也就是这个服务器如果要作为网关的时候才用;
sysctl -a | grep ip_forward
vim /etc/sysctl.conf
@@@
编辑内容:
net.ipv4.ip_forward = 1
@@@
想联网的主机设置
- 只需要设置主机网关为可联网那台主机的ip即可
vim /etc/sysconfig/network
@@@
编辑内容:
GATEWAY=172.25.254.250
@@@
systemctl restart network
ping www.baidu.com # 可以ping通即可;
可联网主机不确定时
如果可联网的主机ip不确定时,那么刚才的iptables策略会随着主机ip的变化而变化,因此为了让永久生效,我们编辑一个脚本,如果ip变化,重新执行下面脚本即可:
#!/bin/bash
IP=`ifconfig wlp3s0 | grep inet |grep -v "inet6"| awk '{print $2}'`
iptables -F
iptables -t nat -A POSTROUTING -o wlp3s0 -j SNAT --to-source ${IP}
service iptables save