7.2 任务2 熟练使用常用的网络配置命令
7.2.1 子任务1 配置主机名
确保主机名在网络中是唯一的,否则通信会受到影响,建议设置主机名时要有规则地进行设置(比如按照主机功能进行划分)。
(1)打开Linux的虚拟终端,使用vim编辑/etc/hosts文件,修改主机名localhost为RHEL6。
修改后的效果如图7-1所示。
图7-1 修改主机名后的效果
(2)通过编辑/etc/sysconfig/network文件中的HOST NAME字段修改主机名。
NETWORKING=yes NETWORKING_ipv6=no HOSTNAME=rhel6.localdomain GATEWAY=192.168.0.254
此处修改主机名为RHEL6。
注意:如果hosts文件中没有设置本地解析就可以不用修改主机名。修改主机名后需要重启系统使之生效。
我们设置完主机名生效后,可以使用hostname查看当前主机的名称。
[root@rhel6~]# hostname RHEL6
(3)可以使用两个简单的命令临时设置主机名。
① 最常用的是使用hostname来设置,格式如下:
hostname 主机名
② 使用sysctl命令修改内核参数,格式如下:
sysctl kernel.hostname=主机名
这样两个设置是临时的,重启系统后设置失效。
7.2.2 子任务2 使用ifconfig配置IP地址及辅助IP地址
大多数Linux发行版都会内置一些命令来配置网络,而ifconfig是最常用的命令之一。它通常用来设置IP地址和子网掩码以及查看网卡相关的配置。
1.配置IP地址
格式:
ifconfig网卡名ip地址netmask子网掩码
我们使用ifconfig命令来设置IP地址,修改IP地址为192.168.0.168。
[root@rhel6~]#ifconfig eth0192.168.0.168 netmask 255.255.255.0
直接使用ifconfig命令可以查看网卡配置信息,如IP地址、MAC地址、收发数据包情况等,以此可以查看修改是否成功,如图7-2所示。
图7-2 使用ifconfig命令可以查看网卡配置信息
执行命令后,ifconfig命令会显示所有激活网卡的信息,其中eth0为物理网卡,lo为回环测试接口。每块网卡的详细情况通过标志位表示。
2.配置虚拟网卡的IP地址
在实际工作中,可能会出现一块网卡需要拥有多个IP地址的情况,可以通过设置虚拟网卡来实现。
命令格式如下:
ifconfig网卡名:虚拟网卡ID IP地址netmask子网掩码
为第一块网卡eth0设置一个虚拟网卡,IP地址为192.168.0.208,子网掩码为255. 255.255.0。如果不设置netmask,则使用默认的子网掩码。
[root@rhel6~]#ifconfig eth0:1192.168.0.208 netmask 255.255.255.0
7.2.3 子任务3 禁用和启用网卡
(1)对于网卡的禁用和启用,依然可以使用ifconfig命令。
命令格式如下:
ifconfig 网卡名称 down #禁用网卡 ifconfig 网卡名称 up #启用网卡
使用ifconfig eth0 down命令后,在Linux主机上还可以ping通eth0的IP地址,但是在其他主机上就ping不通eth0地址了。
使用ifconfig eth0 up命令后启用eth0网卡。
(2)使用ifdown eth0和ifup命令也可以实现禁用和启用网卡的效果。
命令格式如下:
ifdown 网卡名称 #禁用网卡 ifup 网卡名称 #启用网卡
注意:如果使用ifdown eth0禁用eth0网卡,在Linux主机上也不能ping通eth0的IP地址。
7.2.4 子任务4 更改网卡的MAC地址
MAC地址也叫物理地址或者硬件地址。它是全球唯一的地址,由网络设备制造商生产时写在网卡内部。MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每两个十六进制数之间用冒号隔开,比如00:0C:29:EC:FD:83就是一个MAC地址。其中前6位十六进制数00:0C:29代表网络硬件制造商的编号,它由IEEE(电气电子工程师学会)分配,而后3位16进制数EC:FD:83代表该制造商所制造的某个网络产品(如网卡)的系列号。
更改网卡MAC地址时,需要先禁用该网卡,然后使用ifconfig命令进行修改。
命令格式如下:
ifconfig网卡名hw ether MAC地址
将eth0网卡的MAC地址修改为00:11:22:33:44:55,命令如下。
[root@rhel6~]# ifdown eth0 [root@rhel6~]# ifconfig eth0 hw ether 00:11:22:33:44:55
通过ifconfig命令可以看到eth0的MAC地址已经被修改成00:11:22:33:44:55了。
注意:①如果不先禁用网卡会发现提示错误,修改不生效。②ifconfig命令修改IP地址和MAC地址都是临时生效的,重新启动系统后设置失效。可以通过修改网卡配置文件使其永久生效。具体可以参看后面的网卡配置文件。
7.2.5 子任务5 使用route命令
route命令可以说是ifconfig命令的黄金搭档,也像ifconfig命令一样几乎所有的Linux发行版都可以使用该命令。route通常用来进行路由设置,比如添加或者删除路由条目以及查看路由信息,当然也可以设置默认网关。
1)route命令设置网关
route命令格式如下:
route add default gw ip地址 #添加默认网关 route del default gw ip地址 #删除默认网关
我们把Linux主机的默认网关设置为192.168.1.254,设置好后可以使用route命令查看网关及路由情况,如图7-3所示。
图7-3 设置网关
在图7-3中,Flags用来描述该条路由条目的相关信息,如是否活跃、是否为网关等,U表示该条路由条目为活跃,G表示该条路由条目要涉及网关。
注意:te命令设置网关也是临时生效的,重启系统后失效。
2)查看本机路由表信息
[root@RHEL6~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth0 default 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
各项信息的含义如下。
• Destination:目标网络的IP地址,可以是一个网络地址,也可以是一个主机地址。
• Gateway:网关地址,即该路由条目中下一跳的路由器IP地址。
• Genmask:路由项的子网掩码,与Destination信息进行“与”运算后得出目标地址。
• Flags:路由标志。其中U表示路由项是活动的,H表示目标是单个主机,G表示使用网关,R表示对动态路由进行复位,D表示路由项是动态安装的,M表示动态修改路由,“! ”表示拒绝路由。
• Metric:路由开销值,用于衡量路径的代价。
• Ref:依赖于本路由的其他路由条目。
• Use:该路由项被使用的次数。
• Iface:该路由项发送数据包使用的网络接口。
3)添加/删除路由条目
在路由表中添加路由条目,其命令语法格式为:
route add -net/host网络/主机地址 netmask子网掩码 [dev网络设备名] [gw网关]
在路由表中删除路由条目,其命令语法格式为:
route del -net/host网络/主机地址 netmask
下面是几个配置实例。
(1)添加到达目标网络192.168.1.0/24的网络路由,经由eth1网络接口,并由路由器192.168.2.254转发。(命令如果在一行写不下,可以使用转义符。)
[root@RHEL6~]# route add -net 192.168.1.0 netmask 255.255.255.0\ >gw 192.168.2.254 dev eth1
(2)添加到达192.168.1.10的主机路由,经由eth1网络接口,并由路由器192.168.2.254转发。
[root@RHEL6~]# route add -host 192.168.1.10 gw 192.168.2.254 dev eth1
(3)删除到达目标网络192.168.1.0/24的路由条目。
[root@RHEL6~]# route del -net 192.168.1.0 netmask 255.255.255.0
(4)删除到达主机192.168.1.10的路由条目。
[root@RHEL6~]# route del -host 192.168.1.10
注意:如果添加/删除的是主机路由,则不需要子网掩码netmask。
7.2.6 子任务6 网卡配置文件
在更改网卡MAC地址时已经说过,ifconfig设置IP地址和修改网卡的MAC地址以及后面的route设置路由和网关时,配置都是临时生效的。也就是说,在重启系统后配置都会失效。怎么解决这个问题来让配置永久生效呢?可以直接编辑网卡的配置文件,通过参数来配置网卡,让配置永久生效。网卡配置文件位于/etc/sysconfig/network-scripts/目录下。
每块网卡都有一个单独的配置文件,可以通过文件名来找到每块网卡对应的配置文件。例如:ifcfg-eth0就是eth0这块网卡的配置文件。可以通过编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件进行配置来查看效果,如图7-4所示。
图7-4 eht0网卡的配置效果
[root@RHEL6~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 [root@rhel6~]# vim ifcfg-eth0
每个网卡配置文件都存储了网卡的状态,每一行代表一个参数值。系统启动时通过读取该文件所记录的情况来配置网卡。常见的参数解释如表7-1所示。
表7-1 网卡配置文件常参数
修改过网卡配置文件后,需要重新启动network服务或重新启用设置过的网卡,使配置生效。
注意:重启网卡时,如果出现“正在关闭接口eth0”“错误:断开设备‘eth0'(/org/freedesktop/NetworkManager/Devices/0)”“失败:This device is not active”等信息说明网卡没法工作,未被激活,检查网卡配置文件,一定保证“ONBOOT”的值是“yes”。然后再使用“service network start”启动网卡即可。
7.2.7 子任务7 使用setup命令
RHEL6支持以文本窗口的方式对网络进行配置,CLI命令行模式下使用setup命令就可以进入文本窗口,如图7-5所示(替代命令为system-config-network)。
图7-5 在文本窗口三项式下对网络进行配置
[root@RHEL6~]# setup
用Tab键或Alt+Tab组合键在元素间进行切换,选择“网络配置”选项,按Enter键确认进入配置界面。可以对主机上的网卡eth0进行配置,界面简易明了,不再详述。
7.2.8 子任务8 图形界面配置工具
在Red Hat Enterprise Linux 6中图形化的网络配置,是在桌面环境下的主菜单中选择“系统”→“首选项”→“网络连接”命令,打开“网络配置”对话框,选中System eth0,然后单击“编辑”,可以给eth0配置静态IP地址、子网掩码、网关、DNS等,如图7-6所示。
图7-6 配置网络
7.2.9 子任务9 修改resolv.conf并设置DNS
Linux中设置DNS客户端时可以直接编辑/etc/resolv.conf,然后使用nameserver参数来指定DNS服务器的IP地址。
[root@RHEL6~]# vim /etc/resolv.conf search RHEL6-1 nameserver 192.168.0.1
192.168.0.1是首选DNS服务器地址,如果下面还有nameserver字段,则为备用DNS地址,也可以指定更多的DNS服务器地址在下面,当指定的DNS服务器超过3台时,只有前3台DNS服务器地址是有效的。客户端在向服务器发送查询请求时,会按照文件中的顺序依次发送,当第1台DNS服务器没有响应时,就会去尝试向下一台DNS服务器查询,直到发送到最后一台DNS服务器为止。所以建议将速度最快、稳定性最高的DNS服务器设置在最前面,以确保查询不会超时。
7.2.10 子任务10 使用service
/etc/service是一个脚本文件,利用service命令可以检查指定网络服务的状态,启动、停止或者重新启动指定的网络服务。/etc/service通过检查/etc/init.d目录中的一系列脚本文件来识别服务名称,否则会显示该服务未被认可。service命令的语法格式如下:
service服务名start/stop/status/restart/reload
例如,要重新启动network服务,则命令及运行结果如下所示:
[root@RHEL6~]# service network restart
注意:利用service命令中的“服务名”只能是独立守护进程而不能是被动守护进程。