ArchLinuxを使用して透過ファイアウォールを設定しようとしています。
私の設定は次のようになります。
(ISP, IP: 10.90.10.254)
\
\
\ (eth0-> ip: 10.90.10.1 gateway: 10.90.10.254)
+-----------+
| |
| PC |
|(as server)|
+-----------+
\ (eth1-> ip: 10.90.10.100)
\
\
(10.90.10.101)\ | (wireless-> ip-range: 10.90.10.102-)
+-------+
|Router |
+-------+
私のルーターにはファイアウォール機能がないため、ルーターとISPの間にファイアウォールをドロップする必要があります。
これを実現するには、PCでeth0とeth1をブリッジモードにし、ブリッジインターフェイスに1つのIPを与える必要があります(個々のethではありません)。
Linuxでのブリッジングの基本は、次のとおりです http://www.tldp.org/HOWTO/BRIDGE-STP-HOWTO/index.html
ディストリビューションによっては、ブリッジングを行うためのより高速で優れた方法がある場合があります。
さて、あなたが言及したワイヤレスIP範囲は、いくつかの構成では指定できません。どのIPをどこに割り当てるかはあなた次第です。
DHCPを介してそれを制御できるかもしれませんが、それは全体的なセットアップとニーズによって異なります。
まず、ネットワークアドレス変換を有効にする必要があります。
この行を挿入します
net.ipv4.ip_forward = 1
に
/etc/sysctl.conf
(行が挿入された後、すぐに効果が現れます)そしてファイアウォールルールを追加します:
iptables -t NAT -A POSTROUTING-!o lo -j MASQUERADE
そして今、ワイヤレスネットワークはサーバーPCを介してISPにパケットを送信できます
もう1つの提案:サーバーへの「すべて」のアクセスを無効にし、本当に必要なものだけを有効にします。
iptables -P INPUT DROP
iptables -A INPUT -m state --state RELATED、ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth1 -m state --state NEW -j ACCPET
この設定は、デフォルトの「すべて許可された」パケットフローを無効にし、ISP(およびWAN)からサーバーポートへの接続を無効にし、ワイヤレスネットワークからの発信接続を有効にします。
ファイアウォールでサーバーポートを開く必要がある場合:
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
必要に応じてtcpをudpに置き換え、ポート範囲をfrom:toパターンで追加できます。
何か問題が発生して自分自身を閉じた場合は、ファイアウォールルールをリセットできます。
iptables -F
最も簡単な方法は、webminをサーバーシステムにインストールする場合、優れたファイアウォールコンフィギュレーターGUIを備えていることです。ただし、自分自身を閉じてwebminにアクセスできない場合は、常に「iptables-F」コマンドを覚えておいてください。
Eth0(およびおそらくeth1も)をポイントツーポイントインターフェイスとして定義すれば、(サーバーの観点から)それが可能になるはずです(man ip-address
、peer
を参照)。
私の意見では、アドレスの選択はあらゆる面で悪い考えです。 eth1とWLANのネットワークは重複してはなりません。 eth1がポイントツーポイントインターフェイスではなく、WLANが102から始まる場合、これは不可能です。
ルーターではさらに悪いことに、そのLAN IPはWLANネットワークの一部であるため、p2pである必要があります(ルーターで構成できますか?)。