コンテンツへスキップ
uencoder

SO_BINDTODEVICE

SO_BINDTODEVICE はソケットを特定のネットワークインターフェース(例:eth0)にバインドし、トラフィックがそのインターフェースだけで送受信されるようにする。

目的

複数 NIC 環境で送信インターフェースを選択する。VPN、ルーティング、インターフェース分離に使われる。

メカニズム

setsockopt(SOL_SOCKET, SO_BINDTODEVICE, ifname) はソケットを指定名のインターフェースにバインドし、すべての送受信をそこに制限する。root 権限が必要で、ポリシールーティングやインターフェース固定サービスに使われる。

ユースケース

  • 複数 NIC のルーティング制御
  • VPN のインターフェースバインド
  • ネットワークの分離

関連ツール

References