静的IPアドレスを設定しているのにIPアドレスが169.254...になる
今の職場は192.168.50.32/27な環境です。
静的IPアドレスを割り当てているのにもかかわらず、ifconfigを実行してみると、
$ ifconfig eth0 Link encap:Ethernet HWaddr 00:08:02:D6:FA:FA inet addr:169.254.147.105 Bcast:169.254.255.255 Mask:255.255.0.0 inet6 addr: fe80::208:2ff:fed6:fafa/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4287 errors:0 dropped:0 overruns:0 frame:0 TX packets:4414 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3240523 (3.0 MiB) TX bytes:805926 (787.0 KiB) Interrupt:10 Base address:0x800
とか出ちゃいます。
これってあれですよね、DHCPでIPアドレスが取れなかったときに設定されるあれですよね。
でも/etc/network/interfacesにはちゃんと固定IPアドレスが書いてあるんですよ?
$ cat /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.50.39 netmask 255.255.255.224 gateway 192.168.50.33
しかもこの状態でもネットにはつなげる。
/etc/init.d/networkingを再起動すると、192...のIPアドレスがちゃんと割り当てられます。
$ sudo /etc/init.d/networking restart Password: * Reconfiguring network interfaces... [ ok ] jocv@jocv:~$ ifconfig eth0 Link encap:Ethernet HWaddr 00:08:02:D6:FA:FA inet addr:192.168.50.39 Bcast:192.168.50.63 Mask:255.255.255.224 inet6 addr: fe80::208:2ff:fed6:fafa/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6978 errors:0 dropped:0 overruns:0 frame:0 TX packets:7132 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:5267012 (5.0 MiB) TX bytes:1299465 (1.2 MiB) Interrupt:10 Base address:0x800
どうやら原因はzeroconfにあるようです。
zeroconfは、設定無しでネットワークに接続できるようにする技術、だそうです。
まずDHCPサーバに聞きに行って、サーバが存在しなければ自分で169.254.0.0/16なIPアドレスを割り振ると。
ということでzeroconfをアンインストール。別に使うこともなさそうだし。
これで問題は解決しましたが、ifconfigの結果が169.254...になっているとはいえ、ネットに接続できていたということはIPアドレスは絶対192.168.50...なわけで、釈然としない。
ifconfigの結果が信用できないってことになっちゃうんですかね?
どうも最近、Linuxを使っていて釈然としないことが多い。自分が設定していないことを勝手にやってくれちゃうってWindowsみたい。
もちろん、そのおかげでここまで簡単に操作ができるようになっているわけですが、coreインストールなSolarisを触っていたころ、自分で全て設定しなきゃいけなかったころがちょっぴり懐かしい。
マスタリングTCP/IP 入門編 第4版 竹下 隆史 村山 公保 荒井 透 by G-Tools |