내 네트워크 토폴로지는 다음과 같습니다.
- ISP: 192.168.0.1
- pfSense: (ip dhcp) <-> 192.168.1.1
- pfSense는 인터페이스(ip dhcp)에서 나가는 모든 트래픽이 NAT되어 모든 "내부" 주소를 단일 IP에 매핑하도록 아웃바운드 NAT를 수행합니다.
- 이는 ISP 라우터가 192.168.2.X로 향하는 트래픽을 볼 수 있지만 192.168.2.X가 무엇인지 알지 못하는 문제를 방지하기 위한 것입니다. (고정 경로를 설정할 수 없습니다.)
- Raspberry-Pi: (pfSense의 ip dhcp) <-> 192.168.2.254
- 다른 장치는 dnsmasq를 통해 Raspberry-Pi로부터 IP 주소를 받습니다.
ISP [192.168.0.1] <-> [DHCP IP] pfSense [192.168.1.1] <->
[192.168.1.220 DHCP reserved] R-Pi [192.168.2.254] <->
devs on my network incl 192.168.2.101
다음은 그러한 장치의 예입니다.
- 192.168.2.101
- 192.168.2.254로 핑 = 확인
- 192.168.1.1에 대한 핑 = 실패
반대로:
- 192.168.1.1(pfSense)은 192.168.2.101을 성공적으로 ping할 수 있습니다.
pfSense에서 IP 192.168.1.220(pfSense DHCP에서 제공한 값, 분명한 이유로 예약된 IP임)으로 게이트웨이(LAN 인터페이스)를 설정했습니다.
또한 192.168.1.220을 통해 네트워크 192.168.2.0/24에 대한 고정 경로를 설정했습니다.
라즈베리파이 iptables가 새로워졌습니다.
다음은 컴퓨터 192.168.2.101을 사용하여 pfSense 상자(192.168.1.1)에 ping을 보내는 패킷 캡처입니다.
14:43:41.042222 IP 192.168.2.101 > 192.168.1.1: ICMP echo request, id 2215, seq 1, length 64
14:43:42.050051 IP 192.168.2.101 > 192.168.1.1: ICMP echo request, id 2215, seq 2, length 64
14:43:43.074070 IP 192.168.2.101 > 192.168.1.1: ICMP echo request, id 2215, seq 3, length 64
14:43:44.098041 IP 192.168.2.101 > 192.168.1.1: ICMP echo request, id 2215, seq 4, length 64
14:43:45.122050 IP 192.168.2.101 > 192.168.1.1: ICMP echo request, id 2215, seq 5, length 64
14:43:46.146034 IP 192.168.2.101 > 192.168.1.1: ICMP echo request, id 2215, seq 6, length 64
14:43:47.169980 IP 192.168.2.101 > 192.168.1.1: ICMP echo request, id 2215, seq 7, length 64
14:43:48.193955 IP 192.168.2.101 > 192.168.1.1: ICMP echo request, id 2215, seq 8, length 64
14:43:49.218050 IP 192.168.2.101 > 192.168.1.1: ICMP echo request, id 2215, seq 9, length 64
14:43:50.241974 IP 192.168.2.101 > 192.168.1.1: ICMP echo request, id 2215, seq 10, length 64
14:43:51.265982 IP 192.168.2.101 > 192.168.1.1: ICMP echo request, id 2215, seq 11, length 64
14:43:52.290022 IP 192.168.2.101 > 192.168.1.1: ICMP echo request, id 2215, seq 12, length 64
14:43:53.313970 IP 192.168.2.101 > 192.168.1.1: ICMP echo request, id 2215, seq 13, length 64
14:43:54.337960 IP 192.168.2.101 > 192.168.1.1: ICMP echo request, id 2215, seq 14, length 64
14:43:55.361926 IP 192.168.2.101 > 192.168.1.1: ICMP echo request, id 2215, seq 15, length 64
14:43:56.385927 IP 192.168.2.101 > 192.168.1.1: ICMP echo request, id 2215, seq 16, length 64
pfSense 라우터는 응답을 시도조차 하지 않는 것 같습니다. 네트워크 192.168.2.101
에서 사용 중인 장치 에 SSH를 통해 연결할 수 있기 때문에 이것은 정말 이상해 보입니다. 192.168.1.0
따라서 pfSense 상자는 192.168.2.0
특정 주소로 향하는 트래픽을 어디로 보낼지 정확히 알고 있습니다.
이 문제를 진단하기 위해 추가로 무엇을 테스트해야 할지 잘 모르겠습니다.
라즈베리 파이dnsmasq.conf
dhcp-lease-max=11
server=192.168.2.1
server=192.168.1.1
interface=eth0
dhcp-range=192.168.2.128,192.168.2.199,255.255.255.0,24h
dhcp-host=... some stuff here...
ip route
default via 192.168.1.1 dev eth1 proto dhcp src 192.168.1.220 metric 204
192.168.1.0/24 dev eth1 proto dhcp scope link src 192.168.1.220 metric 204
192.168.2.0/24 dev eth0 proto dhcp scope link src 192.168.2.254 metric 202