Networking

IPv4 iptables 阻止了事情,但輸出策略是 ACCEPT,我的 INPUT DROP 鏈有什麼問題?

  • July 13, 2020

這是我此時的 IPv4iptables列表:

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

當我嘗試使用apt-get時,它無法將 DNS 名稱轉換為 IP。我該如何解決這個問題並讓它工作?

您錯過了允許回送設備,這是非可選的:

-A INPUT -i lo -m comment --comment loopback -j ACCEPT

將此添加為第一條規則,您就完成了。我在 AskUbuntu 上為您找到了關於該設備代表什麼等的很好的廣泛解釋。


此外,我建議可選步驟 - 步驟 2:允許 ICMP 協議:

-A INPUT -p icmp -m limit --limit 5/sec --limit-burst 15 -m comment --comment icmp -j ACCEPT

最後,我建議可選步驟 - 第 3 步:將您的 SSH 連接僅限於本地網路,只需確保更改為您的子網:

-A INPUT -s 192.168.0.0/24 -p tcp -m conntrack --ctstate NEW,ESTABLISHED -m tcp --dport 22 -m comment --comment ssh -j ACCEPT

旁注:幾個小時後,您應該在使用 INPUT DROP 規則時看到這樣的 DROP 數字:

Chain INPUT (policy DROP 8354 packets, 732K bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1     6315  612K ACCEPT     all  --  lo     any     anywhere             anywhere             /* loopback */
2       13  1072 ACCEPT     icmp --  any    any     anywhere             anywhere             limit: avg 5/sec burst 15 /* icmp */
3     190K  697M ACCEPT     all  --  any    any     anywhere             anywhere             ctstate RELATED,ESTABLISHED /* traffic */
4        0     0 ACCEPT     tcp  --  any    any     192.168.0.0/24       anywhere             ctstate NEW,ESTABLISHED tcp dpt:ssh /* ssh */

引用自:https://unix.stackexchange.com/questions/598252