Orange Pi R1 のSPIフラッシュにOSを入れてルーターにする

メニュー

dnsmasq

小規模向けのDNS,DHCP,TFTPサーバー。

Buildroot
Target packages  --->
  Networking applications  --->
    [*] dnsmasq
    [*]   dhcp support
をチェックしてビルドすればインストールできます。

/etc/init.d/S80dnsmasq が起動スクリプトですが、設定ファイル(/etc/dnsmasq.conf)が無いため初期状態では起動しません。
設定ファイルがあればシステム起動時に自動的に起動します。
起動スクリプトで再起動する場合、STOPしたあとにsleepを入れないとSTARTがエラーになる可能性があるようです。

/etc/dnsmasq.conf
port=0
dhcp-range=192.168.2.100,192.168.2.150,12h
dhcp-range=192.168.3.100,192.168.3.150,12h
dhcp-host=aa:bb:cc:dd:ee:ff,192.168.2.2
#dhcp-option=option:router,192.168.1.1
#dhcp-option=option:netmask,255.255.255.0
dhcp-option=option:dns-server,8.8.8.8,8.8.4.4
デフォルトではDNSサーバーとして機能しますが、port=0 にするとDNSを無効化できます。
dhcp-range はIPアドレスの貸出範囲。
同時に複数のネットワーク(192.168.1.0/24と192.168.2.0/24など)を利用したい場合はdhcp-rangeを複数行書くだけで接続先インターフェイスを元に適切に設定されます。
dhcp-hostはMACアドレス指定で固定IPにします。
ググるとinterfaceやlisten-addressとbind-interfacesを設定して特定アドレスのみで機能させるような設定例がありますが、これらはDHCPでは機能しません。DHCP(bootp)はIPアドレスがない状態で利用するプロトコルなので。
option:router、option:netmaskなどdhcp-optionを設定してデフォルトゲートウェイやサブネットマスクなどを設定できますが、設定されていない場合は接続先ifと同一のものになるので通常は設定不要です。
option:dns-serverは指定しない場合接続先if自身がDNSアドレスとして渡されるため、DNSを無効にした場合は設定する必要があります。
# dnsmasq --help dhcp
でオプションとして設定できる項目が表示できます。
[編集]   [AD]
rentafree.net