배경:
OpenWRT를 실행하는 가정용 라우터 뒤의 명령줄에서 openvpn 클라이언트(v2.4.4)를 통해 서버에 연결합니다.
최근 시스템 로그에서 다음과 같은 내용을 확인했습니다.
Aug 8 17:16:28 Deluxe kernel: [12972.603549] IPv4: martian source 192.168.1.100 from 34.210.182.212, on dev eno1
Aug 8 17:16:28 Deluxe kernel: [12972.603572] ll header: 00000000: d0 17 c2 ac 64 4b c4 e9 84 48 79 32 08 00 ....dK...Hy2..
Aug 8 17:16:28 Deluxe kernel: [12972.910801] IPv4: martian source 192.168.1.100 from 34.210.182.212, on dev eno1
Aug 8 17:16:28 Deluxe kernel: [12972.910822] ll header: 00000000: d0 17 c2 ac 64 4b c4 e9 84 48 79 32 08 00 ....dK...Hy2..
Aug 8 17:16:28 Deluxe kernel: [12973.230932] IPv4: martian source 192.168.1.100 from 34.210.182.212, on dev eno1
Aug 8 17:16:28 Deluxe kernel: [12973.230953] ll header: 00000000: d0 17 c2 ac 64 4b c4 e9 84 48 79 32 08 00 ....dK...Hy2..
줄의 첫 번째 MAC 주소 ll header
는 내 네트워크 카드이고 두 번째는 라우터의 이더넷 인터페이스입니다.
연결하기 전의 라우팅 테이블은 다음과 같습니다.
[2020-08-08 ☱ 18:35 ☴]$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eno1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eno1
연결한 직후에는 다음과 같습니다.
[2020-08-08 ☱ 18:35 ☴]$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.25.40.1 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eno1
10.25.40.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
128.0.0.0 10.25.40.1 128.0.0.0 UG 0 0 0 tun0
185.228.19.148 192.168.1.1 255.255.255.255 UGH 0 0 0 eno1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eno1
마지막 호스트 IP에서 두 번째가 VPN 게이트웨이입니다. 어댑터 tun0
는 다음과 같이 구성됩니다.inet 10.25.40.244 netmask 255.255.255.0 destination 10.25.40.244
3~5분 후에는 화성 교통량이 줄어들고 빈도가 낮아집니다.
openvpn
라우터 없이(모뎀에 직접) 연결을 테스트했는데 같은 일이 일어났습니다.
여기서는 한계가 있지만 라우팅이 갑자기 변경되면(사용자가 시작한 VPN 연결에서 발생하는 것처럼) 설정된/관련 연결이 지속되고 유효하지 않은 것으로 삭제되는 것 같습니다. 시간이 지나면 이러한 연결은 사라집니다.
질문:
- 화성 패킷의 원인에 대한 나의 이해가 정확합니까?
- 이러한 패킷을 잃지 않으려면 어떻게 해야 합니까? 예를 들어
nat
ORmangle
테이블을 사용하여iptables
이러한 패킷을tun
인터페이스 로 보낼 수 있습니까 ?
답변1
- 당신의 이해가 정확합니다.
- 내 경우에는 그러한 패킷 기록을 중단했습니다. 이것이 공격이더라도 라우팅으로 인해 성공할 수 없기 때문에 작동하지 않습니다.
net.ipv4.conf.all.log_martians = 0