인터페이스 간에 응답 패킷이 전달되지 않는 이유는 무엇입니까?

인터페이스 간에 응답 패킷이 전달되지 않는 이유는 무엇입니까?

내 호스트에서 다음이 발생합니다.

                            veth5
                          10.0.0.3
                              o  
                              |
-----------------      ------------    -----------------                         eth0
|      veth1 o--| ---- |   br0    |----|--o         o--|----o               o------o------ internet
|     10.0.0.2  |      ------------    | veth3   veth6 |  veth7            ppp0
|               |                      |               | 192.168.1.2     192.168.100.169
|     client    |                      |    helper     |
-----------------                      -----------------

라우팅 구성은 정책 기반 라우팅을 사용하여 수행됩니다. 이에 따르면 호스트에서 인터넷으로 전송된 패킷(예: ping 사용)은 veth5를 통해 내 네트워크로 들어간 다음 네임스페이스로 들어갑니다.돕는 사람. 여기에서 veth7로 전달된 다음 ppp0으로 전달되어 인터넷으로 전달됩니다.

명령의 출력은 다음 ip rule과 같습니다.

0:     from all lookup local
2997:  from 192.168.1.2 lookup T2
2998:  from 192.168.100.169 lookup T2
2999:  from all iif lo lookup T3
3000:  from all iif veth7 lookup T1
3001:  from all iif ppp0 lookup T1
4000:  from all lookup T4
32766: from all lookup main
32767: from all lookup default

T1 테이블기입:

default dev ppp0 scope link
10.0.0.0.0/24 via 192.168.1.1 dev veth7
192.168.1.0/24 dev veth7 scope link
192.168.100.180 dev ppp0 scope link

T2 테이블기입:

default dev ppp0 scope link
10.0.0.0.0/24 via 192.168.1.1 dev veth7
192.168.1.0/24 dev veth7 scope link
192.168.100.180 dev ppp0 scope link

T3 테이블기입:

default via 10.0.0.1 dev veth5
10.0.0.0/24 dev veth5 scope link

T4 테이블기입:

broadcast 10.0.0.0 dev veth5 proto kernel scope link src 10.0.0.3
local 10.0.0.3 dev veth5 proto kernel scope host src 10.0.0.3
broadcast 10.0.0.255 dev veth5 proto kernel scope link src 10.0.0.3

로컬 테이블기입:

broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
broadcast 192.168.1.0 dev veth7 proto kernel scope link src 192.168.1.2
local 192.168.1.2 dev veth7 proto kernel scope host src 192.168.1.2
broadcast 192.168.1.255 dev veth7 proto kernel scope link src 192.168.1.2
broadcast 192.168.100.0 dev ppp0 proto kernel scope link src 192.168.100.169
local 192.168.100.169 dev ppp0 proto kernel scope host src 192.168.100.169

이것기본 테이블그리고기본 테이블비었다.

호스트에서 8.8.8.8을 ping하면 응답을 받지만, ping(예: www.google.com)을 하면 DNS 응답이 ppp0에 도달하지만 로 전달되지 않습니다 veth7. TCP 패킷을 보낼 때에도 동일한 문제가 발생합니다. 서버의 SYN-ACK 패킷은 ppp0 인터페이스에 도달하지만 라우팅 규칙에 따라 veth7 인터페이스로 전달되지 않습니다. 문제가 패킷의 레이어 4와 관련이 있는 것 같지만 해결 방법을 모르겠습니다.

ping wwww.google.com그러나 이름 지정에서 명령을 실행하면고객, 답장을 받았습니다.

저는 커널 버전 4.4.0-96-generic과 함께 Ubuntu 14.04.1을 사용하고 있습니다.

누구든지 나를 도와줄 수 있나요? 어떤 조언이나 도움도 환영합니다.

관련 정보