LoginSignup
5
3

Raspberry PiをDHCPサーバにしてローカルエリアネットワークを作る話

Last updated at Posted at 2019-09-30

はじめに

ZYBOやPYNQでPetaLinuxで作ったLinuxイメージを起動し,これにSSH経由で接続しようとすることはよくあることだと思います.
ところが,大体のイメージが固定IPを設定してくる割には大学のネットワークでは固定IPを設定できないばかりか,使おうとしてもブラウザを使った接続設定が必要なので現実的ではありません.そこで今回はRaspberry Piを使ってDHCPサーバを立て,ローカルエリアネットワークを作って開発をしてみたのでそのやり方をメモっておきます.

TL;DR

  • Raspberry PiのLinuxにisc-dhcp-serverをインストールする
  • dhcpd.confのサブネットの設定を変える
  • dhcpd.confに固定IPの割当設定を記述する

Raspberry PiのLinuxにisc-dhcp-serverをインストールする

普通にaptでインストールします.
なお,Raspberry PiではRaspbianを使っています

$ sudo apt install isc-dhcp-server

この状態でisc-dhcp-serverを有効化して実行してみて動くかどうか確認します.

$ sudo systemctl enable isc-dhcp-server
$ sudo systemctl start isc-dhcp-server

dhcpd.confのサブネットの設定を変える

PetaLinuxで作るイメージを自分で設定して作れる場合には何も考えずに自分のサブネット上で有効なIPアドレスをstatic ip addressで設定すれば良いですが,どこかから持ってきたイメージを使う場合には勝手に設定されているため,うまく動かないことがあります.
大抵は192.168.x.xに固定IPアドレスを設定していることが多いので,サブネットは192.168.0.1でネットマスクは255.255.0.0で作っておけば動きます.

subnet 192.168.0.1 netmask 255.255.0.0 {
       option broadcast-address    192.168.0.255;
       option subnet-mask          255.255.0.0;
       option routers              192.168.0.1;
       range                       192.168.0.1 192.168.255.255;
}

これでisc-dhcp-serverを再起動してみます.

$ sudo systemctl restart isc-dhcp-server

このときにtypoなどで設定が正しく行われていなかった場合は,jurnalctl -xeで最後の方のログを見るとたいていエラーログが吐かれていて,それを見ると何をどうすればよいのかわかる様になっているはずです.

dhcpd.confに固定IPの割当設定を記述する

最後にFPGAボードに載せたLinuxのMacアドレスを使って固定IPを設定します.

以下に設定例を示します.

host [host-name] {
   hardware ethernet 00:00:00:00:00:00;
   fixed-address 192.168.1.1;
}

ここで,上に書いた00:00:00:00:00:00のところに設定したいMacアドレスを書きます.このMacアドレスは,ip addr showを使ってlink/etherのところを見ると調べることが可能です.または,PetaLinuxのビルド設定で指定することが可能です.

この状態で,dhcpサーバを再起動します.

$ sudo systemctl restart isc-dhcp-server

これでLinuxイメージでSSHサーバの設定が有効になっていれば接続できるようになっているはずです.

最後に

設定としては上述した通りのことをするだけですが,実際には繋がなければ接続はできません.

基本的には,スイッチングハブを使ってRaspberry PiとFPGAボードと作業したいPCをつなげる必要があります.

5
3
1

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
5
3