我保存并重新启动我的机器。当我查看 iptables 文件时,它包含以下内容
[root@server /]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.21 on Sat Feb 24 15:25:25 2018
*raw
:PREROUTING ACCEPT [4:164]
:OUTPUT ACCEPT [3:120]
COMMIT
# Completed on Sat Feb 24 15:25:25 2018
# Generated by iptables-save v1.4.21 on Sat Feb 24 15:25:25 2018
*nat
:PREROUTING ACCEPT [3:124]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Sat Feb 24 15:25:25 2018
# Generated by iptables-save v1.4.21 on Sat Feb 24 15:25:25 2018
*mangle
:PREROUTING ACCEPT [4:164]
:INPUT ACCEPT [4:164]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [3:120]
:POSTROUTING ACCEPT [3:120]
COMMIT
# Completed on Sat Feb 24 15:25:25 2018
# Generated by iptables-save v1.4.21 on Sat Feb 24 15:25:25 2018
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
COMMIT
# Completed on Sat Feb 24 15:25:25 2018
虽然我可以从我的机器访问我的网络服务器
[root@server tmp]# wget "http://my_ip_address/"
--2018-02-24 15:28:38-- http://my_ip_address/
Connecting to my_ip_address:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3700 (3.6K) [text/html]
Saving to: 'index.html.6'
100%[======================================================================================================>] 3,700 --.-K/s in 0s
2018-02-24 15:28:38 (470 MB/s) - 'index.html.6' saved [3700/3700]
我仍然无法从外部连接到它。还有别的东西挡住了它。我不知道还需要检查什么,也不知道我是否正确配置了 iptables。
答案1
运行此命令sudo nmap -sT -O localhost
可查看开放端口的列表。你可以安装telnet[ sudo yum install telnet
]并运行telnet my_ip_address.com 80
看看80端口是否开放!
答案2
现代检查方法套接字状态是
ss -tln
。
ss 的选项是t对于 TCP,我为了聆听,n对于数字。你可以通过管道将其传输到grep 80
答案3
如果您的 iptables 配置实际上是从该文件恢复的,那么它是完全开放的:raw
和表都是空的,并且它们所有的内置链都具有默认策略,并且该表也作为所有链上的默认策略,并且显式 TCP 目标端口 80 = http.nat
mangle
ACCEPT
filter
ACCEPT
ACCEPT
在此配置中,iptables
根本不会阻止任何内容,并且 TCP/80 的显式 ACCEPT 规则实际上只是 HTTP 服务器的流量计数器:与该规则关联的数据包和字节计数器将计算端口 TCP/80 的所有传入数据。
首先,检查您机器的 IP 地址。如果它位于以下范围之一内,则网络中存在 NAT 层,位于系统上游的某个位置。 NAT(网络地址转换)具有阻止来自“外部”的所有传入连接的副作用,除非配置为通过特定端口传递到特定“内部”主机。
- 10.0.0.0 ... 10.255.255.255(RFC 1918)
- 100.64.0.0 ... 100.127.255.255(RFC 6598 运营商级 NAT)
- 172.16.0.0 ... 172.31.255.255(RFC 1918)
- 192.168.0.0 ... 192.168.255.255(RFC 1918)
如果您的 IP 地址位于 RFC 1918 范围之一内,则 NAT 可能由您的路由器/调制解调器/类似设备完成,并且您可以配置端口转发以允许从 Internet 对您的系统进行 HTTP 访问。但如果它在 RFC 6598 范围内,则 NAT 很可能由您的互联网服务提供商管理,并且您不太可能能够向其添加端口转发。