0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ip ruleコマンドメモ

Posted at

ip ruleコマンドで、ポリシーベースルーティングの設定ができる。
見るには、下記のように打つ
ip rule show
sudo ip rule show

出力例
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
10000: to 100.64.0.0/10 lookup 100

読み方
この例では、10000: という番号がついたルールが 100.64.0.0/10 に適用され、lookup 100(ルーティングテーブル 100 を参照)となっている。

ポリシールーティングとは
ポリシールーティング(Policy-Based Routing, PBR)は、通常のルーティングテーブル(main)とは異なるルールを適用し、パケットの送信先や経路を柔軟に制御する仕組み。

通常のルーティング(デスティネーションベースのルーティング)は「宛先 IP アドレス」に基づいてルートを決定するが、ポリシールーティングでは送信元 IP や特定のプロトコル、インターフェース、ポートなどに基づいて異なるルートを適用可能。

用途例

  1. マルチホーム環境(複数のインターネット接続)
    例: あるサブネット (192.168.1.0/24) のトラフィックは ISP1 を使い、別のサブネット (192.168.2.0/24) は ISP2 を使う
  • ip rule add from 192.168.1.0/24 table 100
  • ip route add default via ISP1_GW dev eth0 table 100
  1. VPN や特定ネットワークへのトラフィック制御
    特定の宛先(例: 100.64.0.0/10)への通信は VPN(Tailscale, WireGuard, OpenVPN)を経由させる
  • ip rule add to 100.64.0.0/10 table 200
  • ip route add 100.64.0.0/10 dev vpn0 table 200

VPN 経由で特定のネットワークにアクセスさせることで、セキュリティやプライバシーを確保

  1. 送信元 IP ベースのルーティング
    複数の IP アドレスを持つサーバーで、送信元 IP に応じて異なるルートを設定
    例: 192.168.1.100 からのパケットは eth0 を、192.168.2.100 からのパケットは eth1 を使う
  • ip rule add from 192.168.1.100 table 101
  • ip rule add from 192.168.2.100 table 102
  • ip route add default via 192.168.1.1 dev eth0 table 101
  • ip route add default via 192.168.2.1 dev eth1 table 102
  1. ロードバランシング
    複数のネットワークインターフェース(NIC)を持つサーバーで負荷分散
    例: eth0 と eth1 を使い、一定の条件でパケットを分散させる
  • ip rule add fwmark 1 table 103
  • ip route add default via 192.168.1.1 dev eth0 table 103
  • iptables -t mangle -A PREROUTING -m statistic --mode random --probability 0.5 -j MARK --set-mark 1
  • iptables -t mangle -A PREROUTING -j MARK --set-mark 2

これにより、パケットの 50% を eth0、残りを eth1 に分ける

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?