Debian做软路由的好处一是可以解决IP地址不足的问题,内网机器通过软路由共享一个公网IP连入 internet,另外就是软路由本身就是做防火墙,避免内网机器暴露。

其实这功能早在 n 年前就很成熟了,我印象中 99 年左右的 redhat 6 就已经支持的非常不错。

debian 下配置过程如下:

假如你的 debian 已经有了 eth0 并且配置了公网 IP

1
vim /etc/network/interfaces

类似 eth0,添加 eth1 为内网ip: 192.168.1.1 ,修改 eth0 为外网ip

1
vim /etc/sysctl.conf

去掉 net.ipv4.ip_forward=1 前面的 #

立即生效

1
echo 1 > /proc/sys/net/ipv4/ip_forward

防火墙规则设定

1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

重启网络

1
/etc/init.d/networking restart

设置自启动

1
vim /etc/rc.local

将上述最后两个步骤的指令添加到 exit 0 前面实现自启动

这样连接 eth1 的内网机器将网关设置为 192.168.1.1 即可通过该机连入 internet 。

上述指令我是在 exsi 的虚拟系统里做的,所以添加网卡啥的都简单的很,单网卡也可以用类似的方式,只不过不是 eth1 了。可上网搜索之。

刚记录完这篇,顺手搜了下,原来有更简单的 ,配置完了内外网ip之后 apt-get install ipmasq 即可,吐血!