eth 인터페이스를 사용하여 라우터에 연결하고 wlan을 사용하여 인터넷에 액세스합니다.

eth 인터페이스를 사용하여 라우터에 연결하고 wlan을 사용하여 인터넷에 액세스합니다.

eth0현재 이더넷 케이블을 사용하여 (네트워크 인터페이스) 에 인터페이스하도록 라우터를 구성하려고 합니다 . 라우터가 인터넷에 액세스할 수 없습니다.

이제 무선 인터페이스를 통해 인터넷에 액세스할 수 있는 다른 네트워크(다른 IP 범위 등)에 액세스할 수 있습니다 wlan0.

eth0구성하려는 라우터와 wlan0나머지 부분 에 연결하는 데만 사용 하고 싶습니다 . 이렇게 하면 라우터를 구성하려고 할 때 몇 가지 조사를 할 수 있습니다.

일종의 라우팅을 통해 가능하다고 확신하지만 아직 작동하는 것을 찾지 못했습니다. 문제는 이더넷 케이블을 연결하면 시스템이 eth모든 작업에 해당 연결을 사용하기 시작한다는 것입니다.

결론적으로:

라우터의 주소가 10.0.0.1이라고 가정할 때 eth0해당 인터페이스를 통해 트래픽을 10.0.0.1로 라우팅하고 다른 것을 통해 트래픽을 라우팅 할 수 있는 방법이 있습니까 wlan0?

저는 데비안 스퀴즈를 사용하고 있습니다.

답변1

가장 간단한 방법은 다음과 같습니다.

  1. eth0에서 DHCP를 비활성화하거나 인터페이스를 종료합니다(네트워크 관리자에서 연결을 끊거나 사용 ifdown eth0등).
  2. ip -4 addr add 10.0.0.2/30 dev eth0
  3. ip link set eth0 up

아니면 오래된 것을 선호 ifconfig한다면ifconfig eth0 10.0.0.2 netmask 255.255.255.252 up

마지막 대안으로, 네트워크 관리자를 사용하는 경우(GUI를 사용하여 네트워크를 구성하는 경우일 수 있음) 고정 IP 주소가 10.0.0.2이고 넷마스크가 255.255.255.252인 eth0에 대한 구성 파일을 설정합니다. . 기본 경로와 DNS 서버를 비워 둡니다.

위의 작업 중 하나를 완료한 후에는 10.0.0.1에 ping을 실행할 수 있고 나머지 인터넷에는 계속 액세스할 수 있습니다.

이것이 작동하는 이유는 무엇입니까?

(이것은 단순화된 것입니다. Linux에서의 라우팅에는 실제로많은선택적 복잡성이 있습니다. ) 커널이 IP 패킷을 보내려고 할 때 라우팅 테이블을 참조하여 패킷을 보낼 인터페이스를 결정합니다.

라우팅 테이블에는 일반적으로 각 인터페이스의 로컬 서브넷에 대한 경로가 포함됩니다. 위 명령은 모두 eth0에 서브넷 10.0.0.0/30을 배치합니다. A /30은 4개의 IP 주소입니다(이 예에서는 10.0.0.0~10.0.0.3). 여기에는 라우터(.1)와 상자(.2)가 포함되어 편리합니다. 대부분의 서브넷에서 첫 번째(.0 = "network") 및 마지막(.3 = "broadcast") 주소는 특별히 예약된 의미를 가지므로 사용할 수 없습니다.

로컬 서브넷에 대한 경로 외에도 사용자가 구성하는 고정 경로와 라우팅 프로토콜의 경로가 있습니다(이는 사용자 또는 99%의 사용자에게 적용되지 않음).

마지막으로 나머지 트래픽을 어디로 보낼지 알려주는 "기본" 경로가 있습니다. 이 경로는 실제로 특별한 것이 아닙니다. 0.0.0.0/0(즉, 전체 IPv4 주소 공간)에 대한 경로입니다. 경로 조회가 작동하는 방식 때문에 이것이 기본값입니다...

기본적으로 다음 순서로 확인합니다.

  1. 로컬 IP 주소(즉, 이 기기의 IP 주소)인가요? 그렇다면 나에게 전달해 주세요.
  2. 그런 다음 가장 구체적인(IP 주소가 가장 적은 서브넷)부터 가장 덜 구체적인(IP 주소가 가장 많은 서브넷) 순으로 모든 경로의 순서를 지정합니다.
  3. 맨 위에서 시작하여 일치하는 항목이 있을 때까지 정렬된 목록을 따라 내려가세요.
  4. 일치하는 항목이 없으면 포기하고 액세스할 수 없는 오류를 생성합니다.

따라서 0.0.0.0/0 경로가 목록 맨 아래에 정렬되어 있으므로 기본값입니다. 10.0.0.0/30 경로는 최상위는 아니더라도 목록에서 상당히 높은 위치에 있을 것입니다. 기본적으로 그 기능은 예외입니다. "인터넷으로 트래픽을 보내고,~하지 않는 한10.0.0.0/30"에 적합

이 이상한 것/30 가지는 무엇입니까?

/X("CIDR 표기법"이라고도 함)는 네트워크 마스크를 지정하는 빠른 방법입니다. metmask에 설정된 비트 수를 계산합니다. 따라서 넷마스크 255.255.255.255(단일 IP)는 모든 비트가 설정되어 있으므로 /32입니다. ...254(IP 2개)는 /31, ...252는 /30, 최대 0.0.0.0(모든 IPv4 주소)은 /0입니다. 일반적인 255.255.255.0은 /24입니다.

답변2

가능한 옵션은 다음과 같습니다.

1

eth0을 구성하는 데 DHCP를 사용하지 마십시오. 대신 정적 구성을 사용하고 게이트웨이를 설정하지 마세요. DHCP는 컴퓨터가 모든 트래픽에 이를 사용하도록 라우터의 기본 게이트웨이를 설정합니다. 게이트웨이가 설정되지 않으면 해당 인터페이스만 사용하여 해당 네트워크의 호스트와 통신합니다.

2

라우터에게 자신을 게이트웨이로 알리지 않도록 지시합니다. 이는 대부분의 라우터에서는 불가능하므로 전혀 옵션이 아닐 수도 있습니다.

데비안이 DHCP를 통해 라우터가 알리는 게이트웨이 설정을 무시할 수도 있지만, 저는 데비안을 사용하지 않아서 잘 모르겠습니다. 이는 데비안이 네트워크 장치를 구성하는 데 무엇을 사용하는지에 따라 다릅니다.

4

또한 데비안의 경우 인터페이스를 불러온 후 스크립트를 실행하고 DHCP에서 추가한 게이트웨이 경로를 제거하도록 할 수 있습니다.

관련 정보