| Internet flets ADSL + @nifty flets SQUARE | ppp0 | ppp1 +-------------------------------------+ | Modem | +-------------------------------------+ | eth1 +-------------------------------------+ | Linux BOX | HTTP/SMTP/POP3/P.DNS/DHCP +-------------------------------------+ iptables | eth0 192.168.a.0/24 -------------------------------------------------------- | ep0 | | | | +-------------+ PC PC PC AirStation zz PC | FreeBSD BOX | +-------------+ HTTP/SMTP/ IMAP/S.DNS/ DHCP
FreeBSD BOX | Linux BOX | |
機種 | TOSHIBA Libretto 100 | plathome OpenBockSS |
CPU | Pentium 166MHz | PowerPC 405GP 200MHz |
MEM | 64MB | 64MB |
HDD | 2GB | 20GB |
pty "/usr/sbin/pppoe -I eth1 -T 80 -m 1412" mtu 1492 user "xxx00000@nifty.com"
"xxx00000@nifty.com" * "password"
MODPROBE=/sbin/modprobe IPTABLES=/sbin/iptables ## ftp 接続の為のモジュールの挿入(カーネル直組み込みの場合は不要) $MODPROBE ip_nat_ftp $MODPROBE ip_conntrack_ftp # INPUT/FORWARD チェインのポリシーの設定: DROP $IPTABLES -P INPUT DROP --modprobe=$MODPROBE $IPTABLES -P FORWARD DROP # Firewall マシンを通過して出て行くパケットに対する処理 # マスカレードの設定 # nat テーブルの POSTROUTING チェインで、送信インターフェース ppp0 に # 対して、ターゲット MASQUERADE を指定する。 $IPTABLES -t nat -A POSTROUTING -o ppp+ -j MASQUERADE --modprobe=$MODPROBE # LOG して DROP するチェインを作成 $IPTABLES -N log_drop $IPTABLES -A log_drop -j LOG --log-level info --log-prefix 'iptables: ' --modpro be=$MODPROBE $IPTABLES -A log_drop -j DROP ## 内部からのもの以外の新しいコネクションをブロックするチェインの作成 # ユーザ定義チェイン ppp-in を新たに作成する $IPTABLES -N ppp0-in # ssh(22) を ACCEPT $IPTABLES -A ppp0-in -p tcp --dport 22 -j ACCEPT $IPTABLES -t nat -A PREROUTING -p tcp -i ppp0 --dport 22 -j DNAT --to 192.168.a.b:22 # www(80) を ACCEPT $IPTABLES -A ppp0-in -p tcp --dport 80 -j ACCEPT $IPTABLES -t nat -A PREROUTING -p tcp -i ppp0 --dport 80 -j DNAT --to 192.168.a.b:80 # smtp(25) を ACCEPT $IPTABLES -A ppp0-in -p tcp --dport 25 -j ACCEPT $IPTABLES -t nat -A PREROUTING -p tcp -i ppp0 --dport 25 -j DNAT --to 192.168.a.b:25 # EBトレ(1213) $IPTABLES -A ppp0-in -p tcp --dport 1213 -j ACCEPT $IPTABLES -t nat -A PREROUTING -p tcp -i ppp0 --dport 1213 -j DNAT --to 192.168.a.b:1213 # NetMeeting(1503,1720) $IPTABLES -A ppp0-in -p tcp --dport 1503 -j ACCEPT $IPTABLES -t nat -A PREROUTING -p tcp -i ppp0 --dport 1503 -j DNAT --to 192.168.a.b:1503 $IPTABLES -A ppp0-in -p tcp --dport 1720 -j ACCEPT $IPTABLES -t nat -A PREROUTING -p tcp -i ppp0 --dport 1720 -j DNAT --to 192.168.a.b:1720 # ntp(123) tcp/udp $IPTABLES -A ppp0-in -p tcp --dport 123 -j ACCEPT $IPTABLES -A ppp0-in -p udp --dport 123 -j ACCEPT $IPTABLES -t nat -A PREROUTING -p tcp -i ppp0 --dport 123 -j DNAT --to 192.168.a.b:123 $IPTABLES -t nat -A PREROUTING -p udp -i ppp0 --dport 123 -j DNAT --to 192.168.a.b:123 # 内部から発生した接続に関連するパケットを ACCEPT $IPTABLES -A ppp0-in -m state --state ESTABLISHED,RELATED -j ACCEPT --modprobe=$ MODPROBE # 上記以外を LOG して DROP $IPTABLES -A ppp0-in -j log_drop # ユーザ定義チェイン ppp-out を新たに作成する $IPTABLES -N ppp0-out $IPTABLES -A ppp0-out -p udp --dport 137:139 -j DROP $IPTABLES -A ppp0-out -p tcp --dport 137:139 -j DROP $IPTABLES -A ppp0-out -d 10.0.0.0/8 -j log_drop $IPTABLES -A ppp0-out -d 172.16.0.0/12 -j log_drop $IPTABLES -A ppp0-out -d 192.168.0.0/16 -j log_drop ## LAN 側および loopback からの入力のデフォルトフリー設定 $IPTABLES -A INPUT -i eth0 -j ACCEPT $IPTABLES -A INPUT -i lo -j ACCEPT ## LAN 側からの転送のデフォルトフリー設定 $IPTABLES -A FORWARD -i eth0 -j ACCEPT
MODPROBE=/sbin/modprobe IPTABLES=/sbin/iptables # nat テーブルの POSTROUTING チェインの中身を全消去 $IPTABLES -t nat -F POSTROUTING # nat PREROUTING flush $IPTABLES -t nat -F PREROUTING # filter テーブルのユーザ定義チェインの中身を全消去 $IPTABLES -F ppp0-in $IPTABLES -F ppp0-out $IPTABLES -F log_drop # filter テーブルの組み込み済みチェインの中身を全消去 $IPTABLES -F INPUT $IPTABLES -F OUTPUT $IPTABLES -F FORWARD # filter テーブルのユーザ定義チェインを削除 $IPTABLES -X ppp0-in $IPTABLES -X ppp0-out $IPTABLES -X log_drop # filter テーブルのポリシーを元に戻す $IPTABLES -P INPUT ACCEPT $IPTABLES -P FORWARD ACCEPT
auto eth1 iface eth1 inet static address 1.1.1.1 network 1.1.1.1 netmask 255.255.255.255 broadcast 1.1.1.1 up . /etc/network/iptables.up down . /etc/network/iptables.down
ip_forward=yes
$ cd /etc/ppp $ cp no_ppp_on_boot ppp_on_boot
#!/bin/sh # # The location of the ppp daemon itself (shouldn't need to be changed) PPPD=/usr/sbin/pppd # The Ethernet interface the DSL modem is connected to. If you change this, # you also need to edit the file /etc/ppp/peers/dsl-provider. #INTERFACE=eth0 INTERFACE=eth1 # Bring the interface up /sbin/ifconfig $INTERFACE up (exec $PPPD call dsl-provider) #(exec $PPPD call flets-square)
各チェインへのジャンプ設定を各標準チェインの一番上に挿入 iptables -I INPUT -i $PPP_IFACE -j $PPP_IFACE-in iptables -I FORWARD -i $PPP_IFACE -j $PPP_IFACE-in iptables -I FORWARD -o $PPP_IFACE -j $PPP_IFACE-out iptables -I OUTPUT -o $PPP_IFACE -j $PPP_IFACE-out
iptables -D INPUT -i "$PPP_IFACE" -j $PPP_IFACE-in iptables -D FORWARD -i "$PPP_IFACE" -j $PPP_IFACE-in iptables -D FORWARD -o "$PPP_IFACE" -j $PPP_IFACE-out iptables -D OUTPUT -o "$PPP_IFACE" -j $PPP_IFACE-out
pty "/usr/sbin/pppoe -I eth1 -T 80 -m 1412" mtu 1492 user "guest@flets" nodefaultroute noproxyarp
"guest@flets" * "guest"
"guest@flets" * "guest"本当は/etc/ppp/chap-secretsか/etc/ppp/pap-secretsのどちらかでよいと思う。
$ chmod +x /etc/ppp/ip-up.d/route
#! /bin/sh if [ "x$PPP_IFACE" = "xppp1" ]; then /sbin/route add -net 220.210.194.0/25 dev $PPP_IFACE /sbin/route add -net 220.210.195.0/26 dev $PPP_IFACE /sbin/route add -net 220.210.195.64/27 dev $PPP_IFACE /sbin/route add -net 220.210.196.0/24 dev $PPP_IFACE /sbin/route add -net 220.210.197.0/26 dev $PPP_IFACE /sbin/route add -net 220.210.197.64/27 dev $PPP_IFACE /sbin/route add -net 220.210.197.96/27 dev $PPP_IFACE /sbin/route add -net 220.210.198.0/26 dev $PPP_IFACE /sbin/route add -net 220.210.199.0/27 dev $PPP_IFACE /sbin/route add -net 172.25.0.0/16 dev $PPP_IFACE /sbin/route add -net 172.27.0.0/16 dev $PPP_IFACE fi
$ chmod +x /etc/ppp/ip-up.d/iptables
#! /bin/sh IPTABLES=/sbin/iptables if [ "x$PPP_IFACE" = "xppp1" ]; then # ユーザ定義チェイン ppp-in を新たに作成する $IPTABLES -N ppp1-in # 内部から発生した接続に関連するパケットを ACCEPT $IPTABLES -A ppp1-in -m state --state ESTABLISHED,RELATED -j ACCEPT # 上記以外を LOG して DROP $IPTABLES -A ppp1-in -j log_drop # ユーザ定義チェイン ppp-out を新たに作成する $IPTABLES -N ppp1-out $IPTABLES -A ppp1-out -p udp --dport 137:139 -j DROP $IPTABLES -A ppp1-out -p tcp --dport 137:139 -j DROP $IPTABLES -A ppp1-out -d 10.0.0.0/8 -j log_drop $IPTABLES -A ppp1-out -d 172.16.0.0/12 -j log_drop $IPTABLES -A ppp1-out -d 192.168.0.0/16 -j log_drop $IPTABLES -I INPUT -i $PPP_IFACE -j $PPP_IFACE-in $IPTABLES -I FORWARD -i $PPP_IFACE -j $PPP_IFACE-in $IPTABLES -I FORWARD -o $PPP_IFACE -j $PPP_IFACE-out $IPTABLES -I OUTPUT -o $PPP_IFACE -j $PPP_IFACE-out fi無駄なところも多いと思いますが、目的は達成しているの放置しています。
$ chmod +x /etc/ppp/ip-down.d/route
#! /bin/sh if [ "x$PPP_IFACE" = "xppp1" ]; then /sbin/route del -net 220.210.194.0/25 dev $PPP_IFACE /sbin/route del -net 220.210.195.0/26 dev $PPP_IFACE /sbin/route del -net 220.210.195.64/27 dev $PPP_IFACE /sbin/route del -net 220.210.196.0/24 dev $PPP_IFACE /sbin/route del -net 220.210.197.0/26 dev $PPP_IFACE /sbin/route del -net 220.210.197.64/27 dev $PPP_IFACE /sbin/route del -net 220.210.197.96/27 dev $PPP_IFACE /sbin/route del -net 220.210.198.0/26 dev $PPP_IFACE /sbin/route del -net 220.210.199.0/27 dev $PPP_IFACE /sbin/route del -net 172.25.0.0/16 dev $PPP_IFACE /sbin/route del -net 172.27.0.0/16 dev $PPP_IFACE fi
$ chmod +x /etc/ppp/ip-down.d/iptables
#! /bin/sh IPTABLES=/sbin/iptables if [ "x$PPP_IFACE" = "xppp1" ]; then # filter テーブルのユーザ定義チェインの中身を全消去 $IPTABLES -F ppp1-in $IPTABLES -F ppp1-out # filter テーブルのユーザ定義チェインを削除 $IPTABLES -X ppp1-in $IPTABLES -X ppp1-out $IPTABLES -D INPUT -i "$PPP_IFACE" -j $PPP_IFACE-in $IPTABLES -D FORWARD -i "$PPP_IFACE" -j $PPP_IFACE-in $IPTABLES -D FORWARD -o "$PPP_IFACE" -j $PPP_IFACE-out $IPTABLES -D OUTPUT -o "$PPP_IFACE" -j $PPP_IFACE-out fi
(exec $PPPD call flets-square)
ゲーム | あ塚 | レ山 | 吉ア | 針ト | 合計(印) |
スライムもりもりドラゴンクエスト衝撃のしっぽ団 | 8 | 9 | 9 | 9 | 35(PLATINA) |
[~/.fetchmailrc] defaults : fetchsizelimit 0 :私は"defaults"へ追加した。
ポイント | 26 point |
411 位 | |
収支 | -27,840 TM |
659 位 |
ゲーム | 浜信 | キ山 | 奥コ | 羽之 | 合計(印) |
ポケモンコロシアム | 8 | 9 | 8 | 8 | 33(GOLD) |
ゲーム | あ塚 | レ山 | 吉ア | 針ト | 合計(印) |
ワリオ&ルイージ | 9 | 10 | 9 | 9 | 37(PLATINA) |
E: Dynamic MMap ran out of room E: Error occured while processing xcruise (NewVersion1) E: Problem with MergeList /var/lib/apt/lists/ftp.jp.debian.org_debian_dists_unst able_main_binary-powerpc_Packages E: The package lists or status file could not be parsed or opened.
Reading Package Lists... Error! E: Dynamic MMap ran out of room E: Error occured while processing hoge (NewVersion1) E: Problem with MergeList /var/lib/dpkg/status E: The package lists or status file could not be parsed or opened.解決策は /etc/apt/apt.conf に以下の行を追加する。 なお、私の環境ではこのファイルがなかったため、ファイルを新規に作成し、行を追加した。
APT::Cache-Limit 12582912;
Unpacking replacement ddclient ... Errors were encountered while processing: /var/cache/apt/archives/namazu2-index-tools_2.0.12-1_all.deb E: Sub-process /usr/bin/dpkg returned an error code (1)だめだった。
ソフト名 | メーカー名 | 機種 | ジャンル | 対象年齢 | 点数(合計) | 価格 | 発売日 |
バテン・カイトス | ナムコ | GC | ファンタジー/RPG | 全年齢 | 8887(31) | 6800 | 12/5 |
ソニックバトル | セガ | GBA | 格闘/アクション | 全年齢 | 7777(28) | 4980 | 12/4 |
GC | 任天堂 | 2004/2 | 価格未定 |
冒険・ファンタジー、アクション・アドベンチャー |