背景:
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
は私のネットワークカード、2番目はルータのイーサネットインターフェイスです。
接続する前のルーティングテーブルは次のとおりです。
[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では、2番目は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