目前我在服务器上的IPtables输入链设置是:
Chain INPUT (policy DROP 6 packets, 588 bytes)
pkts bytes target prot opt in out source destination
202 20660 ACCEPT all -- lo any anywhere anywhere
8 536 ACCEPT tcp -- any any anywhere anywhere tcp dpt:ssh
10 2345 ACCEPT tcp -- any any anywhere anywhere tcp dpt:https
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:http
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:8050
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:8123
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:webcache
0 0 REJECT all -- any any anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT 222 packets, 23444 bytes)
pkts bytes target prot opt in out source destination
如果我尝试 ping 该服务器上的端口 8123
ping 127.0.0.1 -p 8123
它可以工作,但是不能使用 fqdn,例如
ping foo.bar.de -p 8123
从我的笔记本电脑到具有 fqdn 的服务器的 ping 操作也有效。输出链完全打开,如果我将输入链中的策略从丢弃更改为接受,则从具有 fqdn 的本地主机进行的 ping 操作也有效。因此,在我看来,输入链配置中的某些内容目前不正确。
我已经尝试允许一些端口 53 设置,但是没有任何效果。
iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
我还记录了输入链中被阻止的东西
iptables -A INPUT -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
var/log/messages 中的输出类似于
Mar 16 12:22:05 bla kernel: IPTables-Dropped: IN=eth0 OUT= MAC=XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX SRC=XX.XX.XX.XXX DST=XX.XX.XX.XX LEN=92 TOS=0x00 PREC=0x00 TTL=60 ID=25578 DF PROTO=UDP SPT=53 DPT=46139 LEN=72
你能帮助我吗,以便使用 fqdn 在本地主机上进行 ping 操作可以正常工作?
答案1
这
iptables -A INPUT -p udp -m udp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
解决了我的问题。现在 UDP 端口 53 可以正常工作,并且 ping 到
ping foo.bar.de -p 8123
工作正常:-)