/home/tnishinaga/TechMEMO

日々行ったこと、面白かったことを書き留めます。

vyOSでDHCPの静的IPマッピングを設定する方法について

ルーターが立てたかったので、vyOS(旧Vyatta?)を使って立ててみました。

基本はこちらのユーザーガイドを参考にすれば設定は完了です。

後は何だかんだで増え続けるRaspberry Pi(現在5台所持)のIPをいちいち探すのが面倒なので、DHCP鯖を設定して、固定IPを振るようにしました。

DHCPの静的IPマッピング設定を追加する

MACアドレスを調べる

DHCP鯖の設定に必要なので、対象(今回はRasPi)のMACアドレスを、ifconfigとかipコマンドで調べます。

$ ifconfig eth0

vyOSの設定に追加する

vyOS側に、先ほど調べたMACアドレスを登録します。

$ configure
# set service dhcp-server shared-network-name LAN subnet 192.168.240.0/24 static-mapping rpi01 ip-address 192.168.240.101
# set service dhcp-server shared-network-name LAN subnet 192.168.240.0/24 static-mapping rpi01 mac-address xx:xx:xx:xx:xx:xx
# commit
# save
# exit

上記コマンドは、rpi01という名前で、MACアドレス xx:xx:xx:xx:xx:xx に対し、IPアドレス 192.168.240.101 を割り当てる設定を追加します。

大量にあるときは以下の様なpythonコードを組んでコマンドを作って、流し込むと楽です。

ip = ["192.168.240.101", "192.168.240.102", "192.168.240.103"]
mac = ["xx:xx:xx:xx:xx:xx", "xx:xx:xx:xx:xx:xx", "xx:xx:xx:xx:xx:xx"]

for i in range(len(ip)):
    print("set service dhcp-server shared-network-name LAN subnet 192.168.240.0/24 static-mapping rpi" + "%02d" % (i+1) + " ip-address %s" % ip[i])
    print("set service dhcp-server shared-network-name LAN subnet 192.168.240.0/24 static-mapping rpi" + "%02d" % (i+1) + " mac-address %s" % mac[i])

おわりに

とりあえずこれでIPアドレスを探す手間が無くなりました。便利便利。

しかし……なぜかRasPiから……いや、そもそもvyOSからインターネットにつながらない……さて、どうしたものか……ぐぬぬ

参考サイト