與 openvpn 用戶端連接後的 Martian 封包

與 openvpn 用戶端連接後的 Martian 封包

背景:

我從執行 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

三到五分鐘後,火星交通將會減弱並且很少出現。

我已經測試過在openvpn沒有路由器的情況下透過連接(直接連接到我的數據機),並且發生了同樣的情況。

我在這裡有點冒險,但看起來,當路由發生突然變化(如用戶啟動的 VPN 連接時發生)時,已建立的/相關的連接會持續存在並被視為無效而被丟棄。隨著時間的推移,這些連結就會消失。

問題:

  1. 我對火星資料包產生原因的理解正確嗎?
  2. 如果我想避免丟失這些資料包,我該怎麼做?例如,我可以使用natmangleiptables將這些資料包定向到tun介面嗎?

答案1

  1. 你的理解是正確的。
  2. 就我而言,我只是停止記錄此類資料包。即使這是一次攻擊,它也不會起作用,因為路由會阻止它成功:
net.ipv4.conf.all.log_martians = 0

相關內容