PCをDHCPサーバ接続の設定のまま、PCとマグボットとを1対1で有線(無線)LANで接続できるようにマグボットのRaspberry PiにDHCPサーバであるisc-dhcp-serverを設置しているのですが、自動起動しないなどのトラブルもあり、その設置方法の最新の解説です。
(20161028修正)
注意
あらかじめRaspberry Piに有線(無線)LANでPCが繋がっていないとエラーがでます。
参考
mi_GS’s diary
Raspberry Piのアクセスポイント化 & ルータ化がうまくいかない時はこの通りにやればおk
isc-dhcp-serverのインストール
1 |
sudo apt-get install isc-dhcp-server |
/etc/dhcp/dhcpd.confの編集
1 |
sudo nano /etc/dhcp/dhcpd.conf |
1 2 |
option domain-name "example.org"; option domain-name-servers ns1.example.org, ns2.example.org; |
を#でコメントアウト
1 2 |
#option domain-name "example.org"; #option domain-name-servers ns1.example.org, ns2.example.org; |
1 |
#authoritative; |
の#を外す。
1 |
authoritative; |
最終行に以下を追加。Raspberry Piの固定IPが192.168.42.1になるものとして設定しています。
1 2 3 4 5 6 7 8 9 |
subnet 192.168.42.0 netmask 255.255.255.0 { range 192.168.42.10 192.168.42.50; option broadcast-address 192.168.42.255; option routers 192.168.42.1; default-lease-time 600; max-lease-time 7200; option domain-name "local"; option domain-name-servers 8.8.8.8, 8.8.4.4; } |
/etc/default/isc-dhcp-serverの編集
最終行の
1 |
INTERFACES="" |
の””の中にeth0を挿入
1 |
INTERFACES="eth0" |
自動起動設定(20161028修正)
/etc/rc.local
のexit 0の前に以下を追加してください。
mugbot-server-1.1.rbは、必要なバージョン番号のものを記入してください。
1 2 3 |
sleep 10 service isc-dhcp-server start ruby /home/pi/mugbot-server-1.1.rb & |
isc-dhcp-serverのインストール後はRaspberry Piを固定IPの192.168.42.1に変更します。Raspberry Piを固定IPは、
1 |
sudo nano /etc/dhcpcd.conf |
の最終行に
1 2 3 |
interface eth0 static ip_address=192.168.42.1/24 static routers=192.168.42.1 |
を書いて設定します。
自動起動の確認
再起動して、以下を実行します。
1 |
systemctl status -l isc-dhcp-server |
Active:で緑色でactive(running)
の表示がでればisc-dhcp-serverの自動起動は、成功です。
1 |
service isc-dhcp-server start |
は従来の
1 |
etc/init.d/isc-dhcp-server start |
と書いても同じ効果があります。
これまで
isc-dhcp-serverは自動起動してたのですが、しなくなってしまって原因がよくわからなかったのですが、
service isc-dhcp-server start
の前に
sleep 10
を入れて
service isc-dhcp-server start
の実行を遅らせることでうまくいくようです。(20161031追記)