기본 네트워크 인터페이스를 선택하십시오


12

인터페이스가 2 개인 서버가 있습니다. eth0은 eth1보다 100 배 빠릅니다. 어떤 이유로 든 재부팅 할 때마다 기본 인터페이스가 임의로 선택됩니다. 더 성가신 일을하려면 둘 다 동일한 게이트웨이를 사용하므로 기본 게이트웨이를 선택해도 작동하지 않습니다. 리눅스는 어떻게 기본 인터페이스를 선택하고 어떻게 기본 인터페이스를 선택합니까?

여기 route -n상황을 조금 설명하는 데 도움이됩니다.

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
173.246.100.0   0.0.0.0         255.255.252.0   U     0      0        0 eth1
173.246.100.0   0.0.0.0         255.255.252.0   U     0      0        0 eth0
0.0.0.0         173.246.103.254 0.0.0.0         UG    0      0        0 eth1
0.0.0.0         173.246.103.254 0.0.0.0         UG    100    0        0 eth0

추신. 이것은 VPS이므로 공급자가 어딘가에 결함이있을 수 있습니다. 두 번째 인터페이스의 이유는 DNS 만 수행하기 때문에 DNS에 다른 IP를 사용하는 것입니다.

편집 : 이것은 우분투 10.04 서버입니다


흥미로운 점은 ifconfig 맨 페이지에서 "metric"에 대한 섹션에 설명되어 있습니다.이 매개 변수는 인터페이스 메트릭을 설정합니다. GNU / Linux에서는 사용할 수 없습니다.
wzzrd

1
당신이 이것을 알아서 다행입니다. 다른 사람이 이것에 대답하지 않았고 편집 내용이 해결책을 나타내는 경우, 자신의 답변 섹션에 아래 내용을 추가하고 시간 초과 후 정답으로 수락해야합니다. 질문 섹션에 답을 쓰지 마십시오.
Caleb

@ Caleb : 나는 여전히 시간 초과, 내 anwser를 게시했습니다
user163365

답변:


15

ifmetric두 인터페이스의 메트릭 값을 변경하는 데 사용하십시오 . eth0보다 eth1을 늘리면 모든 연결에 eth0이 사용됩니다. 문제를 완전히 해결합니다.


2
이렇게하면 기본 게이트웨이가 즉시 또는 재부팅 후에 변경됩니까?
CMCDragonkai

2

두 번째 느린 인터페이스를 비활성화 한 다음 보조 IP를 기본에 추가해야합니다. 이렇게하려면 인터페이스 파일을 다음과 같이 편집하십시오.

sudo vi /etc/network/interfaces

네트워크 파일에 액세스하면 다음과 같은 메시지가 표시 될 수 있습니다.

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 173.246.100.1
    network 173.246.100.0
    netmask 255.255.252.0
    broadcast 173.246.100.255
    gateway 173.246.103.254

auto eth1
iface eth0 inet static
    address 173.246.100.2
    network 173.246.100.0
    netmask 255.255.252.0
    broadcast 173.246.100.255
    gateway 173.246.103.254

다음과 같이 재구성하십시오.

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 173.246.100.1
    network 173.246.100.0
    netmask 255.255.252.0
    broadcast 173.246.100.255
    gateway 173.246.103.254

iface eth0:1 inet static
    address 173.246.100.2
    network 173.246.100.0
    netmask 255.255.252.0

첫 번째 NIC에 두 IP가 모두 할당됩니다. 이 작업을 완료하면 파일을 저장하고 다음을 실행하십시오.

/etc/init.d/networking restart

그리고 변경 사항이 적용됩니다.

<-편집->

내 경험상 동일한 가상 스위치에 있으면 호스팅 환경이 추가로 잠길 수 있지만 중요하지 않습니다. 그래도 시도해 볼 가치가 있지만, 작동하지 않으면 호스팅 회사에 가상 인터페이스를 더 유능한 것으로 변경하도록 요청할 수 있습니다.

<-편집->

또한 기본 IP가 현재 DNS를 제공하지 않는 경우 DNS에도 사용하지 않는 이유는 무엇입니까? 서로 다른 포트를 사용하므로 하나의 IP에서 여러 가지 다른 서비스를 호스팅 할 수 있습니다.


0

동일한 서브넷에 두 개의 인터페이스가있는 것 같습니다. 약간 이상합니다. Linux (Red Hat 파생 상품을 사용한다고 가정)는에서 GATEWAY 값을 읽어 기본 게이트웨이를 선택합니다 /etc/sysconfig/network. 그러나이 변수는 IP 주소를 인터페이스 이름이 아닌 게이트웨이 식별자로 보유합니다. 따라서 귀하의 경우 하나의 IP 주소가 두 인터페이스의 게이트웨이가 될 수 있으며 일종의 경쟁 조건으로 이어집니다.

왜 두 번째 인터페이스가 필요한지 잘 모르겠습니다. 느린 인터페이스를 완전히 중단하면 어떻게됩니까?


우선, 우분투를 사용하지만 이것이 게이트웨이 문제가 아니라는 것을 알 수 있습니다. 둘째, 두 번째 인터페이스를 중단하면 트래픽이 첫 번째 인터페이스를 사용하지만 두 번째 IP를 잃어 버려서 두 번째 인터페이스가 처음에있는 이유입니다.
user163365

1
별칭을 사용하여 단일 인터페이스에서 두 개의 주소를 쉽게 구성 할 수 있습니다. 빠른 인터페이스를 통한 모든 트래픽, 두 개의 IP 구성, 문제 해결, 아니오? "리눅스는 기본 인터페이스를 어떻게 선택하고 어떻게 기본 인터페이스를 선택합니까?"를 고려하면 게이트웨이 문제가 아닌가?
wzzrd 2016 년

1
가상 인터페이스이기 때문에 작동하지 않습니다. 아마도 지정된 IP에서 들어오는 데이터 만 라우팅하도록 구성되었을 것입니다. 또한이 문제는 게이트웨이가 두 인터페이스에서 동일하기 때문에 게이트웨이가 아닌 인터페이스에 관한 것입니다.
user163365

2
들어오는 요청은 하나의 인터페이스에 도착할 수 있지만, 나가는 것은 이미 임의의 인터페이스를 통해 진행되고 있습니다. 조언을 시도하고 인터페이스 중 하나를 삭제하고 다른 IP를 별명으로 다른 IP에 놓고 작동하는지 확인하십시오. 만약 그들이 당신이 말하는 것처럼 가상이라면, 왜 속도의 차이와 왜 분리를 시도합니까? 젤이 아닌 것.
EightBitTony
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.