여러 Nics와의 네트워킹


16

4 개의 네트워크 어댑터가있는 Ubuntu 12.04 서버가 있습니다. 별도의 기능을 위해 각 NIC를 사용해야합니다. 내 설정에 대한 설명은 다음과 같습니다.

etho = 10.234.0.2 netmask = 255.255.255.252 gw = 10.234.0.1 This is on vlan 234
eth1 = 10.235.0.2 netmask = 255.255.255.252 gw = 10.235.0.1 This is on vlan 235
eth2 = 10.236.0.2 netmask = 255.255.255.252 gw = 10.236.0.1 This is on vlan 236
eth3 = 10.237.0.2 netmask = 255.255.255.252 gw = 10.237.0.1 This is on vlan 237

별도의 웹 서비스를 위해 개별 IP 주소와 트래픽을주고받을 수 있어야합니다. 즉, 10.235.0.2는 웹 사이트이고 10.236.0.2는 다른 사이트이며 10.237.0.2는 세 번째 사이트입니다. 첫 번째 IP는 서버 관리를위한 것입니다.

문제는 라우팅 문제라고 생각하지만 라우팅 기능에 대해 완전히 이해하지 못할 정도로 Linux에 익숙하지 않습니다.

/etc/network/interfaces파일에 있는 내용은 다음과 같습니다 .

auto lo
iface lo inet loopback

# WWW Management
auto eth0
iface eth0 inet static
address 10.234.0.2
netmask 255.255.255.252
gateway 10.234.0.1
nameseervers 10.230.1.103, 10.230.70.70

# WWW
auto eth1
iface eth1 inet static
address 10.235.0.2
netmask 255.255.255.252
gateway 10.235.0.1

# WTB
#auto eth2
#iface eth2 inet static
#address 10.236.0.2
#netmask 255.255.255.252
#gateway 10.236.0.1

# Moodle
#auto eth3
#iface eth3 inet static
#address 10.237.0.2
#netmask 255.255.255.252
#gateway 10.237.0.1

혼란을 완화하기 위해 마지막 두 네트워크를 비활성화했습니다.

모든 도움과 의견, 제안에 미리 감사드립니다.

답변:


15

eth0의 일반적인 구성을 한 후에 돌아와서 eth1에 대한 구성을 추가했습니다. eth0 만 올리면 라우팅 테이블은 다음과 같습니다.

# ip route show
192.168.0.96/27 dev eth0 proto kernel scope link src 192.168.0.126
default via 192.168.0.97 dev eth0 metric 100

그러나 일단 eth1을 가져 오면 기본 경로 명령문의 순서에 따라 항상 사용되는 인터페이스가 결정되었습니다. 아래와 같이 192.168.1.65 게이트웨이에 대한 eth1 경로를 선택합니다.

# ip route show
192.168.0.96/27 dev eth0 proto kernel scope link src 192.168.0.126
192.168.1.64/27 dev eth1 proto kernel scope link src 192.168.1.93
default via 192.168.1.65 dev eth1 metric 100
default via 192.168.0.97 dev eth0 metric 100

하나의 게이트웨이 문

첫 번째 문제는 추가 '192.168.1.65'기본 경로 일 수 있습니다. / etc / network / interfaces의 eth1 정의에 "gateway 192.168.1.65"문이 있으면 나타납니다. 따라서 추가 게이트웨이 문을 제거하고 인터페이스를 바운스하십시오.

# ifdown eth1
# ifup eth1
# ip route show
192.168.0.96/27 dev eth0 proto kernel scope link src 192.168.0.126
192.168.1.64/27 dev eth1 proto kernel scope link src 192.168.1.93
default via 192.168.0.97 dev eth0 metric 100

새로운 라우팅 테이블 설정

eth1에서 흘러 나오는 모든 트래픽에 적합한 기본 경로를 포함하는 새로운 별도의 라우팅 테이블을 만듭니다. 여기서 테이블 번호는 중요하지 않습니다. 101은 단순히 기본 라우팅 테이블이 아닙니다. / etc / network / interfaces의 eth1 구성에서 'post-up'명령으로이를 수행하십시오. eth1에 하나의 게시 만 추가하십시오. eth1 : 하위 인터페이스에 추가하지 마십시오.

post-up ip route add default via 192.168.1.65 dev eth1 table 101

바운스 eth1. 기본 라우팅 테이블은 변경되지 않으며 eth1이 작동하면 테이블 101에 via 192.168.1.65 기본 경로가 포함됩니다.

# ifdown eth1
# ip route show
192.168.0.96/27 dev eth0 proto kernel scope link src 192.168.0.126
default via 192.168.0.97 dev eth0 metric 100

# ip route show table 101   (ie, table is empty, no output)
# ifup eth1
# ip route show
192.168.0.96/27 dev eth0 proto kernel scope link src 192.168.0.126
192.168.1.64/27 dev eth1 proto kernel scope link src 192.168.1.93
default via 192.168.0.97 dev eth0 metric 100

# ip route show table 101
default via 192.168.1.65 dev eth1

새로운 라우팅 규칙

eth1로 나가야하는 패킷의 기본 경로를 선택하려면 표 101을 사용하는 라우팅 규칙을 추가하십시오.

# ip rule add from 192.168.1.64/27 lookup 101
# ip rule show
0:     from all lookup local
32765: from 192.168.1.64/27 lookup 101
32766: from all lookup main
32767: from all lookup default

/etc/network/interfaces파일에 규칙을 추가하십시오 .

post-up ip rule add from 192.168.1.64/27 lookup 101

인터페이스가 다운 될 때 경로와 규칙을 제거하기 위해 정리를 추가해야합니다.

post-down ip rule del from 192.168.1.64/27
post-down ip route del default via 192.168.1.65 table 101

[ubuntu 16.04+ 용 편집] 여기에 표시된 것처럼 이 도움말에서 만든 테스트에서 ip route2가 명령 구조를 변경했습니다. 작업을하려면 man ip 포인트가 어떻게 진행되는지 순서대로 조정해야합니다 .

up ip route add default table 101 dev eth1 via 192.168.1.65
up ip rule add from 192.168.1.64/27 lookup 101
down ip rule del from 192.168.1.64/27
down ip route del default table 101 via 192.168.1.65

또는 ifdown-ifup 명령 (오류 메시지 @ifdown 명령 (주변 장치가 올바르게 구성되지 않았다는 표준 메시지))와 @ifup (표 101)에 경로가 없으면 ifup 명령이 종료됩니다.


멋지지만, rc.local을 사용하고 싶지 않습니다. 더 우아한 최종 단계를 찾고 있습니다.
drAlberT

그것은 내가 생각 :) ..
drAlberT

실제로 / etc / interfaces 파일이 있습니까, 아니면 오타입니까?
user100464

@ user100464/etc/network/interfaces
Zenexer

대답에는 전자에 대한 언급이 있습니다. 편집 할 수 없습니다.
user100464
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.