我的 isp 有 20 个 ips。我将它们绑定(bind)到运行 centos 的路由器盒。我应该设置什么命令,以什么顺序设置,以便我 lan 上的其他盒子,基于它们的 mac 地址或 192 ips,我可以让它们在特定的 ips 上路由出我的盒子。例如我想让 mac addy xxx:xxx:xxx0400
出去 72.049.12.157
和 xxx:xxx:xxx:0500
出去 72.049.12.158
.
使用iptables
设置NAT
。
iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 72.049.12.157
iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 72.049.12.158
这会导致 192.168.0.0
子网上的所有 ip 都具有 72.049.12.157
的“外部”ip,而 192.168.1.0
子网的“外部”IP 为 72.049.12.158
。对于 MAC 地址匹配,使用 -m mac --mac-source MAC-ADDRESS
代替 -s 192.168.0.0/24
参数
不要忘记激活 ip 转发:
cat /proc/sys/net/ipv4/ip_forward
如果上面的代码返回一个 0
那么它就不会工作,你必须启用它。不幸的是,这是特定于发行版的,我不了解 CentOS。
要快速破解,请执行以下操作:
echo 1 > /proc/sys/net/ipv4/ip_forward
我是一名优秀的程序员,十分优秀!