![难以连接端口](https://linux22.com/image/630238/%E9%9A%BE%E4%BB%A5%E8%BF%9E%E6%8E%A5%E7%AB%AF%E5%8F%A3.png)
我正在尝试 Linode,我刚刚启动了第一个运行 CentOS 的实例。即使我完全关闭防火墙,也无法连接到机器上的端口。(我的脚本确实通过 localost 成功连接,但无法从外部机器连接)
以下是一些信息:
iptables:
# iptables -n -L -v --line-numbers
Chain INPUT (policy ACCEPT 580 packets, 45519 bytes)
num pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 482 packets, 78913 bytes)
num pkts bytes target prot opt in out source destination
天然/原始
iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
netstat:我正在监听端口 6034:
netstat -tulpn
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:6034 0.0.0.0:* LISTEN 5845/python
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2026/sshd
tcp 0 0 :::22 :::* LISTEN 2026/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 1896/dhclient
lsof:再次,端口 6034:
lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python 5845 apiuser 3u IPv4 4621 0t0 TCP *:6034 (LISTEN)
nmap 扫描显示“已过滤”状态(IP 地址已在下面清除)
nmap -p 6034 1.2.3.4
Starting Nmap 6.40 ( http://nmap.org ) at 2014-04-02 09:31 EDT
Nmap scan report for ftd.fasttrackdispatch.com (1.2.3.4)
Host is up (0.030s latency).
PORT STATE SERVICE
6034/tcp filtered unknown
Nmap done: 1 IP address (1 host up) scanned in 0.40 seconds
编辑:根据 LinuxDevOps 的建议,我在尝试连接时在该端口上运行了 tcpdump。它没有显示任何流量。
再次,我可以通过本地主机连接,但不能从外部盒子连接。此外,我尝试从不同网络上的不同机器建立连接,但仍然没有成功。有什么想法可能是什么问题或我下一步应该尝试什么?
答案1
测试端口连通性的提示:
- 确保有一个服务正在监听该端口
netstat -tlpn
- 检查您是否使用 iptables 过滤或转移该端口:
iptables -n -L -v
,iptables -t nat -n -L
- 使用 tcpdump 检查流量是否到达服务器并被回复:
tcpdump port #portnumber
,也检查所有流量以防万一:tcpdump
- 如果服务器上没有检测到流量,那么它可能在源头被过滤,请尝试从不同的计算机
- 如果没有来自不同网络的多个来源的流量到达服务器,那么它可能在数据中心被阻止,您可以通过重定向另一个端口来测试/绕过它(例如,通过未使用的端口 8080 连接到被阻止的端口 6034:
iptables -t nat -I PREROUTING -p tcp --dport 8008 -j REDIRECT --to-port 6034