カッティングボード

カルマをカットしてます

Ubuntu16.04でアクセスポイント

はじめに

Ubuntu16.04を用いてアクセスポイント化する方法はいくつか検索すれば出てくるのですが,再起動したりすると設定が消えるのでその辺も踏まえてメモ.

hostapdの設定

hostapdをインストールする hostapdとはユーザー空間で動作するアクセスポイントと認証サーバーである.

sudo apt install hostapd
sudo vim /etc/hostapd/hostapd.conf

hostapdの設定ファイルを作っていく. インターフェイス名とかはiwconfigとかでいい感じに確認する driverはよくわからんけどnl80211で大抵OKらしい.IEEEの規格とかの話なのかな?

#インタフェース名
#iwconfigとかでwifiのインターフェイス名を確認できます.
interface=wlp2s0

#無線LANアダプタのドライバ
driver=nl80211

#クライアントに表示される無線LANアクセス・ポイント(SSID)名 
ssid=SSID
hw_mode=g
channel=7
wpa=2 # WPA2

#認証パスワード 
wpa_passphrase=PASS
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

hostapd.confをhostapdサービス起動時の設定ファイルとして設定.

sudo vim /etc/default/hostapd

10行目のコメントアウトを外して下に書き換える

DAEMON_CONF="/etc/hostapd/hostapd.conf"

DHCPの設定

isc-dhcp-serverをインストールする

sudo apt install isc-dhcp-server

dhcpdの設定

sudo vim /etc/dhcp/dhcpd.conf

一番下に下記を追加

subnet 192.168.190.0 netmask 255.255.255.0 {
  range 192.168.190.50 192.168.190.100;
  option domain-name-servers 192.168.189.7, 8.8.8.8;
  option domain-name "internal.example.org";
  option routers 192.168.190.1;
  option broadcast-address 192.168.190.255;
  default-lease-time 600;
  max-lease-time 7200;
}

dhcpdのインターフェイスを設定する.

sudo vim /etc/default/isc-dhcp-server

21行目を下記に書き換える.

INTERFACES="wlp2s0";

IPフォワーディングの有効化

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
sudo vim /etc/sysctl.conf

28行目のコメントアウトを外す.

wifiNIC設定

sudo vim /etc/network/interfaces

一番下に下記を追加

auto wlp2s0
iface wlp2s0 inet static
address 192.168.190.1
netmask 255.255.255.0

NetworkManagerの停止

NetworkManagerの停止と,自動起動の無効. これやらなくても大丈夫な気がする.

sudo stop network-manager
echo "manual" | sudo tee /etc/init/network-manager.override

iptablesの設定

sudo iptables -t nat -A POSTROUTING -s 192.168.190.0/255.255.255.0 -o enp3s0 -j MASQUERADE
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
sudo vim /etc/network/interfaces

下記のようにpre-upの記述を追加

auto wlp2s0
iface wlp2s0 inet static
pre-up iptables-restore /etc/iptables.ipv4.nat
address 192.168.190.1
netmask 255.255.255.0

参考文献

LinuxPCをWiFiアクセスポイントにする hostapdとは