無線LANルータ買う金があればとっくにそうしてるんですが、無いので手元に転がっていたUSB無線LANアダプタ(WLI-U2-KG54)を使います。あと、動作中にアダプタの抜き差しはしない方向で。
WLI-U2-KG54はural(4)として認識されるので、まずは/etc/hostname.ural0を設定。中身はこんな感じ。
inet 192.168.1.1 255.255.255.0 NONE media autoselect mediaopt hostap nwid NETWORKSSID chan 2 wpakey WPAPASSPHRASE
|
inetの後には無線LANアダプタに割り当てるIPアドレス、mediaoptでアクセスポイントとして動作することを指定し、nwidはお好みのSSID、chanの後はお好みのチャンネル(ここでは2としている)、wpakeyの後はWPAのパスフレーズ。WPA keyを書き込むのでパーミッションに注意。
dhcpdを起動するため、/etc/rc.confのdhcpd_flags=NOをdhcpd_flags=""に。そして/etc/dhcpd.confをこんな感じに設定。
option domain-name "example.org";
option domain-name-servers AAA.BBB.CCC.DDD;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
host static-client {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.1.200;
}
}
|
domain-nameはマシンのドメイン名、domain-name-serversのIPアドレスは/etc/resolv.conf辺りに書いてあるDNSのIPアドレスを、routersのIPアドレスは無線LANアダプタに割り当てたIPアドレスを書く。
特定のMACアドレスを持つ端末(00:11:22:33:44:55:66)に固定のIPアドレスを渡すという手抜きな設定なので、俺専用という訳。
NATを有効にするために、/etc/sysctl.confのnet.inet.ip.forwarding=1に。pf.confはPF: Example: Firewall for Home or Small Officeを参考に(というか丸コピーで)、外部からのアクセスを許可する部分は全て削除。
# macros
int_if="ural0"
icmp_types="echoreq"
# options
set block-policy return
set loginterface none
set skip on lo
# FTP Proxy rules
anchor "ftp-proxy/*"
pass in quick on $int_if inet proto tcp to any port ftp \
rdr-to 127.0.0.1 port 8021
# match rules
match out on egress inet from !(egress) to any nat-to (egress:0)
# filter rules
block in log
pass out quick
antispoof quick for { lo $int_if }
pass in inet proto icmp all icmp-type $icmp_types
pass in on $int_if
|
一応これでそれっぽく動いてるんだけど…このOpenBSDマシンはルータ専用機という訳ではないので(ftpサーバにも使うしSSHの口も開けてるしsynergy使ってWindows機とマウス/キーボードの共有もしてるし)、このpf.confをそのまま使うと本当にルータ専用になってしまうために(自分の使い方では)もう少し調整が必要な感じです。
…とりあえずStreakを無線LANで使った場合にどの程度のことができるのかを見てみたかったというのがあってこんなことをしていたんですが、やっぱりスマートフォンは回線速度が命って感じですね。b-mobileの100kbpsとは全然世界が違います。
朝昼:いつもの。夕:白飯、炒め物の残り他。60.2kg(21:55)
17-Mar-2019補足:PF: Example: Firewall for Home or Small Officeはwayback machineのアーカイブにリンクを直しました。現在の状況はhttps://www.openbsd.org/faq/pf/example1.htmlを参照。