Linux 系统的机器很简单就可以配置为路由器,使内网的其他机器能通过该机器连接到其他网络(如公网)。
首先要允许 IP 转发:
编辑 /etc/sysctl.conf
文件,添加一行 net.ipv4.ip_forward = 1
。
使用下述命令重载配置
$ sysctl -p
或使用下述命令重启网络
$ systemctl restart network
这样可以使配置立即生效。
假设当前内网段是 192.168.1.0/24
,本机在该内网的 IP 是 192.168.1.1
。添加 SNAT 规则:
$ iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 192.168.1.1
如果用的是 CentOS 系统,还需要停止路由器的 firewalld 服务
$ systemctl disable firewalld && systemctl stop firewalld
现在,对内网的其他机器配置其到网关的路由记录:
$ route add -net 0.0.0.0/0 gw 192.168.1.1
配置网关的方法有很多,比如可以在路由器上搭建 DHCP 服务实现,这里不再赘述。
测试一下:
$ ping www.baidu.com