如何配置Linux系统的IP地址?

时间:2024-02-22 08:08:53

如何配置Linux系统的IP地址,使其能够连接局域网甚至外网。其实这并不难,Linux系统网络配置的方法有多种。

下面,以VMware虚拟机中的Linux系统为例,进行讲解。

我的真实机是Windows系统,网络连接的详细信息如下:

已启用DHCP:是
IP地址:192.168.1.2
子网掩码:255.255.255.0
默认网关:192.168.1.1
DHCP服务器:192.168.1.1
DNS服务器:192.168.1.1

并且,该真实机的Windows系统可以连接外网。

真实机中开启了一台VMware虚拟机,装的Linux系统版本是CentOS6.6。

首先,介绍一下测试网络连通性的命令ping。

测试网络连通性 ping

基本语法:ping [-选项] IP地址或域名
功能描述:测试网络是否连通
常用选项:-c
-c 指定发送数据包的次数

常见用法:

ping 192.168.1.2
测试Linux主机与局域网内的其他主机192.168.1.2的连通性,默认会一直发送数据包。
可用 Ctrl+C 强制终止当前命令。

ping -c 3 192.168.1.1
测试内网的连通性,只发送3次数据包。

ping -c 3 www.baidu.com
对外网的域名进行ping操作,可以测试本机是否连通了外网。

配置Linux系统的IP地址的方法,主要有以下三种:

  • ifconfig
  • setup
  • 修改网卡的配置文件

说明: 这三种方法对真实的Linux服务器也有效,但强力推荐大家用第三种方法配置IP地址。

1. ifconfig

命令名称:ifconfig
基本语法:ifconfig [网卡标识] [IP地址]
英文原意:interface configuration
执行权限:root
功能描述:查看或临时配置网卡信息

说明: ifconfig 命令主要是用来查看网卡的配置信息,因为用它来配置网卡的IP地址时,只会临时生效(Linux服务器重启后就会失效)。要想使本地网卡(eth0)的配置永久生效,需要修改其配置文件/etc/sysconfig/network-scripts/ifcfg-eth0。

先用ifconfig命令查看一下网卡的基本信息。

ifconfig
查看Linux服务器的网卡的相关信息。

结果如下:

[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:3E:9C:06  
          inet addr:192.168.200.128  Bcast:192.168.200.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe3e:9c06/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2326 errors:0 dropped:0 overruns:0 frame:0
          TX packets:520 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:161222 (157.4 KiB)  TX bytes:51780 (50.5 KiB)
          Interrupt:19 Base address:0x2000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

说明:

eth0 表示第1块本地网卡,它是按照数字顺序来命名的。
如果有第2块本地网卡,就叫eth1。
通常,我们主要会查看本地网卡的mac地址(HWaddr 00:0C:29:3E:9C:06)和IP地址(inet addr:192.168.200.128)。

lo 表示本地回环网卡。

如果你在查看网卡信息时,没有本地网卡eth0这一项。很可能是因为本地网卡默认没有启动。
可先修改它的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0。

加上如下代码,来启动Linux主机的本地网卡:
ONBOOT=yes

保存退出后,运行下面的命令,重启网络服务,使网卡配置文件立即生效:
service network restart
再来运行ifconfig即可。

如果本地网卡eth0已经启动,就可以用下面的命令临时设置IP地址:

ifconfig eth0 192.168.1.3
临时配置本地网卡eth0的IP地址,Linux重启就会失效。

这种配置ip的方式只能设置IP和子网掩码,估只适合内网(局域网)使用。
如果想连通外网,还必须设置网关和DNS。

总结: ifconfig命令主要还是用来查看网卡的基本信息,如果用它来临时配置IP地址,局限性太多,故不推荐。

2. setup

setup 命令是 redhat 系列的linux系统(如CentOS)中专有的命令工具。

可以使用 setup 命令,来对网络配置中的IP地址、子网掩码、默认网关、DNS服务器进行设置。而且,setup 网络配置工具设置的IP地址会永久生效。

具体设置请查看 http://blog.csdn.net/lamp_yang_3533/article/details/53310844#t9 中的第10小节网络配置。

总结: setup命令工具虽然也有一点局限性,但它的图形化设置界面非常方便,而且网络配置也会自动写入网卡配置文件,进而永久生效。并且,只要你家有外网,你的Linux也能够连通外网。故推荐使用该方法。

3. 修改网卡的配置文件

本地网卡的配置文件为/etc/sysconfig/network-scripts/ifcfg-eth0。

直接修改网卡的配置文件,设置方法有两种:

  • 自动获取动态IP地址
  • 手工配置静态的IP地址

3.1 自动获取动态IP地址

也就是通过路由器的DHCP功能,使Linux主机自动获取IP地址。

设置方法如下:

vi /etc/sysconfig/network-scripts/ifcfg-eth0
编辑本地网卡的配置文件

主要查看下面这两项是否和下面给出的一致即可。

ONBOOT=yes
BOOTPROTO=dhcp

第一项是确保本地网卡eth0开启。

第二项是使用dhcp,自动获取IP地址、子网掩码、网关和DNS。

然后,执行下面的命令,重启网络服务即可。

service network restart     
重启网络服务,使配置文件生效

3.2 手工配置静态的IP地址

也就是手工配置IP地址、子网掩码、网关和DNS。

设置方法如下:

vi /etc/sysconfig/network-scripts/ifcfg-eth0
编辑本地网卡的配置文件

主要查看下面这几项是否和下面给出的一致即可。

ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.1.66
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1

第二项表示不使用dhcp服务,如果是手动配置静态的ip地址,BOOTPROTO的值可以为none或者static。

第三项表示设置IP地址。

第四项表示设置子网掩码。

第五项表示设置网关。

第六项表示设置首选DNS服务器,其实DNS有自己的配置文件/etc/resolv.conf,在这里设置DNS,就是把它写入了DNS的配置文件/etc/resolv.conf。

然后,执行下面的命令,重启网络服务即可。

service network restart 

说明: 如果是虚拟机的Linux,使用“手工配置静态的IP地址”的话,必须将此虚拟机的网络适配器(即网卡)的网络连接的模式设置为桥接模式。

不管怎样,无论是“自动获取动态IP地址”还是“手工配置静态的IP地址”,都能实现配置Linux的IP地址,而且是永久生效。并且,只要你家有外网,你的Linux也能够连通外网。但我更倾向于使用“自动获取动态IP地址”,因为它更方便。

总结: 修改网卡的配置文件这个方法非常有效,几乎没有局限性,故大力推荐。

4. 虚拟机的网络连接模式

就VMware虚拟机而言,常用的网络连接的模式有三种:

  • NAT模式(默认模式)
  • 仅主机模式
  • 桥接模式

查看和设置网络连接的模式的方法是:虚拟机 → 设置 → 网络适配器,在设备状态处,勾选“已连接”和“启动时连接”;在网络连接处,选择合适的模式。

这三种网络连接模式有一定的区别,下面逐一说明。

4.1 NAT模式

选择NAT模式时,虚拟机的IP应该和真实机中的VMnet8(虚拟网卡)的IP(比如:192.168.200.1)同网段,才能保证虚拟机和真实机的连通。

4.2 仅主机模式

选择仅主机模式时,虚拟机的IP应该和真实机中的VMnet1(虚拟网卡)的IP(比如:192.168.224.1)同网段,才能保证虚拟机和真实机的连通。

注意: 在仅主机模式时,就算你家有外网,虚拟机也只能连通内网,而无法连通外网。

4.3 桥接模式

选择桥接模式时,虚拟机的IP应该和真实机中已经连上外网的网卡(本地网卡或无线网卡)的IP(比如:192.168.1.2)同网段,才能保证虚拟机和真实机的连通。

总结: 如果你家有外网,要想让虚拟机中的Linux主机也连通外网,可以选择“NAT模式”或者“桥接模式”,但不能使用“仅主机模式”。也就是说,“仅主机模式”有一定的局限性,它只能让虚拟机连通局域网,而其他两种模式,只要网络配置正确,则没有局限性。