私はShorewall(4.4.26.1)をセットアップしていて、午後の大部分の間、2つのLANセグメント間のルーティングを理解しようとしています。助けを求める時が来ました。
((INTERNET))
|
|
[shorewall]
| |
| |
(LAN1) (LAN2)
3つのNICがあります:WAN(インターネット)、LAN1、LAN2。WAN-to-LANはNATを介してインバウンドで動作し、DNAT(masqで設定)を介してアウトバウンドで動作します。LAN2は動作しないはずです(および現在はインターネットにアクセスできませんが、LAN1からアクセスできるはずです。現在、ファイアウォールからLAN2にアクセスできますが、LAN1のサーバーからはアクセスできません(これが問題です)。必要なルールは次のとおりです。配置しますが、ルーティングが機能していないようです(ファイアウォールルールを無効にすると、LAN1のサーバーからのSSH接続ですぐに「接続が拒否されました」。ルールが有効になっていると、SSHがハングし、tracerouteがLAN1は172.0.0.0アドレス空間にあり、LAN2は10.0.0.0アドレス空間にあります。
私は現在持っています:
$LAN2_IF 10.0.0.0/24
..masqで、しかしそれは機能していません($ LAN2_IFはLAN2インターフェースであるeth2に解決されます)。
私の質問は次のとおりです:別々のNICに接続されている2つの異なるアドレスのLANセグメント間でトラフィックを転送するための最も単純なShorewall構成は何ですか?ドキュメントまたは他の参照へのポインターが役立ちます、最低限の構成例はさらに良くなります。ルーティングに関するShorewallのドキュメントを調べてきましたが、一致する説明がまだ見つかりません(たとえば、LANインターフェイスは分離したままにする必要があるため、ブリッジする必要はありません。LAN2はnotはインターネットまたはLAN1)にアクセスできません。
アドバイスありがとうございます!
ルーティングに問題があるようですが、Shorewallとは関係ありません。 Shorewallを無効にして、最初にルーティングを正しく行います。
ゲートウェイには、各LANセグメントにIPアドレスがあり、そのインターフェイスにLAN範囲のルートが必要です。例えば:
$ ip -one addr
2: eth0 inet 172.16.0.1/24
3: eth1 inet 10.0.0.1/24
$ ip route
172.16.0.0/24 dev eth0
10.0.0.0/24 dev eth1
LAN1とLAN2のクライアントは、ゲートウェイのそれぞれのIPをデフォルトゲートウェイとして設定する必要があります(LAN1のクライアントの場合は172.16.0.1、LAN2のクライアントの場合は10.0.0.1)。両方のLANのクライアントがゲートウェイの両方 IPにpingできることを確認します。次に、異なるLAN内のクライアント間でpingを実行してみてください。
ルーティングが機能したら、Shorewallをセットアップできます。 2つのLANを異なるゾーンに配置したい(例:lan1
eth0を含み、lan2
eth1)を含む。次に、適切なポリシーを構成します。
fw all ACCEPT
lan1 all ACCEPT
lan2 fw ACCEPT
lan2 lan1 ACCEPT
all all REJECT
LAN1とLAN2の間にマスカレードがあってはなりません。
これはVilleの問題ではなかったと思いますが、3つのインターフェイスのサンプル構成(Shorewallディストリビューションに含まれています)は、おそらくあなたの質問に対する標準的な答えです。ゾーン名としてlanとdmzを設定しますが、任意の名前(この場合はlanとlan2)に設定できます。