debian: ルーターを越えて ping できない

debian: ルーターを越えて ping できない

スタッカーの皆さん、こんにちは。

ネットワーク構成を完璧に計画できたかどうかはわかりません。

私のホームネットワークのトポロジは次のようになります。

モデム/ルーター <-> Debian ルーター <-> LAN

Debian ルーターの背後にある LAN からインターネットにアクセスする必要があります。

これらの3つのルールをDebian ルーター、WANにアクセスできます:

default via 192.168.0.10 dev enp1s0f1
10.0.0.0/24 dev enp1s0f0 proto kernel scope link src 10.0.0.12 
192.168.0.0/24 dev enp1s0f1 proto kernel scope link src 192.168.0.12

192.168.0.10私のモデム/ルーターは192.168.0.0/24モデム/ルーターとDebianルーターのブランチを備えた小規模LANです10.0.0.0/24私のPiがあるプライベートLANです

192.168.0.10私の問題は、ワークステーションから10.0.0.4Debian ルーターを経由してモデムに ping できないことです。

編集: 新しいトライアウト:

私はこのように/etc/network/interfacesを変更しましたDebian ルーター:

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

allow-hotplug enp1s0f0
iface enp1s0f0 inet static
    address 10.0.0.12
    netmask 255.255.255.0

allow-hotplug enp1s0f1
iface enp1s0f1 inet static
    address 192.168.0.12
    netmask 255.255.255.0
    gateway 192.168.0.10

結果: ネットワークサービスの検証に合格しました。これらのルートはDebian ルーター:

default via 192.168.0.10 dev enp1s0f1 onlink 
10.0.0.0/24 dev enp1s0f0 proto kernel scope link src 10.0.0.12 
192.168.0.0/24 dev enp1s0f1 proto kernel scope link src 192.168.0.12 

Debian ルーターから WAN に ping できます。DNS も ping も正常です。10... ネットワーク上の Pi からは、モデム/ルーター .10 に ping できません。Debian ルーターの反対側のインターフェイス (192.168.0.12) に ping できます。

Debianルーターでは、これらのufw設定があります:

*nat

#:PREROUTING ACCEPT - [0:0]
:POSTROUTING ACCEPT - [0:0]

#Port fwd
#-A PREROUTING -i enp1s0f1 -p tcp --dport 22 -j DNAT --to-destination 10.0.0.3

# Forward traffic from source through iface
-A POSTROUTING -s 10.0.0.0/24 -o enp1s0f1 -j MASQUERADE

# don't delete the 'COMMIT' line or these nat table rules won't be processed
COMMIT

Rasbian からモデム/ルーターに ping できない理由がわかりません (ufw では ping が許可されていますが、意味があるかどうかはわかりません)。

net.ipv4.ip_forward=1に設定されていますDebian ルーター

iptables -nvL:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 117K 7348K ACCEPT     all  --  enp1s0f0 *       0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

iptables -t nat -nvL:

Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Rasbianでは、これらのルートがあります(簡略化):

default via 10.0.0.12 { the debian router's directly connected iface }
10.0.0.0/24 via 10.0.0.12

それで、Raspbian Pi からモデムに ping できない理由の手がかりはありますか? :-)

答え1

iptables出力が Debian ルーターからのものであると仮定すると、ファイアウォールMASQUERADEルールは適用されていません。(実際には、ルールはどれも適用されていません。)

この問題を解決するには、次の2つの方法があります。

  1. ufw適切なコマンド(私は使用しません)を使用してファイアウォールルールを適用し、ufw10.0.0.0/24ネットワーク全体がDebianルーターの外部に面した単一のIPアドレスの背後に隠されるようにします。

または

  1. モデム/ルーターに、192.168.0.12 経由で内部の 10.0.0.0/24 ネットワークに到達できることを宣言する静的ルートを作成します。そうしないと、アップストリームを指すデフォルト ルートが、そのようなパケットを送信できる唯一の場所になります。

答え2

問題を発見しました。設定を忘れていたようです

DEFAULT_FORWARD_POLICY="ACCEPT"

/etc/default/ufw に。

@roaima が指摘したように、FORWARD ACCEPT より前には ACCEPT ルールはありませんでした。今では、すべてが期待どおりに動作します :-)

関連情報