インターフェイス間で応答パケットが転送されないのはなぜですか?

インターフェイス間で応答パケットが転送されないのはなぜですか?

私のホストで次のようになります。

                            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を使用しています。

誰でも私を助けることができますか?どんなアドバイスや助けも歓迎します。

ベストアンサー1

おすすめ記事