🦇
ArchLinuxをWi-Fiアクセスポイントとして使う方法
ArchWikiを参考にソフトウェアアクセスポイントを構築したので備忘録です。
環境
OS: Arch Linux
Kernel: 6.8.1
Package Manager: paru
Hostapdのインストール
WiFiを吹かすためのデーモンとして、Hostapdをインストールします。
paru -S hostapd
設定ファイルを書きます。
参考: https://www.itmedia.co.jp/news/articles/2008/14/news042.html
/etc/default/hostapd.conf
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Passphraseやssidは各自設定してください。
/etc/hostapd/hostapd.conf
interface=wlo1
driver=nl80211
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
ctrl_interface=/run/hostapd
ctrl_interface_group=0
ssid=
hw_mode=g
channel=1
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=-1
fragm_threshold=-1
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
wmm_enabled=1
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0
eapol_key_index_workaround=0
eap_server=0
wpa=2
wpa_passphrase=
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
keaのインストール
DHCPサーバーとしてkeaを用意します。
paru -S kea
/etc/kea/kea-dhcp4.conf
{
"Dhcp4": {
"interfaces-config": {
"interfaces": [ "wlo1/192.168.8.1" ],
"dhcp-socket-type": "raw"
},
"subnet4": [
{
"id": 1,
"subnet": "192.168.8.0/24",
"pools": [ { "pool": "192.168.8.2 - 192.168.8.254" } ],
"option-data": [
{
"name": "routers",
"data": "192.168.8.1"
},
{
"name": "domain-name-servers",
"data": "1.1.1.1"
}
]
}
]
}
}
起動
NetworkManagerは競合するので止めます。 firewalldは適切なルートを設定するべきですが面倒なので止めています。
sudo sysctl net.ipv4.ip_forward=1
sudo systemctl start iptables
sudo iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -o eno2 -j MASQUERADE
sudo systemctl stop firewalld
sudo systemctl stop NetworkManager
sudo systemctl start hostapd
sudo systemctl start kea-dhcp4
(これらを毎回やるのは面倒なのでスクリプト化しました。gistに置いてあります)
終わりに
ルーターを買った方がよい
Discussion