双网卡路由选择问题

tiger3002 2012-02-19 06:28:31
请问各位大牛,电脑安装centos5.5操作系统作为邮件服务器(postfix),有两个网卡,一个是通过拨号直接连接电信(接口ppp0,公网ip),另一个是通过内网(10.*.*.*)经过路由器连接外网(接口eth0),现在我希望主机访问外网的流量通过eth0访问(比如自动更新),只有邮件服务器发送邮件时使用ppp0接口。我曾使用iptables 在eth0接口上禁止所有连接外部25端口的通信,但是邮件服务器只知道使用eth0发送,失败后不会再选择ppp0接口。(应该是eth0接口先启动,eth0的路由优先级比较高吧)
...全文
224 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiger3002 2012-02-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wolf0403 的回复:]

引用 5 楼 tiger3002 的回复:

我按照上面说的这样做的:
iptables -t mangle -A PREROUTING -p tcp --dport 25 -j MARK --set-mark 1
ip route add 10.16.0.0/24 dev eth0 src 10.16.0.102 table 1
ip route add default via 10……
[/Quote]

我参照那篇文章各个方式试验了一变也不行,同时还参考了这篇文章http://www.chinaitpower.com/2005September/2005-09-13/199474.html也实验了一下,还是不行,能不能给个实际的操作,我对iptables不是很熟悉。
Wolf0403 2012-02-20
  • 打赏
  • 举报
回复
另外为什么两个 mark 不一样?
Wolf0403 2012-02-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 tiger3002 的回复:]

我按照上面说的这样做的:
iptables -t mangle -A PREROUTING -p tcp --dport 25 -j MARK --set-mark 1
ip route add 10.16.0.0/24 dev eth0 src 10.16.0.102 table 1
ip route add default via 10.16.0.1 dev eth0 table 1
……
[/Quote]

看看回复里的解法。首先 PREROUTING 可能有问题,然后试试下面说的 SNAT。
tiger3002 2012-02-19
  • 打赏
  • 举报
回复
我按照上面说的这样做的:
iptables -t mangle -A PREROUTING -p tcp --dport 25 -j MARK --set-mark 1
ip route add 10.16.0.0/24 dev eth0 src 10.16.0.102 table 1
ip route add default via 10.16.0.1 dev eth0 table 1
iptables -t nat -A POSTROUTING -m mark --mark 5 -j SNAT --to 115.168.64.90
结果还是不行,发送的邮件还是从eth0(10.16.0.102)地址发送的。
Wolf0403 2012-02-19
  • 打赏
  • 举报
回复
http://www.linuxquestions.org/questions/linux-networking-3/routing-based-on-destination-port-687320/ 参考这里,好像情况很相似。
Wolf0403 2012-02-19
  • 打赏
  • 举报
回复
默认路由是 eth0,所以所有流量都会从 eth0 出去。路由只跟地址有关,跟端口无关,不存在说端口失败了试另一个路径这一说。而且 ppp0 的掩码是 /32 的,没有明确的 host 路由,不会走这条线出去。
tiger3002 2012-02-19
  • 打赏
  • 举报
回复
我用route -n命令查看了一下,结果如下:
Destination gateway genmask flags netric ref use lface
115.168.64.90 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
10.16.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 10.16.0.1 0.0.0.0 UG 0 0 0 eth0
Wolf0403 2012-02-19
  • 打赏
  • 举报
回复
路由表是怎样的?route -n 看。

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧