おのかちお の ブログ

一日一投稿してます。

Linuxで簡単に無線Lanアクセスポイントを作る

どうも。かちおです。 自分の学校の教室の壁にLanポートがあるが学内wifiは無いので、アクセスポイントを作ってみました。

環境

  • Linux系OS (今回はUbuntuを想定。Raspbianでも動作確認はしています。)
  • 有線Lanと無線LanNICが両方パソコンに積んであること(要するに有線Lanポートと無線Lanの機能が両方あればOK)

インストール

本来はhostapdというものでL2層でパソコンとwifiをつなげて、さらにその上でLinuxブリッジを作成して、DHCPも動的割当にするためにサーバーを建てなければいけません。 が、面倒なので、それらを自動化してくれるシェルスクリプトを使用します。 これはcreate_apというもので、コマンド1つで無線Lanアクセスポイントを作ることができます。

まずは依存しているパッケージをインストールしましょう。

$ sudo apt install bash util-linux procps hostapd iproute2 iw

CentosRHEL系の場合は…ごめんなさい自分で調べてください。 Macの場合も…ごめんなさい。

次に適当な場所でcreate_apをダウンロードしましょう。

$ curl https://raw.githubusercontent.com/oblique/create_ap/master/create_ap

そしてコマンドとして使えるように、パスの通った場所に移動させましょう。

$ sudo mv ./create_ap /usr/local/bin/

これでコマンドとしてcreate_apが使えるようになりました。

使い方

まず、以下のコマンドでパソコンに乗っているNIC(ネットに接続する機械)を表示させましょう。

$ ip a

これをすると、だらだら〜っと表示が流れてきます。このなかでenoやenpやethで始まるものが有線Lanのポート、wlpやwlanで始まるものが無線Lanのポートです。 両方ともその名前を控えておいてください。

そしてコマンドの標準の使い方は以下です。

$ create_ap 無線LanのNIC名 有線LanのNIC名 SSID(Wifiの名前) パスワード

例として以下のようになります。

$ create_ap wlan0 eth0 test password

この場合スマホ等からtestという名前のwifiを見ることができ、passwordというパスワードで接続することができます。

カスタマイズ

玄人むけです。

オプション

  • -c 数字 # wifiのチャンネル番号を指定(デフォルトは1)
  • –isolate-clients # wifiのクライアント同士が通信できなくなる
  • –hidden # アクセスポイントを非表示にできる
  • –freq-band 数字 # 2.4か5を指定することで、周波数帯を選べる
  • daemon # デーモン化し、プロンプトが帰ってくる。
  • –stop 無線LanNIC名 # そのNICでデーモン化して動いているcreate_apを止められる