
안녕하세요 스태커 여러분,
네트워크 구성을 완벽하게 계획했는지 잘 모르겠습니다.
다음과 같은 홈 네트워크 지형이 있습니다.
모뎀/라우터 <-> 데비안 라우터 <-> LAN.
데비안 라우터 뒤의 LAN에서 인터넷에 접속해야 합니다.
이 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
모뎀/라우터와 데비안 라우터의 분기가 있는 소규모 LAN입니다..10.0.0.0/24
내 Pi가 있는 개인 LAN은.
192.168.0.10
내 문제는 내 워크스테이션에서 10.0.0.4
데비안 라우터를 통해 모뎀에 ping을 보낼 수 없다는 것입니다 .
편집: 새로운 시험:
나는 이런 방식으로 /etc/network/interfaces를 수정했습니다.데비안 라우터:
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
결과: 네트워킹 서비스 유효성 검사를 통과했습니다. 이는 다음 경로를 생성합니다.데비안 라우터:
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
데비안 라우터에서 WAN, DNS 확인, 핑 확인을 통해 핑을 보낼 수 있습니다. 10... 네트워크의 Pi에서 모뎀/라우터 .10을 ping할 수 없습니다. 데비안 라우터(192.168.0.12)의 다른 쪽 인터페이스에 ping을 보낼 수 있습니다.
데비안 라우터에는 다음과 같은 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
에 설정되어 있습니다데비안 라우터.
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
규칙이 적용되지 않았습니다. (실제로는 어떤 규칙도 적용되지 않았습니다.)
문제를 해결하려면 두 가지 중 하나를 수행할 수 있습니다.
- 전체 10.0.0.0/24 네트워크가 데비안 라우터의 단일 외부 연결 IP 주소 뒤에 숨겨지도록 적절한
ufw
명령(나는 사용하지 않음 ) 을 사용하여 방화벽 규칙을 적용합니다.ufw
또는
- 192.168.0.12를 통해 내부 10.0.0.0/24 네트워크에 연결할 수 있다고 선언하는 모뎀/라우터에 정적 경로를 만듭니다. 그렇지 않으면 업스트림을 가리키는 기본 경로가 그러한 패킷을 보낼 수 있는 유일한 장소가 됩니다.
답변2
문제를 발견했습니다. 설정하는 걸 잊어버렸나 봐
DEFAULT_FORWARD_POLICY="ACCEPT"
/etc/default/ufw에 들어갑니다.
@roaima가 지적했듯이 FORWARD ACCEPT 이전에는 ACCEPT 규칙이 없었습니다. 이제 모든 것이 예상대로 작동합니다 :-)