ppp on Debian GNU/Linux Sarge な PC & ISDN用のTA(ターミナルアダプタ) を利用してプロバイダへ接続しようとしたら失敗した。プロバイダからDHCPにてIPアドレスを付与してもらったのに、なぜか接続先のプロバイダのIPアドレス P-t-P (Point to Point) から先へ行けない。P-t-P には ping が届く。
[DebianPC(ppp0)] ---> [P-t-P] ---> X
ifconfig の結果は問題ないように見える。
装備は、eth0 という NIC と、ppp0 という TAへのインターフェース。
eth0 : Network Interface Card (192.168.0.1)
ppp0 : Network Interface to TA (XXX.XXX.XXX.XXX)
# ifconfig
eth0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:391 errors:0 dropped:0 overruns:0 frame:0
TX packets:276 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:23820 (23.2 KiB) TX bytes:20505 (20.0 KiB)
Interrupt:5 Base address:0xd800
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:20 errors:0 dropped:0 overruns:0 frame:0
TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1380 (1.3 KiB) TX bytes:1380 (1.3 KiB)
ppp0 Link encap:Point-to-Point Protocol
inet addr:XXX.XXX.XXX.XXX P-t-P:XXX.XXX.XXX.XXX Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:5 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:166 (166.0 b) TX bytes:112 (112.0 b)
/etc/network/interfaces を見ると、
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
ルーティングがまずいような気はしたが、P-t-P には ping が届くんだから、ルーティングの問題じゃないよなぁ、みたいに考えていたが……
ローカルがデフォルトゲートウェイってマズいの?
# route del default
# route add default ppp0
ってやれば、回避できそうな気もする。
でも、結局 /etc/network/interfaces を書きなおした。
固定IPのインターフェースには、address と netmask だけ書いておけば良かったっぽい。
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
ルーティングテーブルを表示してみる。
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
# pon
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
xxxxxxx.xxxxxxx * 255.255.255.255 UH 0 0 0 ppp0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
default xxxxxxx.xxxxxxx 0.0.0.0 UG 0 0 0 ppp0
まぁ、なんとかうまくいった感じ。
参考になったのは [debian-users:36658] Re: ルーター構築について に書かれていた /etc/network/interfaces の内容。下流の NIC には gateway 指定が無かった。
Linux PPP HOWTO: PPP サーバの設定 - 29.5 PPP のオプションファイルの設定 によると、
注意 - 私たちは(明示的に)経路を指定していません - 加えてデフォルトルートオプションも指定していません。なぜなら、(PPP サーバにとって)必要な機能は ppp クライアントからのパケットを LAN/Internet へ送りだし、 LAN/Internet からのパケットをクライアントへ送りだすことだけだからです。
とある。
あ、ここはプロバイダをやる人向けの文章か。
あとは、
# man route
# man interfaces
で、マニュアルを参照。
その他の参考になったページ:
- Linux PPP HOWTO: LAN のルーティングに関わる問題
- Linux PPP HOWTO: 接続がうまくいってから起きやすい問題 - 27.1 PPP サーバから先へ接続できません。
- [debian-users:32029] Re: [!] Which PPP file do I describe IP Masquerade setting?
- [debian-users:36107] ルーターを行なう box上でのルーティング設定について
- [debian-users:36665] Re: ルーター構築について
- Debian リファレンス 第10章 - ネットワークの設定
tags: zlashdot Linux Debian
Posted by NI-Lab. (@nilab)
コメント
づらねこにゃんが、ネットで無かったネットワークなどを接続しなかったよ。
投稿者: BlogPetのづらねこにゃん | 2006年01月15日 11:39