- - PR -
iptablesの設定(LinuxルータがDNSサービスを受けられるようにする場合)
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-11-20 16:11
厳密には全く同じ設定ではありませんが、必要です。 自前でDNSサーバを立てても、そのDNSサーバが名前解決できる範囲は限定されますよね? たとえばドメイン名が"example.com"の場合、自前のDNSサーバでは***.example.comの 名前解決はできますが、その他のドメインの名前解決はできません。 現在自宅でドメインを運用しており、DNSサーバも構築済みです。 その例から言うと、以下の4つのルールが必要です。 # 外部への名前解決を許可するルール $IPTABLES -A OUTPUT -p UDP -s ***.***.***.*** --dport 53 -o eth0 -j ACCEPT ---@ $IPTABLES -A INPUT -p UDP --sport 53 -d ***.***.***.*** -i eth0 -j ACCEPT ---A # 外部からの名前解決を許可するルール $IPTABLES -A INPUT -p UDP --dport 53 -d ***.***.***.*** -i eth0 -j ACCEPT ---B $IPTABLES -A OUTPUT -p UDP --sport 53 -s ***.***.***.*** -o eth0 -j ACCEPT ---C ※ ***.***.***.*** は自前で立てたDNSサーバのIPアドレス @、AはDNSクライアントとしてのルール、すなわちこのスレッドの1番最初の書き込み "LinuxルータがDNSサービスを受けられるようにする場合、"の場合です。 B、CはDNSサーバとしてのルールです。クライアントからのDNSサービスを許可 するために必要です。 さらに立てたDNSサーバがプライマリDNSサーバの場合、セカンダリDNSサーバからの ゾーン転送を許可するルールが必要になります。 $IPTABLES -A INPUT -p TCP -s ###.###.###.### --dport 53 -d ***.***.***.*** -i eth0 -j ACCEPT $IPTABLES -A OUTPUT -p TCP ! --syn -s ***.***.***.*** --sport 53 -d ###.###.###.### -o eth0 -j ACCEPT ※ ***.***.***.*** は自前で立てたDNSサーバのIPアドレス、###.###.###.###は セカンダリDNSサーバのIPアドレス。 iptablesはバイブル的な資料が無いためわかりにくいところが多々あると思いますが がんばってください | ||||
|
投稿日時: 2003-11-28 14:59
くわしい説明ありがとうございました。頑張ってセキュリティの高いiptablesが記述できるよう頑張ります。でも、実はそれ以前に、インターネットに接続できないです。。
新たに質問をたてたので、分かるようでしたらよろしくお願いします。 「Linuxルーターを通ってBフレッツでインターネットに接続したいのですができません。」 です。 |