たとえば、次の規則があります。
#iptables -A OUTPUT -d www.google.com -j ACCEPT
端末にこのルールを入力すると、適切なIPとして識別され、rules.v4
保存時にそのIPが保存されます。www.google.com
IPの代わりに自動ロードされたファイルに保存する方法はありますか?ファイルを直接編集しようとしましたが、名前を入力してもルールはロードされません。
答え1
いいえ、カーネルは名前について何も知りません。カーネルルールにはIPアドレスのみがあります。これらのルールは、カーネルの内容を可逆的に正確に表現するテキスト形式を使用して保存および復元されるため、名前も含まれませんiptables-save
。iptables-restore
必要なものに最も近い方法は、手動でメンテナンスし、名前を含めることができるルールを設定するための一連のiptables
コマンドを含むシェルスクリプト形式でルールを保存することです。ip6tables
しかし、なぜそうしてはいけないのかを調べるには、読んでください。
そもそも、なぜ名前を使うべきかをよく考えてください。名前がどのIPアドレスを指すかはあらかじめわからないので、名前を使用していますか、それとも名前がマッピングされるIPアドレスが随時変更される可能性があるため、使用していますか?名前を使用する場合、iptables
またはip6tables
コマンドがすぐに名前を解決し、カーネルに無期限に存在するのはIPアドレスです。名前とIPアドレス間のマッピングが変更された場合はどうなりますか? DNS名には、名前とアドレス間のマッピングをキャッシュする必要がある期間を示すTTLがあります。ただし、マッピングが変更されると、カーネルのiptablesルールが更新されず、古いIPアドレスまたは古いIPアドレスを含むルールが作成されます。