eth0 및 wwan0 네트워크 인터페이스를 모두 ping 할 수 없음


0

setup : 리눅스는 Eth0과 wwan0 인터페이스로 구성되어 있습니다. Eth0은 이더넷에 연결되고 wwan0은 동글을 통해 연결됩니다. 두 연결 모두 인터넷에 연결되어 있습니다.

문제 : 장치를 불러올 때 기본 경로는 eth0이며 eth0도 핑할 수 있습니다. wwan0도 작동하지만 eth0을 통해 ping 할 수는 없습니다. eth0의 연결을 끊으면 wwan0에서 ping이 제대로 작동합니다. 이제 이더넷을 다시 삽입하면 eth0으로 ping 할 수 없습니다. 테스트 사례에서는 이더넷과 동글을 자주 삽입해야합니다.

ifconfig -a

eth0      Link encap:Ethernet  HWaddr 70:B3:D5:9A:EF:FC
      inet addr:192.168.2.166  Bcast:192.168.3.255  Mask:255.255.252.0
      inet6 addr: fe80::72b3:d5ff:fe9a:effc%1996138192/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:129768 errors:0 dropped:0 overruns:0 frame:0
      TX packets:61524 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:12669568 (12.0 MiB)  TX bytes:1411543 (1.3 MiB)

wlan0     Link encap:Ethernet  HWaddr 60:F1:89:39:07:8E
          inet addr:192.168.42.1  Bcast:192.168.42.255  Mask:255.255.255.0
          inet6 addr: fe80::62f1:89ff:fe39:78e%1996138192/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2865 errors:0 dropped:0 overruns:0 frame:0
          TX packets:704 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:530933 (518.4 KiB)  TX bytes:152134 (148.5 KiB)

wwan0     Link encap:Ethernet  HWaddr 00:1E:10:1F:00:00
          inet addr:10.166.235.232  Bcast:10.166.235.239  Mask:255.255.255.240
          inet6 addr: fe80::21e:10ff:fe1f:0%1996138192/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:194 errors:0 dropped:0 overruns:0 frame:0
          TX packets:476 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:30622 (29.9 KiB)  TX bytes:40449 (39.5 KiB)

eth0이 기본값 일 때 라우팅

default         192.168.2.1     0.0.0.0         UG    0      0        0 eth0
8.8.8.8         192.168.2.1     255.255.255.255 UGH   0      0        0 eth0
10.166.235.224  *               255.255.255.240 U     0      0        0 wwan0
59.144.127.17   192.168.2.1     255.255.255.255 UGH   0      0        0 eth0
192.168.0.0     *               255.255.252.0   U     0      0        0 eth0
192.168.2.1     *               255.255.255.255 UH    0      0        0 eth0
192.168.42.0    *               255.255.255.0   U     0      0        0 wlan0

현재 핑 상태 :

# ping -I eth0 -c 3 -W 10 www.google.com
PING www.google.com (172.217.166.36): 56 data bytes
64 bytes from 172.217.166.36: seq=0 ttl=57 time=17.688 ms
64 bytes from 172.217.166.36: seq=1 ttl=57 time=16.523 ms
64 bytes from 172.217.166.36: seq=2 ttl=57 time=16.279 ms

--- www.google.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 16.279/16.830/17.688 ms
# ping -I wwan0 -c 3 -W 10 www.google.com
PING www.google.com (172.217.166.36): 56 data bytes


--- www.google.com ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss

wwan0의 추적 경로

# traceroute -i wwan0 www.google.com
traceroute to www.google.com (172.217.166.36), 30 hops max, 38 byte packets
 1  local (10.166.235.232)  2996.178 ms !H  2995.670 ms !H  2999.194 ms !H
Here packets are getting dropped at wwan0 interface only.

Iptable -L

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere             tcp dpts:0:1023
ACCEPT     udp  --  anywhere             anywhere             udp dpts:0:1023

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             192.168.0.0/16
ACCEPT     all  --  192.168.0.0/16       anywhere
ACCEPT     all  --  anywhere             192.168.0.0/16

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

wwan0이 기본 경로 인 경우 IP 테이블은 동일합니다.

즉, 두 인터페이스 중 항상 기본 인터페이스를 핑 (ping) 할 수 있습니다. 언제든지 인터페이스에 핑을 할 수 있도록 도와주세요.

wwan0의 기본 경로를 추가하려고했습니다.

ip route change to default dev wwan0 via 10.166.235.230

그러나이 후 wwan0을 통해 ping 할 수는 있지만 eth0을 통해 핑할 수는 없습니다.

편집 1

다시 연결할 때마다 eth0 및 wwan0에 경로를 추가 하여이 문제를 해결할 수 있습니다. 그러나 이제 각 인터페이스에 라우팅 할 게이트웨이를 추가해야합니다. 내 라우팅 테이블에서 다른 게이트웨이가 아닌 하나의 게이트웨이 (기본값) 만 볼 수 있습니다. 두 인터페이스 모두에 게이트웨이를 사용할 수 있으면 일부 플러그 / 플러그 해제가 발생하자마자 실행되는 스크립트를 실행할 수 있으며 경로를 다시 추가 할 수 있습니다. 이것에 대해 도와주세요.

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.2.1     0.0.0.0         UG    0      0        0 eth0
8.8.8.8         192.168.2.1     255.255.255.255 UGH   0      0        0 eth0
**10.177.88.96    *               255.255.255.240 U     0      0        0 wwan0**
59.144.127.17   192.168.2.1     255.255.255.255 UGH   0      0        0 eth0
192.168.0.0     *               255.255.252.0   U     0      0        0 eth0
192.168.2.1     *               255.255.255.255 UH    0      0        0 eth0

2
아마도 다른 여러 게시물의 복제본 일 것입니다. 모든 답변은 "당신은 다음을 통한 정책 라우팅이 필요합니다 ip rule"입니다.
grawity

예를 들어 주시겠습니까? 저의 유스 케이스는 이더넷이 연결될 때 항상 인터넷이 이더넷에 액세스되어야하며 이더넷이 제거 될 때 동글을 사용해야한다는 것입니다.
Ashish

두 인터페이스 모두에 대해 기본 게이트웨이를 라우트에 추가해야하는 경우 기본 게이트웨이를 즉시 사용할 수 있도록하려면 어떻게해야합니까? 내 ifconfig -a는 게이트웨이 정보를 제공하지 않습니다.
Ashish

eth0의 작동 여부에 따라 eth0 / wwan0의 단일 기본 경로를 전환하려면 시스템의 어느 부분에서 경로를 설정하고 있는지 확인해야합니다. 여러 후보 (네트워크 관리자, 기존 ifup / ifdown 스크립트, 인터페이스가 가동되면 DCHP 클라이언트)가 있습니다. 일단 발견하면 후보를 올바르게 구성하십시오. DHCP를 통해받는 경로는 매번 다를 수 있습니다.
dirkt

lartc.org/howto/lartc.rpdb.multiple-links.html : 내 표준 (하지만 쓸모없는) 예제 입니다. 4.2와 4.2.1은 괜찮습니다. 4.2.2는 아마도 더 이상 작동하지 않을 것입니다
AB
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.