image mark

固定IPの設定方法

会員登録(SSL)
会員専用(SSL)



投稿日: 2010.03.11
更新日: 2010.06.20
fedora 11の上で行った設定の記録を残した。固定IP1本に於ける設定と固定IP8本を利用しての設定とを前提にしてある。また、今流行りのGUIの設定ではなく、コマンドとファイルを修正しての設定方法で、長らく、Linux系を使用しているとコマンドでの設定方法が非常に便利だ。GUIに比べ変化がほとんど無い。一度使い方を覚えメモしておくだけでかなりの長期間使用できる。Lanカードの設定をするのは何年に一度程度でGUIなどでは使用方法などが一変していることを見かける。そういう時に限って、Lanカードの設定などを急いでいるのでGUIの使い方自体を確かめる時間など持てない状態である。また、どちらもルータを使用しての設定だ。PPPoE(Linuxをルーターとして使用する)に関しては説明を避ける。経済的効果並びに管理(場所)という面でも市販のルーターの使用がベストに思える。
以下では、固定8本と固定IP1本とを利用しての設定方法を載せてある。固定IP1本のlan内でのIPアドレスを192.168.1.100を仮定し、固定IP8本での仮定は**.**.**.64から**.**.**.71のInternet Addressを利用している。ほとんど、RedHat6.2の頃から設定コマンドに変更はないようだ。IPアドレスの設定など余程の恵まれた機会がなければめったに確認することもない。その半面、設定内容をすっかり忘れることは確かである。今回もHDDの破損によるOSの入れ替えがなければIPアドレスの設定コマンドとお付き合いすることもなかっただろう。

1) 最初は、ルーターの設定
2) 次が、固定して使用するPCのNetWorkCardに固定のIPアドレスを付与する
3) PC(パソコン)のOSのNetWorkに関するファイルの設定

という順序になる。また、関係する主なfileを以下に示す。

/etc/hosts
/etc/resolv.conf
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0

ルーターの設定

最近のルーターは以前と異なり安価な物でも予約IPの設定が可能になっている。一般的なルーターの説明書ではプラウザから
http://192.168.1.1/
で接続出来るようになっているがルーターの説明書を確かめる。プラウザに接続した後、

固定IP1本によるDHCP設定

DHCP設定 ... ルーターの種類により説明など非常にし難い。基本的に、また、一般的なルーターではおおよそ、192.168.1.2 -- 192.168.1.10 の範囲が固定IPでの仕様になっているのではなかろうか。予約IPとはこの範囲ではなくDHCPの範囲の任意のアドレスを指す。

DHCPサーバ機能  初期値のままにする。	
割り当て開始 IPアドレス   192.168.1.2	
割り当て終了 IPアドレス   192.168.1.10	
DNS サーバアドレス        192.168.1.1   <--- gate way  
DNSがIPS(インターネット・サービス・プロバイダー)から与えられている場合には、
そのIPアドレスでも構わない。

                          


固定IPアドレスで使用する端末の情報設定
IPアドレス                192.168.1.100	<--- 予約するIPaddress
MACアドレス               ZZ:1A:A0:26:15:29 
パソコン自体(マザーボード)に取り付けられている、または、市販のラン・カードの識別される
一意のアドレス。

以下のコマンドで表示される。

# ifconfig -a
eth0      Link encap:Ethernet  HWaddr ZZ:1A:A0:26:15:29 <--- MACアドレスの表示


予約するIPアドレス(192.168.1.100)を、NetWorkカードのmacアドレス(ZZ:1A:A0:26:15:29)に付与します、と言う設定をルーターに行ったことになる。

固定IP8本による設定

接続先名  	
接続ユーザ名 	必須
接続パスワード 	必須 
	
認証方式 	認証なし PAP CHAP PAP+CHAP
接続モード 	        自動切断までの時間   秒                                                      
DNSサーバアドレス 	プライマリ    セカンダリ 
MTU値 	
IP アドレス指定 	
指定しない        指定する(unnumbered 接続)
IP アドレス       マスク長  **.**.**.65/29 
cidr方式では理解できないところだが、プロバイダーの説明に従う・・・?
 


PCのLanCard(eth0)にアドレスを設定する

PCのLanCard(eth0)にIPアドレスを設定する
このコマンドで、eth0にIPアドレス(192.168.1.100)が設定されたことになる。

# su -
# ifconfig eth0 192.168.1.100

確認してみる。

# /sbin/ifconfig -a
eth0      Link encap:Ethernet  HWaddr ZZ:1A:A0:26:15:29 
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          ======================   省略   ==============================
          ======================   省略   ==============================
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4155 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3731 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1708596 (1.6 MiB)  TX bytes:443887 (433.4 KiB)
          Interrupt:17 


ここまでで、使用しているパソコンのeh0にIPアドレスを設定し、ルーターには予約IPアドレスを設定したことになる。残るはパソコンとルーターの再起動。最近は再起動をかけなくても反映させるコマンド(ifup, ifdown... etc)が存在しているようである。また、お使いのルーターに予約IPアドレスの設定が無い場合にはaliaseを使用することも出来る。その方法は数年前に記しているのでそちらを試してもらいたい。以下が、参照ページだ。

家庭内LANの設定

最後に、/etc/sysconfig/network ファイルの設定

vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=develop  <-- サーバーで通常利用する場合はfull domain
注意: 各パソコンはHostNameとIPアドレスの関係を、/etc/hosts...(Linuxの場合)、/windows/system/drivers/etc/hosts...(WindowsXPの設定)のように最初は各々のhosts fileを参照し解決できない場合に外部DNSに問い合わせする。世界中のHostNameとIPアドレスの関係をhostsファイルに記述できれば、DNSサーバーは必要ないことになる。


安心するのはもう少し先

再起動後、インターネット・プラウザでインターネットの世界を垣間見れれば成功であるが、なかには、外部への接続が上手く働かない場合が存在している。

ファイル、ifcfg-eth0の内容の確認

/etc/sysconfig/network-scripts/ifcfg-eth0のファイルを開く。固定IP1本の場合にはいままでの設定でほとんど問題なく接続できるものと思っているが、固定IP8本の場合にはまだ、設定が必要だろう。
以下は、固定IP8本の場合での設定になるかもしれない。


# Please read /usr/share/doc/initscripts-*/sysconfig.txt
# for the documentation of these parameters.
TYPE=Ethernet
DEVICE=eth0
HWADDR=--:--:--:--:--:--
IPADDR=**.**.**.70
NETMASK=255.255.255.248
GATEWAY=**.**.**.65
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
IPV6INIT=no
PEERDNS=yes
MTU=2
DNS1=**.**.**..65


以上が小生の最終的なifcfg-eth0ファイルの内容だ。

左辺に使用できるキャラクターは/usr/share/doc/initscripts-*/sysconfig.txtに記述されている。特に、/etc/resolv.confの内容が再起動時に書き換えられるので注意が必要だ。名前が解決できなければ接続できないのは当然。名前解決できるのは、/etc/hostsのファイルに書かれているserver名だけである。以前は、/etc/rc.d/rc.localに各種daemon起動後の最後にresolv.confの書き換えを行っていたが、Fedora11では/etc/rc.localが最後に走らないようだ。最初は、rc.localを走らせる事を重点的におこなったが良い解決方法は見受けられなかった。そこで最も重要な/etc/resolv.confが書き換えられないような方法を模索した。それがifcfg-eth0ファイルの内容の変更である。特に、DNS1並びにDNS2の設定を行えば、起動後、/etc/resolv.confに反映された。

あと、もう一歩

以下に示しているのが、

# netstat -r
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
**.**.**.64    *               255.255.255.248 U         0 0          0 eth0

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
**.**.**.64    *               255.255.255.248 U     0      0        0 eth0

この部分のdefaultの表示が無く、tcp/ipでの接続に支障をきたしていた。そこで次のコマンドを行う


# route add default gw **.**.**.65

確認
# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
**.**.**.64     *               255.255.255.248 U     0      0        0 eth0
default         **-**-**-65.ip  0.0.0.0         UG    0      0        0 eth0


これで以前とおなじ働きを行うようになった。また、起動後も設定に変化がないか、再起動してみる。


# chkconfig --list network
network 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# chkconfig --level 345 network on
network 0:off 1:off 2:off 3:on 4:on 5:on 6:off




Valid HTML 4.01 Transitional