web-dev-qa-db-ja.com

debian:ルーターを超えてpingできません

こんにちは仲間のスタッカー、

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

私はこのようなホームネットワークの地形を持っています:

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

私は自分のLANからdebianルーターの後ろでインターネットにアクセスする必要があります。

debian routerに次の3つのルールがある場合、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です。

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

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

私はこのように/ etc/network/interfacesをdebian routerに変更しました:

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、DNS ok、pingokを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=1debianルーターに設定されています。

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

ラズビアンではこれらのルートがあります(簡略化)

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できない理由はありますか?:-)

2
cr1ptal

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

問題を解決するには、次の2つのいずれかを実行できます

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

OR

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

私は問題を見つけました。設定するのを忘れたに違いない

DEFAULT_FORWARD_POLICY="ACCEPT"

/ etc/default/ufwに。

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

0
cr1ptal