大家都知道,一台计算机要想能上网,那必须要有一个IP地址,就跟家里的门牌号一样。在这里我记录了一些Linux手动配置IP的方法。
我们知道
ifconfig eth0 192.168.0.100
这个命令可以为eth0这个网卡的IP设置为192.168.0.100。但这个方法不是持续生效的,一旦你reboot后service network restart后,eth0对应的IP依旧会改变。
修改配置文件
/etc/sysconfig/network-scripting/ifcfg-eth0是记录系统中与IP、NETMASK、GATEWAY等有关网络参数的配置文件。这个配置文件的内容如下:
DEVICE=eth0 #网卡名称
HWADDR=00:0C:29:23:C8:07 #网卡的MAC地址
TYPE=Ethernet
UUID=79e63b78-a09e-46e7-b4a6-4113841fa536
ONBOOT=no #是否开机默认启动该网卡
NM_CONTROLLED=yes #是否使用额外的网管软件(暂且不谈)
BOOTPROTO=dhcp #是否使用DHCP
我们可以看到,Linux默认的设置是启用DHCP协议,即主机自动获取IP地址。
那这里我们要设置的是静态IP,我们可以将这个文件修改为:
DEVICE=eth0 #网卡名称
HWADDR=00:0C:29:23:C8:07 #网卡的MAC地址
TYPE=Ethernet
UUID=79e63b78-a09e-46e7-b4a6-4113841fa536
ONBOOT=no #是否开机默认启动该网卡
NM_CONTROLLED=yes #是否使用额外的网管软件(暂且不谈)
BOOTPROTO=static #关键字dhcp表示使用DHCP协议,使用静态IP时修改为static或none均可
IPADDR=192.168.1.100 #固定IP
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.1.254 #默认路由(需根据实际网络情况而定)
#### 以下为一些可以省略的配置
NETWORK=192.168.1.0 #网络号,系统会根据IP和MASK自动计算得出
BROADCAST=192.168.1.255 #广播地址,系统会根据IP和MASK自动计算得出
MTU=1000 #最大传输单元,默认为1500
注意:
1、配置文件中的变量值需要全部使用大写
2、GATEWAY的设置尤为重要,它代表的是主机的默认路由(Default Gateway),即主机与所有非本网络内的主机通讯都需要经过Default Gateway转发,就像网络的大门一样。
3、DEVICE中指定网卡的名称,其值必须与文件名(ifcfg-eth0)那个设备名称相同,否则网卡将无法启动。(报错设备名Not found)
4、当设置为DHCP自动获取IP时,GATEWAY这个参数一定要注释掉,因为DHCP会自动获取网络参数(包括GATEWAY),所以可能会造成冲突的。
重启网络并测试
在修改好配置文件后网络参数还不能立即生效,需要重新启动网络服务:
service network restart
再使用ifconfig查看配置是否成功即可。