OnionPi 化

以下コンテンツに沿って盛り込みを開始。

とりあえず wifi access point router にするために以下を盛り込みなさいとのこと。

とりあえず無線 AP にしてみます。

$ sudo apt-get install -fy hostapd isc-dhcp-server

で、/etc/dhcp/dhcp.conf 修正せよ、とのこと。以下をコメントアウト。

option domain-name "example.org"
option domain-name-servers ns1.example.org, ns2.example.org

あるいは以下なコメントアウト部分を有効に。

#authoritative;

で、リース関連な記述を末端に追加。

subnet 192.168.42.0 netmask 255.255.255.0 {
range 192.168.42.10 192.168.42.50;
option broadcast-address 192.168.42.255;
option routers 192.168.42.1;
default-lease-time 600;
max-lease-time 7200;
option domain-name "local";
option domain-name-servers 8.8.8.8, 8.8.4.4;
}

あるいは /etc/default/isc-dhcp-server を開いて末端を

INTERFACE="wlan0"

にして保存。あと、wlan0 インターフェースは固定で IP 付与。既存の記述は全てコメントアウトで良いのかどうか。

iface wlan0 inet static
  address 192.168.42.1
  netmask 255.255.255.0

あるいは /etc/hostapd/hostapd.conf を新規作成して内容を以下に、とのこと。

interface=wlan0
driver=rt2800usb
ssid=Pi_AP
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=Raspberry
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

ssid とか passphrase は適宜変更なのかどうか。あるいは

  • /etc/default/hostapd 修正
  • /etc/sysctl.conf 修正
  • /proc/sys/net/ipv4/ip_forward を 1 に

続き

えーと、とりあえず iptables なナニを盛り込んで

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

確認して

sudo iptables -t nat -S
sudo iptables -S

保存して

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

/etc/network/interfaces に以下を追加して

up iptables-restore < /etc/iptables.ipv4.nat

あとは adafruit で配布されてる hostapd を /usr/sbin にコピィして動作確認してみたのですが、駄目と言われました。invalid/unknown driver とのこと。

これは

なんとなくカーネル方面で問題解決しなければならない模様。