NetworkManagerで無線LANアクセスポイント構築

NetworkManagerの機能を使って無線LANアクセスポイントを構築する。

hostapdを用いるのが一般的だけどドライバの設定とか面倒なので使わない。

アダプタはPlanex GW-USMicro300を使う


手順としては、
NetworkManagerの機能で無線LANアダプタをアクセスポイント化、

dhcpdでIPを配ってfirewalldでIPマスカレードさせることでインターネット接続できるようにする。


ぽぬぽぬ CentOS 7でルータを作る

NetworkManagerの設定

まずGUIからネットワークの設定を開き、Wifiを選択する。「アクセスポイントとして使用」をクリック。SSIDがホスト名、セキュリティWEPで適当なキーの電波が飛ぶ。普通に繋がる状態なのでこだわりとか無いしインターネットしたいだけっていうならこれでOK。

これで設定ファイルができたので編集
# vi /etc/NetworkManager/system-connections/Hotspot

[connection]
id=Hotspot
uuid=a1009acb-660b-48b9-a6e9-3a8169084932
type=wifi
timestamp=1423032842
autoconnect=true
[wifi]
ssid=SSIDを入力
mode=ap
mac-address=00:22:CF:4A:56:78
security=802-11-wireless-security
hidden=true
[wifi-security]
key-mgmt=wpa-psk
psk=キーを入力
[ipv4]
method=manual
dns=8.8.8.8;
address1=192.168.1.1/32,192.168.1.1
gateway=192.168.1.1
[ipv6]
method=auto

dhcpdの設定

無線LANのIPは192.168.1.xを割り当てたいのでdhcpd.confにsubnetを追加

# vi /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
    option routers    192.168.1.1;
    option subnet-mask    255.255.255.0;
    range dynamic-bootp    192.168.1.10 192.168.1.100;
    option domain-name-servers    8.8.8.8;
    option broadcast-address    192.168.1.255;
}
dhcpdを有効にしたいNICを記述
# vi /etc/systemd/system/dhcpd.service
ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid enp3s1 wlp0s26f7u1

firewalldの設定

# firewall-cmd --zone=external --add-masquerade
# firewall-cmd --zone=external --add-masquerade --permanent
# firewall-cmd --zone=external --change-interface=ppp0
# firewall-cmd --zone=external --change-interface=ppp0 --permanent
# firewall-cmd --zone=internal --change-interface=wlp0s26f7u1
# firewall-cmd --zone=internal --change-interface=wlp0s26f7u1 --permanent

開始

# nmcli con up Hotspot ifname wlp0s26f7u1

 

これだと一応繋がったけどインターネットに接続されない。

試しに/etc/NetworkManager/system-connections/Hotspotのipv4のmethodをautoにしてみたら繋がってdhcpdも機能してる(?)

あと時間経つとなぜかアクセスポイントが落ちてしまうしどこか間違ってるのかな…

コメント

このブログの人気の投稿

fontconfigの設定

UEFIのブートオーダーを一時的に変更する

VLCでBlu-rayを再生