Linux

“找不到主機/網路”,嘗試使用 ferm 限制 OUTPUT 流量

  • July 30, 2020

我試圖阻止來自伺服器的所有輸出流量,只允許通過 HTTP/HTTPS 訪問幾個域。

當我ferm使用以下配置重新啟動時(我刪除了 INPUT 和 FORWARD 鏈,因為它們不相關),我收到一個iptables v1.6.1: host/network 'serverfault.com' not found錯誤:

table filter {
 chain OUTPUT {
   policy DROP;

   # allow ICMP protocol
   protocol icmp ACCEPT;

   # allow DNS lookup
   protocol (tcp udp) dport 53 ACCEPT;

   protocol tcp dport (http https) {
     daddr serverfault.com ACCEPT; 
   }

   # connection tracking
   mod conntrack ctstate INVALID DROP;
   mod conntrack ctstate (ESTABLISHED RELATED) ACCEPT;
 }
}

我允許埠 53 用於 DNS 查找,而且我似乎可以訪問該域(之前不允許執行該host命令)。我錯過了我應該在防火牆中允許的東西嗎?

$ host serverfault.com
serverfault.com has address 151.101.193.69
serverfault.com has address 151.101.129.69
serverfault.com has address 151.101.65.69
serverfault.com has address 151.101.1.69

您需要在 IPTables 規則中使用 IP 地址,不能使用 DNS 名稱。

引用自:https://serverfault.com/questions/1027318