无法让我的防火墙接受 8080 的传入连接...
# iptables -L -v -n
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
8 704 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
5 971 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:8080 /* phj8080 */
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT 5 packets, 648 bytes)
pkts bytes target prot opt in out source destination
这是 netstat 数据。第一行的 11080/app 是一个监听端口 8080 的应用程序。当我关闭防火墙时,一切都正常工作:) 当 iptables 开启时,我只能在本地机器内使用 8080。
我可以允许所有人使用这个该死的 8080 端口吗? :)
# netstat -plnt
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:8080 0.0.0.0:* LISTEN 11080/app
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1532/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1608/master
tcp 0 0 :::22 :::* LISTEN 1532/sshd
tcp 0 0 ::1:25 :::* LISTEN 1608/master
答案1
reject
第5行有一个all,你可以用这个命令删除它
iptables -D INPUT 5
并将其移动(再次添加)到列表的末尾
iptables -A INPUT -j REJECT
然后(如果一切正常)你应该保存规则
iptables-save > /etc/sysconfig/iptables