IPを固定する
初期状態ではDHCPから動的にIPを取得しますが、外部からサーバーを参照するためにはサーバー側のIPを固定する必要があります。
やり方は簡単で、メニューバーの「システム」から「設定」>「Network Configuration」を選択します。ネットワーク接続ダイアログが開くので、自分の環境にあった接続方式のタブを選択して(大抵の環境では有線)接続設定の編集を行います。
IPv4のタブをクリックしてメソッドを「手動」に、「アドレス」の項目にそれぞれアドレスに自身の固定IPを、ネットマスクとゲートウェイに適切な値を設定します。 また、固定IPを使った場合は参照するDNSサーバーに有効なIPを設定してあげます。 DHCP下ではDHCPサーバーが参照するDNSサーバーのIPを教えてくれますが、メソッドを手動にするので、DHCPサーバーから情報を取らなくなるためです。
ここまでの作業で自身のIPが固定化されたはずです。では確認を行ってみます。
停止と再起動ですが、これをしなくてもネットワークが新たに接続されて値が反映されていれば問題ありませんので、蛇足かもしれませんが、勉強のため。(自分の環境だと再起動が必要でした)
先ほどはIPの指定をGUY画面から行いましたが、もちろん端末からでも操作・設定ができます。
さて実はこの設定方法ですが、設定をおこなって再起動をかけると以前の状態(自動DHCP)に戻ってしまいます。Desktop版だとNetworkManagerが再起動時に自動で接続を定義してしまうためです。 それでも固定IPとしたい場合は非常にやりにくく、固定IP環境ではServer版の方が扱いやすいようです。
(for Ubuntu ver 8.10)
Server版の場合はインストール状態ではGUIではなくCUIなので少々とっつきにくいです。 固定IPはコマンドラインから行います。
さて、さらに自分はDNSサーバーを当マシンに設定してある(BINDを起動していて、DNSサーバーのアドレスが自分自身)のですが、ここでハマりました。 nslookupで見るとDNSサーバーが自分自身になりません。 そこで更に /etc/resolv.conf にも変更を加えました。
(for Ubuntu ver 8.04 server)
IPv4のタブをクリックしてメソッドを「手動」に、「アドレス」の項目にそれぞれアドレスに自身の固定IPを、ネットマスクとゲートウェイに適切な値を設定します。 また、固定IPを使った場合は参照するDNSサーバーに有効なIPを設定してあげます。 DHCP下ではDHCPサーバーが参照するDNSサーバーのIPを教えてくれますが、メソッドを手動にするので、DHCPサーバーから情報を取らなくなるためです。
ここまでの作業で自身のIPが固定化されたはずです。では確認を行ってみます。
sudo ifconfig eth0 down sudo ifconfig eth0 up ifconfig eth0eth0となっている部分については適宜置き換える必要があるかもしれません。 設定を行ったインターフェースの名前をここには指定してあげます。 downでインターフェースを停止してupで再起動をかけます。 そして ifconfig 「インターフェース指定」でインターフェースの状態を取得します。 アドレスの欄に先ほど入力指定した値が入っていれば成功です。
停止と再起動ですが、これをしなくてもネットワークが新たに接続されて値が反映されていれば問題ありませんので、蛇足かもしれませんが、勉強のため。(自分の環境だと再起動が必要でした)
先ほどはIPの指定をGUY画面から行いましたが、もちろん端末からでも操作・設定ができます。
sudo ifconfig eth0 192.168.1.100 sudo ifconfig eth0 netmask 255.255.255.0 route add default gw 192.168.1.1上記で、上からアドレスを192.168.1.100とし、マスクを255.255.255.0としてデフォルトゲートウェイを192.168.1.1とした設定を行っています。 終わったら合わせてインターフェイスの再起動(down と up)して完了です。
さて実はこの設定方法ですが、設定をおこなって再起動をかけると以前の状態(自動DHCP)に戻ってしまいます。Desktop版だとNetworkManagerが再起動時に自動で接続を定義してしまうためです。 それでも固定IPとしたい場合は非常にやりにくく、固定IP環境ではServer版の方が扱いやすいようです。
(for Ubuntu ver 8.10)
Server版の場合はインストール状態ではGUIではなくCUIなので少々とっつきにくいです。 固定IPはコマンドラインから行います。
sudo nano /etc/network/interfacesインターフェース設定を変更します。恐らく最初の状態では以下の様になっているかと思います
auto lo ifface lo inet loopback auto eth0 iface eth0 inet dhcpeth0接続がdhcpに設定される記述がされていますのでこれを書き換えます。
auto lo ifface lo inet loopback auto eth0 iface eth0 inet static address 自分のIPアドレス netmask ネットマスク network ネットワークアドレス broadcast ブロードキャストアドレス gateway デフォルトゲートウェイアドレス dns-nameservers DNSサーバーアドレスこれで
sudo /etc/init.d/networking restartとコマンドを打つ事でネットワークを再起動します。 これで固定IP化が完了です。
さて、さらに自分はDNSサーバーを当マシンに設定してある(BINDを起動していて、DNSサーバーのアドレスが自分自身)のですが、ここでハマりました。 nslookupで見るとDNSサーバーが自分自身になりません。 そこで更に /etc/resolv.conf にも変更を加えました。
nameserver 自分のアドレス nameserver セカンダリDNSサーバーのアドレス。この設定をする前は再起動時にmysql起動が何故かfailになったりと不可思議でしたが、 これで一応問題なく起動するようになり、nslookupでも自身をDNSサーバーとして問合せを行い、正常に値が返ってくるようになりました。
(for Ubuntu ver 8.04 server)
2009年 4月 1日ドキュメント作成
2009年 4月 8日ドキュメント更新