如何配置Linux系统的IP地址,使其能够连接局域网甚至外网。其实这并不难,Linux系统网络配置的方法有多种。
下面,以VMware虚拟机中的Linux系统为例,进行讲解。
我的真实机是Windows系统,网络连接的详细信息如下:
代码语言:javascript复制已启用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
代码语言:javascript复制基本语法:ping [-选项] IP地址或域名
功能描述:测试网络是否连通
常用选项:-c
-c 指定发送数据包的次数
常见用法:
代码语言:javascript复制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
代码语言:javascript复制命令名称:ifconfig
基本语法:ifconfig [网卡标识] [IP地址]
英文原意:interface configuration
执行权限:root
功能描述:查看或临时配置网卡信息
说明:ifconfig 命令主要是用来查看网卡的配置信息,因为用它来配置网卡的IP地址时,只会临时生效(Linux服务器重启后就会失效)。要想使本地网卡(eth0)的配置永久生效,需要修改其配置文件/etc/sysconfig/network-scripts/ifcfg-eth0。
先用ifconfig命令查看一下网卡的基本信息。
代码语言:javascript复制ifconfig #查看Linux服务器的网卡的相关信息。
结果如下:
代码语言:javascript复制[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)
说明:
代码语言:javascript复制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地址:
代码语言:javascript复制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地址会永久生效。
总结:setup命令工具虽然也有一点局限性,但它的图形化设置界面非常方便,而且网络配置也会自动写入网卡配置文件,进而永久生效。并且,只要你家有外网,你的Linux也能够连通外网。故推荐使用该方法。
3. 修改网卡的配置文件
本地网卡的配置文件为/etc/sysconfig/network-scripts/ifcfg-eth0。
直接修改网卡的配置文件,设置方法有两种:
代码语言:javascript复制自动获取动态IP地址
手工配置静态的IP地址
3.1 自动获取动态IP地址
也就是通过路由器的DHCP功能,使Linux主机自动获取IP地址。
设置方法如下:
代码语言:javascript复制vi /etc/sysconfig/network-scripts/ifcfg-eth0 #编辑本地网卡的配置文件
主要查看下面这两项是否和下面给出的一致即可。
代码语言:javascript复制ONBOOT=yes
BOOTPROTO=dhcp
第一项是确保本地网卡eth0开启。
第二项是使用dhcp,自动获取IP地址、子网掩码、网关和DNS。
然后,执行下面的命令,重启网络服务即可。
代码语言:javascript复制service network restart #重启网络服务,使配置文件生效
3.2 手工配置静态的IP地址
也就是手工配置IP地址、子网掩码、网关和DNS。
设置方法如下:
代码语言:javascript复制vi /etc/sysconfig/network-scripts/ifcfg-eth0 #编辑本地网卡的配置文件
主要查看下面这几项是否和下面给出的一致即可。
代码语言:javascript复制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。
然后,执行下面的命令,重启网络服务即可。
代码语言:javascript复制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模式”或者“桥接模式”,但不能使用“仅主机模式”。也就是说,“仅主机模式”有一定的局限性,它只能让虚拟机连通局域网,而其他两种模式,只要网络配置正确,则没有局限性。