Linux

在 iptables 中添加一個規則,其目標 ip 不會解析到它的域

  • April 14, 2016

我在 iptables 中添加此規則,並將以下 IP 地址作為目標:

iptables -A FOR_FILTER -d 66.235.138.59 -j ACCEPT

它成功添加了它,結果如下:

ACCEPT     all  --  anywhere             *.d1.sc.omtrdc.net

由於此 DNS 解析,我想應用於 66.235.138.59 的規則將不起作用。我想按原樣添加 IP 地址,所以 iptables 不會添加解析的域。

像這樣的東西(但它不起作用):

iptables -A FOR_FILTER -d "66.235.138.59" -j ACCEPT
iptables -A FOR_FILTER -d '66.235.138.59' -j ACCEPT

iptables 在內部使用 IP 地址,如果您不想在列出規則時看到任何 DNS 名稱,請使用iptables -L -n- 它禁用反向 DNS 查找。

你的問題有兩點。一,正如 CodePainters 所指出的,您需要使用-nswitch 來查看 iptable 規則列表中的 IP 地址。

第二件事是,iptables 按順序處理規則。如果某些先前的規則禁止連接,那麼添加另一個規則(-A 在鏈的末尾添加)將無濟於事。您需要分析整個配置,而不僅僅是單個規則。

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