晚上给 biu.zacpark 服务添加一个新的节点,托管在 Vultr 上位于 Tokyo 的服务器,之前 biu.zacpark 所有的节点都是在 DigitalOcean 上购买的,第一次用 Vultr 的主机,配置过程一切顺利,就是在最后一步配置完成后,一直无法链接。
找了半天原因确定是服务器防火墙的问题,在使用 DigitalOcean 的服务器时配置完新主机默认就直接可以正常运行 shadowsocks 服务,而 Vultr 的主机运行 Shadowsocks 服务时,服务器运行正常,客户端却一直无法连接。
通过 $ netstat -anp | grep 你的端口
查看是否有来自客户端 IP 的连接。
如果没有,则通过 $ iptables -I INPUT -p tcp -m tcp --dport 12450: -j ACCEPT
来允许来自特定端口的连接。
注意,上文命令中,端口数在半角冒号之前,意为允许 12450 及以上的端口,如果希望只允许某个数字段的端口,可以以 12450:15550
这样的方式进行。
执行完端口「放行」的命令,再执行 service iptables save
,这样才会把规则保存到配置文件(/etc/sysconfig/iptables
)中,下次系统启动自动加载。
配置完防火墙,使用 service iptables restart
重启配置。
注意,第三步很重要,否则配置的端口规则在服务器重启之后就会失效,还要再执行一次才能生效,所以一定要在配置完成后把规则写入到配置文件中,来实现下次启动系统自动加载。
参考资料:https://prinzeugen.net/build-shadowsocks-sharing-site-with-ss-panel/