本文翻译自:Setting Up Gateway Using iptables and route on Linux。
网络资源的分享是非常重要的,而建立起一个网关来进行网络分享是一个比较好的解决方案。在Linux系统中创建和设置网关非常简单,成本低廉,而且性能可靠。
1 Linux网络设置
假定我们要处理的Linux有如下的配置:
NIC1: eth0, ip: 192.168.0.1,连接到局域网(LAN)
NIC2: eth1, ip: 1.2.3.4, 连接到公网
网络拓扑图
现在我们希望将分享这台机器的网络连接给LAN网络上的其他电脑(ip: 192.168.0.0/16)
2 设置网关
下面提到的所有操作都需要root权限来执行。
2.1 操作IP路由表
ip route add 192.168.0.0/16 dev eth0
# or
# route add -net 192.168.0.0/16 dev eth0
2.2 启用Linux IP 转发(IP Forwarding)
sysctl -w net.ipv4.ip.forward=1
# or
# echo 1 > /proc/sys/net/ipv4/ip_forward
你也可以直接编辑/etc/sysctl.conf来持久化这一设置:
net.ipv4.ip_forward = 1
2.