我见过类似的帖子,但它们对我没有帮助。
我在我的 VPS 上使用 Ubuntu 14.04.2 LTS(GNU/Linux 2.6.32-042stab108.5 x86_64)。
我在端口 9000 上运行了一个 node.js 应用程序,但是此端口已关闭,因此我无法通过互联网使用网络浏览器查看我的网页。
我开放的端口:
sudo netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 752/apache2
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 366/vsftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 454/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 611/master
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 485/mongod
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 599/mysqld
tcp6 0 0 :::22 :::* LISTEN 454/sshd
tcp6 0 0 :::25 :::* LISTEN 611/master
我试图执行以下命令:
sudo iptables -I INPUT -p tcp -m tcp --dport 9000 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 9000 -j ACCEPT
但它对我没有帮助。此外,/etc/iptables.rules 文件丢失,因此我无法使用以下命令保存更改:iptables-save > /etc/iptables.rules
你能帮助我吗?谢谢。
答案1
尝试一下
sudo iptables -I INPUT -p tcp -s 0.0.0.0/0 --dport 9000 -j ACCEPT
使改变永久生效
iptables-save > /etc/iptables.conf # Save this changes to file
touch /etc/network/if-up.d/iptables # Create file to call conf from
echo "iptables-restore < /etc/iptables.conf" >> /etc/network/if-up.d/iptables # Add this line to this file
chmod +x /etc/network/if-up.d/iptables # Make the script executable
原来的来源
答案2
如果您没有看到应用程序中的port 9000
命令没有运行,或者更确切地说,您的服务器不希望在该端口上进行连接。netstat
listening