무선을 우선으로하는 유선 연결


0

나는 두 개의 리눅스 머신을 연결했다. 한 컴퓨터는 내 라우터에 무선으로 연결되어 있지만 다른 컴퓨터는 무선으로 연결되어 있지 않습니다. 무선 액세스가없는 시스템 (PC1)은 고유 한 고정 IP를 갖도록 구성되며 다른 시스템 (PC2)은 기본 게이트웨이로 설정됩니다. PC2는 고유 한 IP를 가지며 라우터를 기본 게이트웨이로 사용하도록 구성됩니다. 유선 연결을 활성화하면 PC1은 PC2의 eth0 및 wlan0 인터페이스와 통신 할 수 있으며 PC2는 PC1과 통신 할 수 있습니다. 유감스럽게도 유선 연결이 활성화 된 경우 PC2는 라우터와 통신 할 수 없으므로 PC1도 통신 할 수 없습니다. 기본적으로 PC2 유선 및 무선 연결은 동시에 작동 할 수 없습니다.

PC2 (참고 : route-n유선 사용 여부에 관계없이 동일)

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.138      0.0.0.0         UG    0      0        0 wlan0
10.0.0.0        0.0.0.0         255.255.255.0   U     1      0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     9      0        0 wlan0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0

docker0   Link encap:Ethernet  HWaddr 56:84:7a:fe:97:99  
          inet addr:172.17.42.1  Bcast:0.0.0.0  Mask:255.255.0.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth0      Link encap:Ethernet  HWaddr 60:a4:4c:62:ee:86  
          inet addr:10.0.0.140  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::62a4:4cff:fe62:ee86/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:155 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7744 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12554 (12.5 KB)  TX bytes:1509568 (1.5 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2179347 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2179347 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:217854881 (217.8 MB)  TX bytes:217854881 (217.8 MB)

wlan0     Link encap:Ethernet  HWaddr c0:4a:00:66:58:98  
          inet addr:10.0.0.103  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::c24a:ff:fe66:5898/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1605422 errors:0 dropped:0 overruns:0 frame:0
          TX packets:669649 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1405768536 (1.4 GB)  TX bytes:83997471 (83.9 MB)

PC1 (참고 : PC1의 ifconfig를 검색 할 수 없습니다)

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.139      0.0.0.0         UG    0      0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     1      0        0 eth0

안녕하세요, 수퍼 유저에게 오신 것을 환영합니다. PC1 및 PC2 의 출력 ifconfigroute -n라우터의 IP 및 서브넷 마스크를 게시물에 추가 할 수 있습니다.
Mark Riddell

@MarkoPolo의 의견 외에도 route -n유선 연결이 비활성화되고 활성화 된 경우 별도의 출력을 포함 하시겠습니까?
AFH

PC2가이 구성으로 인터넷에 액세스 할 수 있다고 믿기가 어렵습니다. 라우터 주소가 게이트웨이가 될 것으로 예상했을 때 일반적으로 192.160.0.1또는 192.168.0.254입니다. 또한, "유선 연결을 활성화하면 PC1이 PC2의 eth0 및 wlan0 인터페이스와 통신 할 수 있습니다"와 "유선 연결이 활성화 된 경우 PC2가 라우터와 통신 할 수 없습니다"라는 말은 모순되는 것처럼 보입니다. PC1은 어떤 의미에서 무선 인터페이스와 통신합니까?
AFH

라우터의 IP는 10.0.0.138입니다. 베트남에서 만든 저렴한 Technicolor 라우터이기 때문입니다. PC1에서 wlan0의 주소를 핑하면 응답이 있지만 PC2에서 라우터를 핑하면 얻을 수 destination host unreachable있습니다. 유선을 비활성화하면이 문제가 해결되지만 PC1과 PC2 사이의 연결은 분명히 끊어집니다.
ayNONE

브리징 설정 방법에 문제가 있다고 생각합니다. 인터넷 연결 공유는 게이트웨이를 유선 네트워크 전용으로 사용하여 ICS가 활성화 된 PC를 차단할 수 있습니다. 이것은 확실히 Windows에서 발생하지만 Linux에서 수행 한 이후 시간이 지났으며 공유가 활성화되어있는 동안 공유 컴퓨터가 인터넷에 액세스 할 수 있는지 여부를 기억할 수 없습니다.
AFH

답변:


0

PC2 라우팅 테이블의 현재 설정이 문제입니다. 중요하지 않은 열을 제거하고 넷 마스크에서 CIDR 표기법으로 변환하여 여기에서 재현했습니다.

Destination     Gateway         Metric Iface
0.0.0.0/0       10.0.0.138      0      wlan0
10.0.0.0/24     0.0.0.0         1      eth0
10.0.0.0/24     0.0.0.0         9      wlan0

첫 번째 행은 일반 영어로 "다른 모든 사이트로의 트래픽은 10.0.0.138 게이트웨이를 통해 전송 됨"을 의미합니다.

두 번째와 세 번째 행은 동일한 대상을 제공하므로 더 낮은 메트릭이 승리합니다. 행 3은 물론 거기에 없을 수도 있습니다. 일반 영어의 의미 "게이트웨이 10.0.0.138 및 다른 모든 10.0.0. * 피어에 도달하려면 eth0을 통해 전송하십시오."

이로 인해 eth0을 통과하는 인터넷으로 향하는 트래픽이 발생하므로 연결이 끊어집니다.

동일한 네트워크의 서로 다른 두 브리징 도메인에 동일한 서브넷이 사용되어 허용되지 않기 때문에 문제가 발생합니다. 그만!

PC2의 eth0 인터페이스의 넷 마스크를 255.255.252.0으로 변경하고 라우터의 IP 주소를 더 라우트하면 라우팅 테이블이 변경됩니다 (예 : PC2 eth0 10.0.0.21 및 PC1 eth0 10.0.0.22).

Destination     Gateway         Metric Iface
0.0.0.0/0       10.0.0.138      0      wlan0
10.0.0.20/30    0.0.0.0         1      eth0
10.0.0.0/24     0.0.0.0         9      wlan0

이제 게이트웨이 10.0.0.138으로의 트래픽은 두 번째 행과 전혀 일치하지 않으며 세 번째 행을 올바르게 사용합니다.

유선 연결에 겹치지 않는 범위를 사용하는 것이 더 좋습니다 (예 : 10.0.1.x).

PC1에서도 인터넷에 액세스하려면 라우터가 PC2를 통해 PC1으로 향하는 트래픽을 보내야합니다. 이것을 설정하는 방법에는 라우터의 라우팅 테이블을 변경하거나 프록시 ARP를 수행하도록 PC2를 구성하는 두 가지 방법이 있습니다.


좋은 프록시 ARP 가이드를 추천 할 수 있습니까?
ayNONE

PC2의 인터넷 연결이 다시 작동합니까?
Ben Voigt 2016 년

예. PC1이 인터넷에 연결하거나 라우터를 핑 (ping) 할 수없는 경우를 제외하고는 모든 것이 작동합니다.
ayNONE


0

문제를 일으킬 수있는 몇 가지 사항이 있습니다.

  1. PC1이 PC2를 기본 게이트웨이로 사용하고 있지만 실제로 PC1의 라우팅 테이블 10.0.0.139은 PC2의 eth0 인터페이스가 아니라 기본 게이트웨이로 표시 됩니다.10.0.0.140
  2. PC2가 PC1의 트래픽 라우팅을 담당하는 경우 PC2에서 IP 전달을 설정 했습니까? 나는 이것이 리눅스에서 기본적으로 활성화되어 있다고 생각하지 않습니다. 로 확인하십시오 cat /proc/sys/net/ipv4/ip_forward. 값이 0이면 PC2는 PC1이 전송 한 라우팅 가능한 모든 트래픽을 삭제합니다. 전원을 켜야하는 경우 가이드 .
  3. PC2에서 IP 전달이 실제로 활성화 된 경우, iptables가 순방향 체인에 도달하는 트래픽을 허용하도록 구성 되었습니까? iptables -nvL전달 체인 규칙을 확인합니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.