Linux
編輯多個 iptables 規則
我正在使用 iptables 來允許某些 IP(使用者)允許特定埠。像這樣——
ACCEPT tcp -- 1.2.3.4 anywhere tcp dpts:4358:4362
因此,對於每個 IP 地址,我都有多個允許的埠範圍。
問題是一些使用者擁有動態 IP,我試圖讓他們註冊動態 dns 服務,但 iptables 會自動將該域解析為他們目前的 IP,所以現在我堅持使用裸 IP。
問題是,如何更新多個規則IP?在 notpad 中查找和替換之類的東西)
iptables
只能將 IP 地址儲存在核心表中,這就是它在執行時將主機名解析為目前 IP 地址的原因。處理 IP 地址更新的唯一方法是刪除舊規則並添加新規則。我建議將這些規則添加到單獨的表中,以便只需要清除和重新載入單獨的表。就像是:
設置:
iptables -N DYNUSERS iptables -A INPUT -j DYNUSERS
建構 DYNUERS 表:
iptables -F DYNUSERS iptables -A DYNUSERS -s dyndns1.example.com -p tcp --dport 4358:4362 -j ACCEPT iptables -A DYNUSERS -s dyndns2.example.com -p tcp --dport 4358:4362 -j ACCEPT
當 IP 地址改變時,只需再次執行最後一部分。也許每隔一小時左右安排一次。