我的 VPN 过滤了端口 25(以防止垃圾邮件),但我的 ISP 没有过滤。VPN 接管了所有流量并更改了默认网关?我如何绕过 VPN 发送邮件?我希望除端口 25 之外的所有传出流量继续使用 VPN。
我的设置:
router 192.168.0.1 (this is the default gateway when VPN is not connected)
eth0 192.168.0.185
tun0 10.8.0.202
我尝试使用 iptables 通过 --dport 25 来做一些事情,但是我真的不知道如何绕过防火墙。
我正在使用 Ubuntu 12.10。
另一件事是 192.168.0.185 运行多个服务器(Web、邮件、ssh 等)。192.168.0.1 路由器将这些端口(80、443 等)上的请求转发到 192.168.0.185。为了阻止 VPN 干扰此操作,我运行:
ip rule add from 192.168.0.185 table 10
ip route add default via 192.168.0.1 table 10
除了邮件服务器之外,我的所有服务器都开始工作了(因为端口 25 存在同样的问题?),所以我将 postfix 改为在 2525 上运行(并让路由器转发端口 25 到那里),这样它就可以正常工作了。
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.8.0.201 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
10.8.0.1 10.8.0.201 255.255.255.255 UGH 0 0 0 tun0
10.8.0.201 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
46.21.99.21 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0
128.0.0.0 10.8.0.201 128.0.0.0 UG 0 0 0 tun0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
答案1
我想到两种可能性:
向您的外部邮件服务器的 IP 地址添加一条静态路由,该路由明确通过以太网接口而不是默认路由进行路由。
将您的外发邮件发送到提交端口(587)上的外部邮件服务器。
不过,最好的答案是在与 VPN 不同的(虚拟)机器上运行邮件服务器,这样您就可以适当地路由其流量。路由只能通过 IP 地址/网络指定,而不能通过端口号指定。