揮発性のメモ2

http://d.hatena.ne.jp/iww/

Raspberry pi で静的にIPアドレスを設定する

dhcpcd.conf の簡単な書き方の話


静的なIPアドレスを設定したいときは次のように書く

interface eth0
static ip_address=192.168.10.101/24
static routers=192.168.10.1
static domain_name_servers=192.168.10.1 8.8.8.8

DHCPサーバが無いときにだけ静的なIPアドレスを設定したいときは次のように書く

interface eth0
fallback static_eth0

profile static_eth0
static ip_address=192.168.10.101/24
static routers=192.168.10.1
static domain_name_servers=192.168.10.1 8.8.8.8


IPアドレスをあえて設定しないときは

denyinterfaces eth0

# 複数書けるしワイルドカードも使える
denyinterfaces eth* wlan*

※リンクダウンしっぱなしなので、ブリッジに使うなどのときは自分で up する



明示的にDHCPだと指定するときは

interface br0
dhcp

これはすごい重要で、これを書かないと あとから増やしたインターフェースでDHCPIPアドレスを取得してくれない

注意事項
  • 設定が無いときは 暗黙でDHCP設定になる
  • インターフェースごとに設定ファイルを分けられないので、全部ひとつのファイルに書く
    • dhcpcd.conf.d/*.conf みたいな仕組みは無いっぽい
  • LANケーブルが抜けているときはリンクダウンするため、IPアドレスはつかない
  • IPアドレスが設定された後にDHCPサーバが見つかってもIPアドレスはそのままになってしまう
    • ネットワーク構成が変わったときは、LANケーブルの抜き差しをすることで整合性が取れる
  • 設定ファイルを編集したあと、dhcpcdを再起動しても反映されない
    • dhcpcdを下手に再起動するとIPアドレスが複数付いたりする
    • dhcpcdを再起動せず、LANケーブルの抜き差しで安全に反映する
      • ip link set eth0 down/up でもOK
    • それか、もう面倒だしリブートしちゃう