SO_BINDTODEVICE
SO_BINDTODEVICE はソケットを特定のネットワークインターフェース(例:eth0)にバインドし、トラフィックがそのインターフェースだけで送受信されるようにする。
目的
複数 NIC 環境で送信インターフェースを選択する。VPN、ルーティング、インターフェース分離に使われる。
メカニズム
setsockopt(SOL_SOCKET, SO_BINDTODEVICE, ifname) はソケットを指定名のインターフェースにバインドし、すべての送受信をそこに制限する。root 権限が必要で、ポリシールーティングやインターフェース固定サービスに使われる。
ユースケース
- 複数 NIC のルーティング制御
- VPN のインターフェースバインド
- ネットワークの分離