我已经将 netatalk 作为 AFP 服务器运行,这样我就可以在 LAN 上进行时间机器备份。只要 iptables 接受 LAN 上的所有传入流量,它就可以完美工作,但我正在尝试加强服务器上的安全性,因此我将默认 iptables 输入策略设置为 REJECT,现在我需要打开所需的端口时光机器。我用来[ferm][1]
配置 iptables。
我在中添加了以下规则ferm.conf
:
proto tcp saddr $LAN_SUBNET dport afpovertcp ACCEPT;
它生成这个 iptable 规则:
-A INPUT --protocol tcp --source 192.168.42.0/24 --dport afpovertcp --jump ACCEPT
但当我在 Finder 中浏览网络时,Time Machine 服务器仍然没有显示。
还需要对 LAN 上的流量开放哪些其他端口?
答案1
我打开了这些端口,Time Machine 备份现在正在工作:
afpovertcp mdns svrloc at-rtmp at-nbp at-echo at-zis 1900
为了生成 iptables 规则,我添加了以下内容ferm.conf
:
# netatalk daemon ports for AFP Time Machine server
@def $PORT_TIME_MACHINE = (afpovertcp mdns svrloc at-rtmp at-nbp at-echo at-zis 1900);
# allow AFP connentions on for Time Machine on LAN
proto (udp tcp) saddr $LAN_SUBNET dport $PORT_TIME_MACHINE ACCEPT;
新的 iptables 规则:
-A INPUT --protocol udp --source 192.168.42.0/24 --dport afpovertcp --jump ACCEPT
-A INPUT --protocol udp --source 192.168.42.0/24 --dport mdns --jump ACCEPT
-A INPUT --protocol udp --source 192.168.42.0/24 --dport svrloc --jump ACCEPT
-A INPUT --protocol udp --source 192.168.42.0/24 --dport at-rtmp --jump ACCEPT
-A INPUT --protocol udp --source 192.168.42.0/24 --dport at-nbp --jump ACCEPT
-A INPUT --protocol udp --source 192.168.42.0/24 --dport at-echo --jump ACCEPT
-A INPUT --protocol udp --source 192.168.42.0/24 --dport at-zis --jump ACCEPT
-A INPUT --protocol udp --source 192.168.42.0/24 --dport 1900 --jump ACCEPT
-A INPUT --protocol tcp --source 192.168.42.0/24 --dport afpovertcp --jump ACCEPT
-A INPUT --protocol tcp --source 192.168.42.0/24 --dport mdns --jump ACCEPT
-A INPUT --protocol tcp --source 192.168.42.0/24 --dport svrloc --jump ACCEPT
-A INPUT --protocol tcp --source 192.168.42.0/24 --dport at-rtmp --jump ACCEPT
-A INPUT --protocol tcp --source 192.168.42.0/24 --dport at-nbp --jump ACCEPT
-A INPUT --protocol tcp --source 192.168.42.0/24 --dport at-echo --jump ACCEPT
-A INPUT --protocol tcp --source 192.168.42.0/24 --dport at-zis --jump ACCEPT
-A INPUT --protocol tcp --source 192.168.42.0/24 --dport 1900 --jump ACCEPT
这些资源很有帮助:Arch wiki 上的 Netatalk 文章;Apple 软件产品使用的 TCP 和 UDP 端口