家里有一台 Mac Lion Server 运行邮件服务器。我有一个 VPS,用作接收邮件的中继,以防止我的家庭服务器出现故障时出现问题。由于我的 ISP 有时会阻止端口 25,因此我想使用不同的端口来接收邮件(从我的 VPS 到我的家庭服务器)。
我在端口 26 上设置了所有内容,并更改了路由器(AirPort Extreme)中的端口转发设置,但不知何故我的 VPS 无法连接。
我的家庭服务器:Mac OS X Lion Server 10.7.1
我的 VPS:带有 DirectAdmin 1.39.2 的 CentOS 5.0
正在起作用的是:
- 通过端口 25 和 26 上的内部 IP,从家庭网络中的客户端通过 Telnet 连接到家庭服务器;
- 通过端口 25 和 26 上的外部主机名从家庭网络中的客户端进行 Telnet 连接到家庭服务器;
- 对25、26端口进行端口扫描(显示服务器正在响应);
- 通过端口 25 和 26 上的外部主机名从其他人的 VPS 进行 Telnet 连接到家庭服务器;
- 仅通过端口 25 上的外部主机名从我自己的 VPS 进行 Telnet 连接到家庭服务器。
不起作用的是:
- 通过端口 26 上的外部主机名从我自己的 VPS 进行 Telnet 连接到家庭服务器。
会是什么呢?
- 主服务器上的监听端口:不可以,我可以从本地客户端或另一个 VPS 连接到端口 26;
- 家庭服务器上的防火墙:无,未打开,与上述相同;
- 路由器上的端口转发:没有,我可以从另一个 VPS 连接,并且端口扫描显示响应;
- 家庭服务器和 VPS 之间的连接:否,其他连接(例如端口 25 或简单的 ping)可以工作。
- VPS 上的防火墙:我不确定,但是即使关闭 iptables,我也无法 telnet 到端口 26,所以我猜这不是防火墙的问题。
例子:
在本地客户端上:
$ telnet 10.0.1.11 26
Trying 10.0.1.11...
Connected to home.removed.info.
[SMTP connection]
$ telnet 82.74.112.32 26
Trying 82.74.112.32...
Connected to removed.dynamic.ziggo.nl.
[SMTP connection]
在我的 VPS 上:
# telnet home.removed.info 25
Trying 82.74.112.32...
Connected to home.removed.info.
[SMTP connection]
# telnet home.removed.info 26
Trying 82.74.112.32...
telnet: connect to address 82.74.112.32: No route to host
在另一个 VPS 上:
$ telnet home.removed.info 26
Trying 82.74.112.32...
Connected to home.removed.info.
[SMTP connection]
我自己的 VPS 上的 iptables 配置(无法连接端口 26):
# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
答案1
授予访问权限的防火墙规则通常会限制授予访问权限的对象 - 两个 VPS 是否位于同一个 IP 块上?检查所涉及的防火墙规则是否符合 IP 要求(在每个 Lion 盒、Airport extreme 和 VPS 盒上)。