두 개의 네트워크 인터페이스에서 네트워크 트래픽 분리 구성 방법에 대한 전문 지식을 빌려 주실 수 있습니까?
지금까지 이해했듯이 고정 경로는 기본 게이트웨이를 사용하도록 설계되지 않은 네트워크 트래픽에 사용됩니다. 기본 게이트웨이는 로컬 네트워크로 향하지 않고 라우팅 테이블에 선호 경로가 지정되지 않은 모든 트래픽에 사용됩니다.
시나리오는 다음과 같습니다.
- 네트워크의 각 컴퓨터에는 두 개의 네트워크 카드가 있습니다.
- 각각의 생산 인터페이스는
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
Host 50에서 핑 (동일한 ifconfig
결과-다른 마지막 쿼드)하면 eth0
묵음이 발생하며 ICMP eth1
가 예상대로 에코됩니다 .
두 가지 주요 Linux 유형을 담당하는 트래픽 만 처리하도록 각 인터페이스를 구성하는 방법을 알고 싶습니다. 나는 거의 거기에 있다고 생각하지만 찾을 수없는 것만 누락되었습니다.
- 데비안 eezy 지 (7.x) 또는 데비안 제시 (8.x)
- 엔터프라이즈 Linux (6.x) (RedHat / CentOS / Scientific / Oracle)
데비안 용 솔루션은 Wheezy와 Jessie 모두에게 좋으며 EL 용 솔루션은 모든 EL 6.x 버전에서 동일해야한다는 것을 알고 있습니다. RC 스크립트를 사용하여 명령을 실행하지 않고 구성 파일을 사용하는 것을 피하고 싶습니다.
데비안에서 내가 아는 관련 구성 파일은 다음과 같습니다.
/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
내 데비안 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