2つのネットワークインターフェイスでネットワークトラフィックの分離を構成する方法を理解するための専門知識を貸していただけませんか?
これまでのところ理解しているように、デフォルトルートを使用するように設計されていないネットワークトラフィックには静的ルートが使用されます。デフォルトゲートウェイは、ローカルネットワーク宛ではなく、ルーティングテーブルで優先ルートが指定されていないすべてのトラフィックに使用されます。
シナリオは次のとおりです。
- ネットワーク内の各コンピューターには、2つのネットワークカードがあります。
- それぞれの本番インターフェースは
eth0
(GW = 10.10.10.1)です。 - それぞれの管理インターフェースは
eth1
(GW = 192.168.100.1)です。 - 生産と管理のトラフィックは完全に分離する必要があります。
以下に、Debian Wheezyで何を試したかを投稿しました。そして、私の問題は、両方のインターフェースで通信するようにホストをセットアップしているにもかかわらず、個々のホストが間違ったインターフェースでトラフィックを「聞く」ように見えることです。例えば:
ホスト140
eth0 Link encap:Ethernet HWaddr 08:00:27:d1:b6:8f
inet addr:10.10.10.140 Bcast:10.10.10.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fed1:b68f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1341 errors:0 dropped:0 overruns:0 frame:0
TX packets:2530 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:641481 (626.4 KiB) TX bytes:241124 (235.4 KiB)
eth1 Link encap:Ethernet HWaddr 08:00:27:ad:14:b6
inet addr:192.168.100.140 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fead:14b6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7220 errors:0 dropped:0 overruns:0 frame:0
TX packets:5257 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:602485 (588.3 KiB) TX bytes:1022906 (998.9 KiB)
ホスト140から、次のコマンドを実行しますtcpdump -i eth0
。ホスト140の別のセッションで、を実行しping 192.168.100.50
ます。
19:17:29.301565 IP 192.168.100.140 > 192.168.100.50: ICMP echo request, id 1400, seq 10, length 64
19:17:30.301561 IP 192.168.100.140 > 192.168.100.50: ICMP echo request, id 1400, seq 11, length 64
19:17:31.301570 IP 192.168.100.140 > 192.168.100.50: ICMP echo request, id 1400, seq 12, length 64
19:17:32.301580 IP 192.168.100.140 > 192.168.100.50: ICMP echo request, id 1400, seq 13, length 64
上記の出力が表示されるのはなぜeth0
ですか?10.10.10.140のトラフィックのみが表示されるはずです。eth1
予想通り、これもに表示されます。
19:18:47.805408 IP 192.168.100.50 > 192.168.100.140: ICMP echo request, id 1605, seq 247, length 64
ホスト50からpingを実行すると(同じifconfig
結果-最後のクワッドが異なるだけです)、eth0
何も表示eth1
されず、期待どおりにICMPエコーがオンになります。
2つの主要なLinuxの種類で責任があるトラフィックのみを処理するように各インターフェースを構成する方法を理解したいと思います。もうすぐ到着すると思いますが、見つからないようです。
- Debian Wheezy(7.x)またはDebian Jessie(8.x)
- Enterprise Linux(6.x)(RedHat / CentOS / Scientific / Oracle)。
DebianのソリューションはWheezyとJessieの両方に適していること、そしてELのソリューションはすべてのEL 6.xバージョンで同じであることを知っています。RCスクリプトを使用してコマンドを実行することは避け、代わりに構成ファイルを使用することを選択します。
Debianで私が知っている関連する構成ファイルは次のとおりです。
/etc/network/interfaces
EL 6.xでは、私が知っている関連する構成ファイルは次のとおりです。
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth1
/etc/sysconfig/network-scripts/route-eth0
/etc/sysconfig/network-scripts/route-eth1
/etc/sysconfig/network-scripts/rule-eth0
/etc/sysconfig/network-scripts/rule-eth1
私のDebian 8 "Jessie" /etc/network/interfaces
ファイル:
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# Production interface
auto eth0
allow-hotplug eth0
iface eth0 inet static
address 10.10.10.140
netmask 255.255.255.0
gateway 10.10.10.1
# Management interface
auto eth1
allow-hotplug eth1
iface eth1 inet static
address 192.168.100.140
netmask 255.255.255.0
私netstat -anr
は問題を説明するかもしれないと思います:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.10.10.1 0.0.0.0 UG 0 0 0 eth0
10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
iptabels -L -t nat