FONの無線LANルータに限らず、最近のブロードバンドルータは無線LANクライアントを内部LANには接続させずにインターネットとの接続だけに限定する事ができるようになっています。
ブロードバンドルータを流用して無線LANのAccess Point(AP)にしていますが、どうやらルータ機能をONにしないと内部LANへの接続制限は有効にできないようだったので、iptablesを使ってeth2とeth1との接続を制限することにしました。
現状
ネットワークのおおまかな構成は次のようになっています。
加える制限の内容
現在はeth1,eth2間の通信は双方向で制限がなくなっているので、無線LANクライアントが接続する192.168.10.0/24ネットワークとの通信は双方向で遮断します。
ここまではiptablesのFORWARDチェインの話で、eth2内部の機器とalix自身の通信についてはもう少し検討が必要になります。
まずメンテナンスのためにALIXからeth2への通信は原則として自由に行なえるようにしました。 eth2からALIXへの接続についてはUDP経由でのDNS(port:53)とNTP(port:123)に限定しています。
また別の図にすると、次のような感じでしょうか。
事前準備
ALIXはゲートウェイなので、NTPやらDNSやらの機能は持たせていませんでしたが、機器の数も限られているので無線LANクライアント向けにNTPとDNSの機能を提供することにしました。
ntpについてはlisten行を追加しています。
listen on 192.168.10.1
DNSはforwarderに192.168.1/24にあるDNSサーバを追加したキャッシングサーバなので、 linsten-on, listen-on-ipv6行にeth1のインタフェースを指定して、allow-query行に192.168.10/24を追加したぐらいでしょうか。
iptablesの設定方法
以前から使っていた設定スクリプトにルールを追加しました。
iptables -A FORWARD -i eth+ -o eth2 -j DROP
iptables -A FORWARD -i eth2 -o eth+ -j DROP
iptables -A FORWARD -i tun+ -o eth2 -j DROP
iptables -A FORWARD -i eth2 -o tun+ -j DROP
iptables -A INPUT -i eth2 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth2 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth2 -p udp --dport 123 -j ACCEPT
iptables -A INPUT -i eth2 -j DROP
iptables -A OUTPUT -o eth2 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o eth2 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o eth2 -j DROP
とりあえず動いていますが…
直接INPUTチェインを変更していてiptablesらしくないので、これは少し構成を変更しようと思っています。
0 件のコメント:
コメントを投稿