3つのネットワークカード(グローバル1、内部2)を持つルーターがあり、ルーターでnat.ipv4.ip_forward = 1を有効にしたかどうかを知りたいです。では、サブネット1のホストはサブネット2のホストに接続できますか?
それでは、2つのサブネットが互いに見えないように無効にしながら、まだグローバルインターネットに接続できる方法は何ですか?
私はLinuxを使用しています。
ありがとう
答え1
通常net.ipv4.ip_forward=1
、で/etc/sysctl.conf
これを有効にすると、制限されない限り、ルーターはすべてのネットワークから別のネットワークにルーティングできます。
必要な制限を達成する最も簡単な方法は、iptables
FORWARDルールを使用することです。
たとえば、サブネット 1 のネットワーク インターフェイスが subnet 1eno1
および subnet 2 の場合、eno2
FORWARD ルール セットの先頭に次の 2 つの iptables ルールを追加できます。
iptables -I FORWARD 1 -i eno1 -o eno2 -j DROP
iptables -I FORWARD 2 -i eno2 -o eno1 -j DROP
翻訳する:
- パケット転送のためのルール#1:パケットが入って来る
eno1
予定の場合、eno2
そのパケットを破棄します。 - パケット転送のためのルール#2:パケットが入って来る
eno2
予定の場合は、eno1
そのパケットを破棄します。
ルーターで使用されるLinuxディストリビューションを指定しないため、これらのiptables
基本的な形式のルールを保持している高度なファイアウォール管理ツール(firewalld
、ufw
および他の多くのツール)に統合する問題は練習のままにしておく必要があります。リーダー。