> CentOS > CentOS入门 >

Centos下设置静态IP

First:
使用VirtualBox装了很多虚拟机,默认采用的DHCP的方式,但是随着虚拟机越来越多以后,这种方式很不方便,所以需要将机器的IP都设置为静态IP
需要添加的几项内容的解释:
IPADDR IP地址
NETMASK 子网掩码
NETWORK 网关地址
通常,如果我们想更改主机地址为静态地址或者更改主机名,需要修改的几个文件包括:
/etc/sysconfig/network 设置主机名和网络配置
/etc/sysconfig/network-scripts/ifcfg-eth0 针对特定的网卡进行设置
/etc/resolv.conf 设置DNS
/etc/hosts 设置指定的域名解析地址
一般我们只需要修改网卡的配置文件就可以了,例如我的配置文件如下:
DEVICE=eth0
BOOTPROTO=static
TYPE=Ethernet
NAME="System etho0"
BROADCAST=192.168.56.255
HWADDR=08:00:27:24:F8:9B
IPADDR=192.168.56.101
IPV6INIT=yes
IPV6_AUTOCONF=yes
NETMASK=255.255.255.0
NETWORK=192.168.56.1
ONBOOT=yes
设置完成后,重启一下网卡就可以了:service network restart
我们还有一个办法可以实现设置静态IP,那就是通过 ifconfig 这个命令。通常,我们都用它来查看当前网卡的一些信息,同时,他也可以用来进行一些网卡信息的设置。
修改的命令如下:ifconfig eth0 192.168.56.102
但是,这个命令执行后,只能够在当前会话中修改网卡的地址,我们看一下 ifcfg-eth0 的配置文件,仍然是
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
HWADDR=08:00:27:43:73:2f
也就是说重新启动服务器后,仍然会按照配置文件中的方式进行IP的获取。
所以,如果需要修改IP为静态IP的话,最好的方式还是通过修改配置文件来完成。

Second:

使用Sun的VirtualBox安装Centos,访问外网时候,出现’connect:Network is unreachable error’问题,VirtualBox采用的是Bridged Adapter的方式连接。
通过修改/etc/sysconfig/network-scripts/ifcfg-eth0修改虚拟机的IP地址已经network和netmask。
发现能ping同network和netmask,于是断定应该是虚拟机操作系统的路由配置问题,尝试直接修改系统文件/etc/sysconfig/network-scripts/route-eth0添加’defult via 192.168.0.1′(192.168.0.1是我的路由器的IP地址,可以根据自身情况修改)。
我跑到/etc/sysconfig/network-scripts/目录下发现压根儿没有route-eth0这个文件,于是自己创建了一个,将’defult via 192.168.0.1′添加到文件中。
运行’/etc/init.d/network restart’重启network,一切ok!原来问题果真是出在路由上面。
其实我原来已经使用过route add命令配置过路由了,只是它在重启之后就失效了,真是有点大意了。

Third:

也是比较重要的,就是系统的网络脚本并不直接使用我们描述的那些命令的具
体形式。相反,它试图从几个配置文件中读出信息并且相应地生成配置命令,例如,主
要的脚本/etc/sysconfig/network-scripts/ifup试图去/etc/sysconfig/network-scri
pts下面去寻找一切名为ifcfg-eth0,ifcfg-eth1的文件,并且根据他们来启动网络,而
/etc/rc.d/rc.sysinit以及启动网络的脚本/etc/rc.d/S10network则试图通过判断是否
存在/etc/sysconfig/network文件来决定是否启动网络,所以如果要调整网络配置通常
就从/etc/sysconfig/network下手,这个文件具有这样的典型形式:
  
  [openlab]# cat network
  
  NETWORKING=yes
  
  HOSTNAME="openlab.asnc.edu.cn"
  
  GATEWAY="202.199.248.1"
  
  GATEWAYDEV="eth0"
  
  其含义很容易看出来,这里就不多讲了,如果你对到底配置文件是如何工作的感兴趣
,可以参考/etc/rc.d/init.d/network脚本。

(责任编辑:IT)