不定期日記
J2千葉観戦記, ライブの感想を中心とした備忘録
2006-12-29 (Fri) [長年日記]
_ [PC] OpenBlockS266
これまでFreeBSDを入れて、ダイアルアップルータにしていたPCの電源が壊れたため購入。 ADSLでつなぐなら出来合いのものを買ってくれば良いが、AIR-EDGEで接続しようという馬鹿なことができる製品は恐らく存在しないので。 ダイアルアップルータにしていたPCでメールも読んでいたけど、これは VMware Player でFreeBSDを動かして済ますことにしました。
ちなみにPCMCIAではなくSlipper Sを使ったシリアル経由で使っています。
結構いろいろとはまりました。 まず、付属のRJ-45/Dsub9ピン変換アダプタはあくまでもシリアルコンソール用なので、クロス結線になっていることに注意。Interlink用クロスケーブルでSlipper Sとつないでいます。
さらに、いくらやってもダイアルまでは行くもののPAP認証をやってくれなかったのが、ファームウェアをアップデートしたら一発で解消しました。 telnetで接続しようとすると長時間待たされる不具合も、ファームウェアのアップデートで解消。
付属の簡単設定ガイドには、
モデムを利用するためのソフトウェア(PPP)はハードディスクを接続したときに利用できます。
と書いてあるが、ハードディスク等を接続しなくても問題なく使えた。 未確認ですが恐らく、ハードディスクを接続したときはデフォルトでシリアルコンソールが使えないようになっているということではないかと思います。
設定手順
1. 基本的な設定 (WEB設定画面)
- ネットワーク
- IP address
- DNS (あとから /etc/resolv.conf を直接変更でも可)
- 保存&再起動
2. ファームウェアアップデート
flashcfg -f zImage.initrd.treeboot.big-product
- 再起動
3. パスワード変更
4. PPPの設定(Linux PPP HOWTO, PAP/CHAP の認証ファイル等参考)
- /etc/ppp/ppp-on
TELEPHONE=
の行に電話番号を入力。##64 等の「#」をエスケープする必要は無い
- /etc/ppp/ppp-on-dialer
- login認証はしないので、最後の2行を削除
#!/bin/sh # # This is part 2 of the ppp-on script. It will perform the connection # protocol for the desired connection. # exec chat -v \ TIMEOUT 3 \ ABORT '\nBUSY\r' \ ABORT '\nNO ANSWER\r' \ ABORT '\nRINGING\r\n\r\nRINGING\r' \ '' \rAT \ 'OK-+++\c-OK' ATH0 \ TIMEOUT 30 \ OK ATDT$TELEPHONE \ CONNECT ''
- /etc/ppp/pap-secrets
# Secrets for authentication using PAP # client server secret IP addresses <login name> * <password>
- /etc/ppp/options
- 以下の行を追加
name <login name>
- /etc/ppp/ip-up
- ダイアルするたびに実行される
- IPマスカレード、ファイアウォールの設定のために新しく作成する。
- 「パケットフィルタリング&IPマスカレードの設定(iptablesを利用)」等を参考にした。
#!/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin echo "1" > /proc/sys/net/ipv4/ip_forward echo "1" > /proc/sys/net/ipv4/ip_dynaddr extint="ppp0" intint="eth0" intnet="192.168.0.0/24" # Initialize iptables -F -t filter iptables -F -t nat # Default configuration iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -t nat -P POSTROUTING DROP # Output log and drop packets #iptables -N log_drop #iptables -A log_drop -j LOG --log-level warning #iptables -A log_drop -j DROP # input from PPP iptables -N ppp-in # through established packets iptables -A ppp-in -m state --state ESTABLISHED,RELATED -j ACCEPT # through some ports #iptables -A ppp-in -p tcp --dport ssh -j ACCEPT #iptables -A ppp-in -p tcp --dport www -j ACCEPT #iptables -A ppp-in -p tcp --dport smtp -j ACCEPT #iptables -A ppp-in -p tcp --dport pop3 -j ACCEPT #iptables -A ppp-in -p tcp --dport 20 -j ACCEPT #iptables -A ppp-in -p tcp --dport 21 -j ACCEPT # log and drop #iptables -A ppp-in -j log_drop # output to PPP iptables -N ppp-out # deny some ports iptables -A ppp-out -p udp --dport 137:139 -j DROP iptables -A ppp-out -p tcp --dport 137:139 -j DROP # drop local ip iptables -A ppp-out -d 10.0.0.0/8 -j DROP iptables -A ppp-out -d 172.16.0.0/12 -j DROP iptables -A ppp-out -d 192.168.0.0/16 -j DROP # forward through PPP iptables -N ppp-forward # forward established packets iptables -A ppp-forward -m state --state ESTABLISHED,RELATED -j ACCEPT # INPUT iptables -A INPUT -i ${intint} -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i ${extint} -j ppp-in # OUTPUT iptables -A OUTPUT -o ${extint} -j ppp-out # FORWARD iptables -A FORWARD -i ${extint} -j ppp-forward iptables -A FORWARD -o ${extint} -j ppp-out iptables -A FORWARD -i lo -j ACCEPT iptables -A FORWARD -i ${intint} -j ACCEPT # IP MASQUERADE iptables -t nat -A POSTROUTING -s 127.0.0.1 -o ${extint} -j MASQUERADE iptables -t nat -A POSTROUTING -s ${intnet} -o ${extint} -j MASQUERADE iptables -t nat -A POSTROUTING -s 127.0.0.1 -j ACCEPT iptables -t nat -A POSTROUTING -s ${intnet} -j ACCEPT iptables -t nat -A POSTROUTING -o ${extint} -j ACCEPT # END CONFIGURATION
- /etc/inittab
- デフォルトではシリアルコンソールにCOM1を使われているので、以下の行をコメントアウトする。
#c1:2345:respawn:/sbin/agetty 9600 ttyS0 vt100
- /etc/rc.local
- 起動時に自動的にpppを動かすために、「# Add your local daemons here.」の下あたりに以下の行を追加
echo -n ' ppp'; /etc/ppp/ppp-on
- /etc/ppp/ppp-autodial
- ダイアルに失敗した時のために、以下のスクリプトを作成してcronから定期的に呼ぶことにする。
#!/bin/sh ###################################################################### # # Determine the device to be terminated. # if [ "$1" = "" ]; then DEVICE=ppp0 else DEVICE=$1 fi ###################################################################### # # If the ppp0 pid file is not present then the program is not running. # dialing if [ ! -r /var/run/$DEVICE.pid ]; then /etc/ppp/ppp-on fi
- /etc/crontab
- 上記スクリプトを定期的に実行するために作成
# /etc/crontab: system-wide crontab SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin # m h dom mon dow user command 1,11,21,31,41,51 * * * * root /etc/ppp/ppp-autodial
/etc/flashcfg に以下の行を追加
/etc/crontab
5. 設定をフラッシュROMに書き込み
flashcfg -s /etc/flashcfg
6. 再起動
2020|07|