如何做到这一点:
有:
- 森托斯 6.5
- WAN1 eth0 44.44.44.44(DEFROUTE=yes)
- WAN2 ppp0 95.95.95.95 (DEFROUTE=no)
- HTTP 服务器工作且仅在 eth0 中可用
- DNS 服务器工作,但端口 53 在 eth0 中被阻止
- ping 仅在 eth0 中可用
- 客户端可以通过 eth0 访问 HTTP 和 PING
- ISP 阻塞 eth0 中的 53 端口
- ISP 在 ppp0 中阻止端口 80
需要:
- 客户端 PC 必须可以 PING eth0 和 ppp0
- 客户端 PC 必须可以在 eth0 中保持对 HTTP 的访问
- 客户端 PC 必须可以访问 ppp0 中的 DNS
我试着做这个,但直到最后才明白怎么做:
echo 2 ppp0_OUT >> /etc/iproute2/rt_tables
ip route add default via 95.95.95.95 dev ppp0 table ppp0_OUT
iptables -A PREROUTING -i ppp0 -t mangle -j MARK --set-mark 2
ip rule add fwmark 2 table ppp0_OUT
ip route flush cache
sysctl -w net.ipv4.conf.eth0.rp_filter=0
sysctl -w net.ipv4.conf.ppp0.rp_filter=0
问题:
1)如何使客户端PC可以同时通过eth1和ppp0访问服务器
2) 客户端 PC 必须可以通过 ppp0 访问 DNS 并通过 eth0 访问 HTTP
这是非常简单的答案:)
只需要:
答案:WAN1 有选项DEFROUTE=yes,当 WAN1 启动时,他是:
WAN2没有默认路由!!!我们需要为 WAN2 创建默认路由,它是一个简单的脚本: