web-dev-qa-db-ja.com

ArchLinuxを使用して透過ファイアウォールを設定する方法

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の間にファイアウォールをドロップする必要があります。

2
Victor Aurélio

これを実現するには、PCでeth0とeth1をブリッジモードにし、ブリッジインターフェイスに1つのIPを与える必要があります(個々のethではありません)。

Linuxでのブリッジングの基本は、次のとおりです http://www.tldp.org/HOWTO/BRIDGE-STP-HOWTO/index.html

ディストリビューションによっては、ブリッジングを行うためのより高速で優れた方法がある場合があります。

さて、あなたが言及したワイヤレスIP範囲は、いくつかの構成では指定できません。どのIPをどこに割り当てるかはあなた次第です。

DHCPを介してそれを制御できるかもしれませんが、それは全体的なセットアップとニーズによって異なります。

3
Cha0s

まず、ネットワークアドレス変換を有効にする必要があります。
この行を挿入します

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」コマンドを覚えておいてください。

2
Dankó Dávid

Eth0(およびおそらくeth1も)をポイントツーポイントインターフェイスとして定義すれば、(サーバーの観点から)それが可能になるはずです(man ip-addresspeerを参照)。

私の意見では、アドレスの選択はあらゆる面で悪い考えです。 eth1とWLANのネットワークは重複してはなりません。 eth1がポイントツーポイントインターフェイスではなく、WLANが102から始まる場合、これは不可能です。

ルーターではさらに悪いことに、そのLAN IPはWLANネットワークの一部であるため、p2pである必要があります(ルーターで構成できますか?)。

0
Hauke Laging