インターネット上に乗っている情報が今一古かったりしたので、18.04 用に集めた情報をまとめておきます。
パッケージのインストール
必要なパッケージをインストールする。Destop だと自動で入るようだが、server だと入らないようなので、手動で入れる。
sudo apt-get install wireless-tools wpasupplicant
WiFi ホットスポット情報の作成
ifconfig などで WiFi デバイス名を取得する。仮に wlan0 とする。
nmcli コマンドで WiFi ホットスポットを作成する。
sudo nmcli device wifi hotspot ifname wlan0 con-name 'hostspot' ssid 'MyHotspot' band 'bg' password 'password1234'
/etc/NetworkManager/system-connections/hotspot を編集する。以下の行を [ipv4] 以下に追加する。
address1=192.168.0.1/24,192.168.0.1
意味としてはホストアドレス、プレフィクス、デフォルトゲートウェイとなる。
DHCP サーバのインストール
isc-dhcp-server をインストールする。
sudo apt-get install isc-dhcp-server
/etc/dhcp/dhcpd.conf を編集する。接続性のみ確認したいので、とりあえず domain-name, domain-name-server をコメントアウトし、subnet を定義する。
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.131; } host myhostname { hardware ethernet xx:xx:xx:xx:xx:xx; fixed-address 192.168.0.1; }
ここでは 192.168.0.x/24 に割り当てることとした。
/etc/default/isc-dhcp-server を編集する。INTERFACES に wlan0 を追加し、DHCPDv4_CONF, DHCPDv4_PID のコメントを外す。
wlan0 を念のために落とす。
sudo nmcli con down wlan0
DHCP サーバを再起動する。
sudo systemctl stop isc-dhcp-server sudo systemctl start isc-dhcp-server
systemctl status isc-dhcp-server を実行して起動していることを確認する。よくあるエラーは PID や config ファイルの指定がコメントされたままになっていること。
WiFi の再起動
nmcli コマンドで WiFi を再起動する。
sudo nmcli con up hotspot
これで WiFi をホストモードで起動できたはず。
sudo nmcli device wifi
とすると現在使用しているプロファイルが表示される。
/etc/rc.local への追加
次回起動時に WiFi ホットスポットが自動で起動するように /etc/rc.local に以下の行を追加する。
nmcli con up hotspot systemctl restart isc-dhcp-server
なお、デフォルトでは rc.local は存在しないが、作成して chmod +x /etc/rc.local することで利用可能になる。