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

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

答え1

これを行うには、eth0とeth1をPCでブリッジモードに設定し、ブリッジインターフェイスに1 IP(単一ethではない)を提供する必要があります。

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

ディストリビューションによっては、ブリッジングを実行するより高速でより良い方法があるかもしれません。

上記のワイヤレスIP範囲は、一部の構成では指定できません。どのIPがどこに行くかを決定することはあなた次第です。

DHCPを介して制御することもできますが、これは全体の設定と要件によって異なります。

答え2

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

net.ipv4.ip_forward = 1

到着

/etc/sysctl.conf

(ラインを接続した直後に適用されます)ファイアウォールルールを追加します。

iptables -t NAT -A POSTROUTING -!o lo -j MASQUERADE

これで、ワイヤレスネットワークはサーバーPCを介してISPにパケットを送信できます。
1つの追加提案:サーバーへの「すべての」アクセスを無効にし、実際に必要なものだけを有効にします。

iptables -P enter drop
iptables -A enter -m state --state 関連、設定 -j accept
iptables -A enter -i eth1 -m state --state new -j ACCPET

この設定は、デフォルトの「すべて許可」パケットフローを無効にして、ISP(およびWAN)からサーバーポートへの接続を無効にし、ワイヤレスネットワークからの接続を有効にします。
ファイアウォールでサーバーポートを開く必要がある場合:

iptables -A 入力 -p tcp -m tcp --dport 22 -j 受け入れ

必要に応じて、tcpをudpに置き換え、from:toパターンを使用してポート範囲を追加できます。
問題が発生して自動的にシャットダウンした場合は、ファイアウォールルールをリセットできます。

iptables-F

最も簡単な方法は、サーバーシステムにwebminをインストールすると、優れたファイアウォールコンフィギュレータGUIを持つことです。ただし、自分を終了してwebminにアクセスできない場合は、常に「iptables -F」コマンドを覚えておいてください。

答え3

eth0(またはeth1)をポイントツーポイントインターフェースとして定義すると(サーバーの観点からman ip-address)これが可能です(参考資料、参考資料を参照)peer

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

ルータの場合はさらに深刻です。 LAN IPはWLANネットワークの一部であるため、p2pである必要があります(ルーターで設定できますか?)。

関連情報