不定期日記
J2千葉観戦記, ライブの感想を中心とした備忘録
2008-05-01 (Thu) [長年日記]
_ [NetBSD][Emobile] Emobileでブロードバンドルーター
hwhack: NetBSDでEmobile D02HWを使う(設定編)に倣って(というかそのまま使って)、ALIX.3C2 (NetBSD) + D02HW でブロードバンドルーターを作ってみた。 以下設定内容をメモ
NetBSDそのものの設定
- ネットワークの設定
- /etc/ifconfig.xxN というファイルを作る
- IP-NO netmask 0xffffff00
- /etc/sysctl.conf に以下の内容を追加(FreeBSDでrc.confに gateway_enable="YES" と書くことに相当)
- net.inet.ip.forwarding=1
- /etc/rc.conf
- hostname="HOSTNAME"
- /etc/resolv.conf 作成
- nameserver IP-ADDRESS
- DHCPを使用するときは、 /etc/rc.conf に dhclient=YES と書いて終わり
- /etc/ifconfig.xxN というファイルを作る
- srcの取得
- sup -v -d <supfile>
- <supfile>の内容
- sup -v -d <supfile>
current release=src host=sup.jp.NetBSD.org \ base=/usr prefix=/usr \ backup use-rel-suffix current release=ksrc-common host=sup.jp.NetBSD.org \ base=/usr prefix=/usr \ backup use-rel-suffix current release=ksrc-i386 host=sup.jp.NetBSD.org \ base=/usr prefix=/usr \ backup use-rel-suffix current release=gnu host=sup.jp.NetBSD.org \ base=/usr prefix=/usr \ backup use-rel-suffix current release=pkgsrc host=sup.jp.NetBSD.org \ base=/usr prefix=/usr \ backup use-rel-suffix
PPPの設定
以下の設定をした上で、
pppd call emobile
と実行。
- /etc/ppp/peers/emobile
dtyU0 460800 crtscts lock nodetach hide-password local noauth # dns routing usepeerdns defaultroute persist noipdefault # disable compressions novj noccp nobsdcomp # auth user "em" # misc? (xxx) ipcp-restart 8 ipcp-max-configure 50 ipcp-accept-local ipcp-accept-remote # connect script connect '/usr/sbin/chat -v -f /etc/ppp/chat-emobile -T *99***1#'
- /etc/ppp/chat-emobile
ABORT "NO CARRIER" ABORT "NO DIALTONE" ABORT "ERROR" ABORT "NO ANSWER" ABORT "BUSY" ECHO ON SAY "Connecting" TIMEOUT 15 "" "\d\d\dat\r\dat" TIMEOUT 5 "OK-\Kat-OK" "at" OK "at&FE1V1X1&D2&C1S0=0" OK "at+ipr=230400" SAY "Let's go" OK "atdt\T" CONNECT ''
- /etc/ppp/ip-up (chmod 0755 /etc/ppp/ip-upしておくこと)
#!/bin/sh if [ -f /etc/ppp/resolv.conf ]; then chmod 644 /etc/ppp/resolv.conf cp /etc/resolv.conf /etc/resolv.conf- if [ ${USEPEERDNS:-0} -eq 1 ]; then cp /etc/ppp/resolv.conf /etc/resolv.conf chmod 644 /etc/resolv.conf fi fi
- /etc/ppp/ip-down (chmod 0755 /etc/ppp/ip-downしておくこと)
#!/bin/sh # if [ -f /etc/resolv.conf- -a ${USEPEERDNS:-0} -eq 1 ]; then mv /etc/resolv.conf /etc/resolv.conf.old cp /etc/resolv.conf- /etc/resolv.conf chmod 644 /etc/resolv.conf fi if [ -f /etc/ppp/resolv.conf ]; then mv /etc/ppp/resolv.conf /etc/ppp/resolv.conf- fi
- /etc/ppp/chap-secret (chmod 0600 /etc/ppp/chap-secretしておくこと, 中身なし)
persistがうまく動かないようなので、以下のスクリプトをcronで呼ぶことにした
#!/bin/sh if ! [ -f /var/run/ppp0.pid ] then pppd call emobile & fi
NAT等の設定
NetBSD 上で IP Filter を使うを参考にipf.confとipnat.confを設定。
- /etc/rc.conf
ipfilter=YES ipnat=YES
- /etc/ipf.conf
pass in all pass out all # block 137-139,445 block in proto tcp from any to any port 136 >< 140 block in proto tcp from any to any port = 445 block in proto tcp from any port 136 >< 140 to any block in proto tcp from any port = 445 to any # block all TCP packets with only the SYN flag set (this is the first # packet sent to establish a connection) out of the SYN-ACK pair. block in on ppp0 proto tcp from any to any flags S/SA
- /etc/ipnat.conf
map ppp0 192.168.0.0/24 -> 0/32 proxy port ftp ftp/tcp map ppp0 192.168.0.0/24 -> 0/32 portmap tcp/udp 1025:65000 map ppp0 192.168.0.0/24 -> 0/32
ipf.confの設定は、以下も参考にした
tmpfs
いちいちシャットダウンするのが面倒なので、/をread-onlyでマウント。 どうしても書き込みが必要な箇所のみ、tmpfsでマウントすることにした。 いろいろエラーが出ているけど気にしない方向で。
- /etc/fstab
/dev/wd0a / ffs ro 1 1 tmpfs /var/log tmpfs rw tmpfs /var/run tmpfs rw tmpfs /var/spool/lock tmpfs rw
なお、/をrwでマウントしなおす場合は、以下のコマンドを実行する。
mount -u /
最初ノートPCからddでコンパクトフラッシュに書き込むつもりだったがうまくいかず、結局IDE接続のCFアダプタを2つも買ってくることになったが (うち一つは、それで書き込んだシステムがALIXでブートしなかった)、ALIXは、これだけ安くて小さいのにi386だというのがすばらしい。 これでUSB接続のCDからブートできたら最強だと思う。
あまりよく調べずにEMOBILEを契約した後で、サービスエリアが広くて、ある程度海上でも使えるauにしておけば良かったと後悔したのは内緒。
2020|07|