Raspberry가 특정 네트워크에서 인터넷을 받도록 강제


13

ppp 및 wvdial을 켜서 부팅시 3G 동글에 연결하도록 RPi를 구성했습니다.

/etc/network/interfaces

Pi가 부팅되고 인터넷에 연결되어 있습니다. 완전한.

이제 내 문제는 이더넷을 통해 Pi를 컴퓨터에 연결할 때마다 (이 자습서 사용 ) 인터넷 연결이 끊어진 다는 것 입니다. 컴퓨터에서 연결을 끊은 후에도 여전히 연결되지 않는 경우 다시 연결해야 인터넷에 다시 연결할 수 있습니다.

Pigle이 내 컴퓨터에 연결하는 대신 동글의 인터페이스를 통해 인터넷에 연결되어있게하는 방법이 있습니까?


두 연결 모두 DHCP를 사용합니까?
로렌스

ifconfig 출력은 어떻게 생겼습니까?
Bex

ppp0보다 eth0에 더 높은 메트릭을 설정하면 원하는 것을 얻을 수 있습니다. 낮은 메트릭이 우선 순위가 높은 메트릭입니다.
로렌스

답변:


6

리눅스 (라스 피안, 데비안 등)로 작업한다고 가정합니다.

두 가지 다른 질문을 할 때는 먼저 제목 질문에 대답하겠습니다.

Raspberry가 특정 네트워크에서 인터넷을 받도록 강제

나는 당신의 단어 "network"( "인터페이스"가 아닌)를 잠그고 순수한 IP 의미로 이것을 대답 할 것입니다.

인터넷을 제공 할 수있는 연결이 여러 개인 경우 라우팅 테이블을 통해 사용할 연결을 제어합니다.

내가 일반적으로 사용하는 라우팅 테이블을 보려면 netstat -rn( -r"라우팅 표시", -n"숫자 표시, DNS 조회를 시도하지 마십시오. 인터넷이 올바르게 구성되지 않은 경우 중단 될 수 있습니다"). 정말 간단한 예는 다음과 같습니다.

pi@homeServer ~ $ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.9.1     0.0.0.0         UG        0 0          0 eth0
192.168.9.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
172.20.10.0     0.0.0.0         255.255.255.240 U         0 0          0 wlan0
pi@homeServer ~ $ 

IP 패킷의 진행 방식을 나타내는 출력의 행은 dest 0.0.0.0및 genmask가있는 행으로 0.0.0.0, 일반적으로 default route(마스크 0.0.0.0는 모두 와일드 카드이며 실제로 기본 경로의 마커 임) 현재`192.168.9 '범위의 특정 주소를 가리 키므로 인터넷 트래픽은 이더넷 인터페이스를 통해 전송됩니다.

인터넷을 다른 네트워크로 전환하려면 (루트로) route명령을 사용합니다 .이 경우 Wi-Fi 연결이 지점 간이 아니기 때문에 라우터의 IP 주소를 알아야합니다. 해당 네트워크에서 트래픽을 전달 (내 경우에는 172.20.10.1)하므로 다음과 같이하십시오.

  1. 현재 기본 경로 삭제

    sudo route del default
    
  2. 다른 네트워크에 대한 새로운 기본 경로 추가

    sudo route add default gw 172.20.10.1
    

참고로 사용하는 동안 route일부는 더 이상 사용되지 않는 것으로 간주하고 대신 ip route명령을 사용하는 것이 좋습니다 . 구문은 아래의 @Fred 주석을 참조하십시오. 지원 중단에 대한 참조

동글의 인터페이스를 통해 연결 상태를 유지하는 방법이 있습니까

내가 pppand 와 함께 일한 지 얼마되지 않았으며 wvdial구성 (또는 적어도 설정 한 가이드를 참조) 없이는 실제로 어떤 문제가 발생했는지 추측하기가 어렵지만 몇 가지 아이디어로 생각합니다.

  • 연결이 실제로 다운되었거나 eth0이 나타 났을 때 기본 경로를 잃어 버렸습니까?
    • netstat -rn및 에서 모두 확인하십시오 ifconfig.
    • 의 인터페이스는 netstat -rn? 그렇다면 기본 경로가 있습니까?
    • 에서 ifconfig당신이 동글 (가능성에 대한 인터페이스를 참조 할 ppp)? 그렇 UP습니까?
  • 어디서 ppp/ wvdial로그인 지 기억할 수 없지만 확인해야합니다. 이 로그는 연결 상태를 알려주며 어떤 이유로 전체 시스템이 종료되었는지 알려줍니다.
  • 인터페이스가 보이면 ping무언가를 시도해 보고 연결이되는지 확인하십시오.
    • 나는 알고있다 ppp/의 wvdial(구성에 따라) 콤보 몇 가지 자동 연결 기능이 있습니다
      • 따라서 연결에 핑이 발생했거나 연결이 계속 유지 된 경우 : 이더넷을 가져올 때 (ppp) 기본 경로가 손실 될 수 있습니다.
      • 이것이 문제라면 기본 경로를 추가하기 만하면 전체 시스템이 다시 온라인 상태가됩니다.

2
ip route동일한 구문을 사용하지 않습니다. 그러나 출력으로 복사하여 붙여 넣어 입력으로 사용할 수 있습니다. 예를 들어으로 표시 default via 192.168.9.1 dev eth0되면을 실행하여 간단히 해당 경로를 제거 할 수 있습니다 ip route del default via 192.168.9.1 dev eth0. 출력을 템플릿으로 쉽게 사용하여 새 명령을 추가 할 수 있습니다 (예 :) ip route add default via 172.20.10.1 dev wlan0.
Fred
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.