LinuxコンピュータをWi-Fiホットスポットに変える方法

このガイドでは、Linux ボックスを Wi-Fi ホットスポットに変える方法を詳しく説明します。特に、モバイルインターネットを共有したり、ローカルネットワークをセットアップしたりする場合に便利です。Wi-Fi ドライバーやツールは癖がある場合が多いため、設定に手間取ることがあります。コマンドラインでのトラブルシューティング、設定の編集、場合によってはパッケージのインストールが必要になることもあります。重要なのは、自宅、小規模オフィス、あるいはインターネット接続を共有するだけの場合でも、適切に機能するホットスポットを構築することです。設定が完了したら、デバイスを接続し、ネットワークが表示され、Wi-Fi アダプターが対応していれば、すべてがスムーズに動作するはずです。適切なハードウェアがなければ、何もスムーズに動作しないため、これらの詳細は重要です。まずは対応状況を確認し、それから少しいじってみましょう。

Linux(Ubuntuなど)でのWi-Fiホットスポット作成を修正する方法

方法1: Wi-FiアダプターがAPモードをサポートしていることを確認する

これが最初のハードルです。ワイヤレスカードがアクセスポイントとして機能している必要があります。特に古いものや安価なものは、対応していない場合もあります。確認するには、iwをインストールしてください。

$ sudo apt install iw

次に以下を実行します:

$ iw list

「サポートされているインターフェースモード」をご確認ください。APまたはAP /VLANが表示されていれば問題ありません。表示されていない場合は、お使いのハードウェアが対応していない可能性があります。特定の設定では、このコマンドが失敗したり、サポートが限定的だったりすることがあるため、多少の一貫性のなさを感じても驚かないでください。

ちょっと奇妙ですが、一部のドライバーではモードを切り替えるために再起動やアダプターの再接続が必要になります。また、ドライバーがnl80211をサポートしているか確認してください。これは現代のWi-Fi機能に不可欠です。

方法2: NetworkManagerのCLIを使用してホットスポットを起動する

これは、Ubuntu 20.04以降、または最新のNetworkManagerを搭載した他のディストリビューションでは最も簡単な方法です。Linuxでは当然ながら、すべてが少し複雑になるからです。まず、Wi-Fiデバイスの名前を調べます。

$ nmcli device

wlp4s0b1のようなインターフェースが表示されるかもしれません。これがホットスポットの作成に使用します。競合するDHCPサーバーが動作していないことを確認してください(他のアプリのdnsmasqがこれを阻害することがあります)。新しいWi-Fiアクセスポイントを作成するには、以下を実行します。

# nmcli con add type wifi ifname wlp4s0b1 mode ap con-name MyHotspot ssid MyLinuxHotspot

次に、セキュリティ設定と共有 IP を使用してネットワークを構成します。

# nmcli con modify MyHotspot 802-11-wireless.band bg # nmcli con modify MyHotspot 802-11-wireless.channel 1 # nmcli con modify MyHotspot 802-11-wireless-security.key-mgmt wpa-psk # nmcli con modify MyHotspot 802-11-wireless-security.psk MySecurePass123 # nmcli con modify MyHotspot ipv4.method shared

次に、ホットスポットを表示します。

# nmcli con up MyHotspot

5GHzまたは別のチャンネルが必要な場合は、バンドチャンネルのパラメータを適宜調整してください。例:

# nmcli con modify MyHotspot 802-11-wireless.band a # nmcli con modify MyHotspot 802-11-wireless.channel 36

静的IPアドレスが必要な場合は、DHCP範囲の変更が便利です。ipv4.addressプロパティを変更するだけですクライアントがIPアドレスを取得し、pingが通ることを確認しれば、通常はすべて正常に動作していることが確認できます。それでもホットスポットが表示されない場合には、競合するNetworkManager接続や他のDHCPサーバーとの競合を無効にしてください。設定によっては、NetworkManagerを再起動すると改善する場合があります。

方法3: Hostapd – パワーユーザー向け

NetworkManagerのCLIが不安定だと感じたり、より詳細な制御が必要な場合は、hostapdがおすすめです。少し手間がかかりますが、一度設定すれば信頼性は抜群です。まずはインストールしてみましょう。

$ sudo apt install hostapd

デフォルト設定をバックアップしてから、カスタム設定を作成します。

$ sudo nano /etc/hostapd/hostapd.conf

サンプル構成は次のようになります。

interface=wlp4s0b1 driver=nl80211 ssid=MyHomeAP channel=11 hw_mode=g auth_algs=1 wpa=2 wpa_key_mgmt=WPA-PSK wpa_passphrase=MyPass321 ieee80211n=1 ht_capab=[HT40-][SHORT-GI-40]

保存してhostapdのマスクを解除します。

$ sudo systemctl unmask hostapd

/etc/default/hostapd 内の設定ファイルを指定します。

$ sudo nano /etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf"

インターフェースに静的 IP を割り当てる必要があります。/etc/network/interfaces またはネットワーク設定を編集します

auto wlp4s0b1 iface wlp4s0b1 inet static address 10.10.0.1 netmask 255.255.255.0

競合を防ぐため、そのインターフェースでNetworkManagerを無効にすることを忘れないでください。保存後、システムまたはネットワークスタックを再起動してください。次に、DHCP用にdnsmasqを設定します。

$ sudo apt install dnsmasq $ sudo nano /etc/dnsmasq.conf
interface=wlp4s0b1 dhcp-range=10.10.0.2, 10.10.0.100, 12h server=/www.google.com/8.8.8.8

最後に、次のコマンドで IP 転送と NAT を有効にします。

sysctl net.ipv4.ip_forward=1 iptables -t nat -A POSTROUTING -o enp3s0 -j MASQUERADE

サービスを開始します。

$ sudo systemctl start dnsmasq $ sudo systemctl start hostapd

さあ、これで完了です!デバイスは新しいホットスポットを認識し、IPアドレスを取得し、インターネットに接続できるようになるはずです。これらをすべて組み合わせるのは大変かもしれませんが、一度設定してしまえば驚くほど安定します。ただし、ハードウェアの互換性が非常に重要です。Wi-FiカードがAPモードに対応していない場合は、困ったことになります。