如何在 Ubuntu 11.04 上从 iptables/防火墙打开 UDP 端口 7777

如何在 Ubuntu 11.04 上从 iptables/防火墙打开 UDP 端口 7777

我需要从运行 Ubuntu 11.04 的 VPS 启用端口 7777,我已从此处列出的 iptables 中添加了规则,

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere            udp dpt:7777 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere            udp dpt:7777 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere            udp dpt:7777 

但是,当我通过 telnet 连接到端口 7777 时,系统显示我方拒绝连接,telnet xx.xx.xx.xx 7777即使我使用 telnet 连接到服务器telnet localhost 7777

我应该如何有效地打开它以允许连接到我的服务器的端口 7777?

答案1

telnet使用 TCP。如果您指定的端口上没有 TCP 侦听器,则连接请求将被拒绝。请尝试使用nc

$ nc -zu <IP> 7777
$ echo $?
0

退出状态返回0表示该端口是开放的。

或者nmap

$ sudo nmap -p 7777 -sU -P0 <IP>

例如:

$ sudo nmap -p 9 -sU -P0 192.168.6.142

Starting Nmap 5.51 ( http://nmap.org ) at 2012-08-30 21:31 ICT
Nmap scan report for (192.168.6.142)
Host is up.
PORT  STATE         SERVICE
9/udp open|filtered discard

Nmap done: 1 IP address (1 host up) scanned in 2.12 seconds

答案2

您实际上是允许所有流量通过防火墙。所有链的默认策略都设置为,ACCEPT并且您没有任何DROP规则。

至于连接被拒绝错误,您正在尝试使用 telnet 进行连接,这会尝试建立基于 TCP 的连接。要测试 UDP 连接,您需要使用netcatnc-u选项。

您可以检查请求的服务是否正在监听端口 7777,可以使用:

netstat -anp | grep 7777

答案3

您确定该端口上有服务正在运行吗?使用 netstat -n 确认。

此链的默认策略是 ACCEPT。因此实际上当前没有活动块。刷新所有链和所有表,重新启动并尝试 telnet。

让我们知道。

相关内容