我确信这是一个简单的路由问题,但我已经为此苦苦思索了几个小时。
Centos 5. eth1 私有。10.0.0.12/24 gw 10.0.0.1 eth0 公共 216.234.xx gw 216.234.xx
路由命令
Destination Gateway Genmask Flags Metric Ref Use Iface
216-234-x-x. 216-234-x-x. 255.255.255.255 UGH 0 0 0 eth0
216.234.x.x * 255.255.255.248 U 0 0 0 eth0
10.0.0.0 * 255.255.255.0 U 0 0 0 eth1
link-local * 255.255.0.0 U 1002 0 0 eth0
link-local * 255.255.0.0 U 1003 0 0 eth1
default 10.0.0.1 0.0.0.0 UG 0 0 0 eth1
对专用接口上的 ping 响应良好。可以路由到互联网。但我无法让它在其公共接口上响应 ping。
这是一个 FreePBX 服务器。到 216.234.xx 的路由是到我的 sip 提供商。
我是一个 linux 白痴。我已经搜索了所有可能的 linux 路由 q 和 A,但我认为我没有在寻找正确的路由。
谢谢!
编辑。我只希望 SIP 和 SSH 进出公共接口。否则,其他一切都应该从私有接口出去。
我假设您不是从 SIP 提供商 IP 进行 ping 操作。
问题是 ping 响应的路由是通过 eth1,它不会到达源。您需要源策略路由来获得返回 eth0 的响应。
假设 216.234.0.1 是您的网关,216.234.0.10 是您的公网 IP。
创建一个新的路由表(只需要做一次)。
将默认路由添加到指向 eth0 的新路由表。
添加规则以匹配以公共 IP 为源的数据包并使用新表。