1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

IPv4: martian sourceで怒られた

Posted at

概要

/var/log/messages
IPv4: martian source 10.0.1.5 from 10.0.10.3, on dev ens161

みたいなログが出力されて、想定通りに通信できない時の一つの対応方法

前提

  • NICを複数持っている
  • セグメントごとにStatic Routeを設定している
  • この例では以下のようなNIC設定のイメージ
    • ens161: 10.0.1.5/24
    • ens192: 10.0.10.5/24
    • Static Route: 10.0.10.0/16 -> 10.0.1.1 via ens192

原因

送信元のセグメントがStatic Routeの設定上、別NICから送信されるようになっているとこのエラーとなる
今回のケースだと、ens192向けで広めにStatic Routeを設定していたが、
部分的にはens161を通るべきセグメントがあり、その箇所が設定不足でこの状況になってしまっていた

route
# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    103    0        0 ens161
10.0.10.0       10.0.10.1       255.255.0.0     UG    100    0        0 ens192
~~

本当はDefault GWの設定に従ってens161から送信されて欲しいが、
Static Routeとして設定されている2行目のRouting Tableに従ってens192から送信すべきとなる

そのため、**あれ?受信NICがそもそもおかしくね?**となって、
martian sourceがこんにちはしていた

解決方法

Static Routeを追加しましょう
このケースだとこういった形で設定追加

設定永続化

この場合一時的にens161を通る通信がDownするため、注意が必要

sudo nmcli con mod ens161 +ipv4.routes "10.0.10.0/24 10.0.1.1"
sudo nmcli con reload
sudo nmcli con down ens161; sudo nmcli con up ens161

一時的な反映

こちらの場合は即時で反映されるが、再起動等行うと設定が消えてしまうため、
永続化する場合は↑とセットで行う

sudo ip route add 10.0.10.0/24 via 10.0.1.1 dev ens161
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?