Linux常用命令(十三)基础网络设置

Linux常用命令(十三)基础网络设置

本篇内容实验环境为Redhat 6.5系统

一、查看及测试网络

查看及测试网络配置时管理Linux网络服务的第一步。其中本篇中大多数命令以普通用户权限就可以完成操作。

 

1、查看网络配置

1.1)、使用ifconfig命令查看网络接口地址

主机的网络接口卡(网卡)通常称为“网络接口”。在Linux系统中,使用ifconfig命令可以查看网络接口的地址配置信息。

查看活动的网络接口设备

当ifconfig命令不带任何选项和参数时,将显示当前主机中已启用(活动)的网络接口信息。

[[email protected] ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:8B:68:54  
          inet addr:192.168.10.131  Bcast:192.168.10.255  Mask:255.255.255.0
          ……//省略部分内容
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          ……//省略部分内容

在上述输出结果中,eth0对应为第一块物理网卡,lo对应为虚拟的回环接口。

■ eth0:第一块以太网卡的名称。“eth0”中的“eth”是“ethernet”的缩写,表示网卡类型为以太网,数字“0”表示第1块网卡。由于大多数主机中只有一块物理网卡,因此“eth0”代表系统中唯一的网络接口。如果有多个物理网卡,则第2块网卡表示为“eth1”,第3块网卡表示为“eth2”,依次类推。

■ lo:“回环”网络接口,“lo”是“loopback”的缩写,它并不代表真正的网络接口,而是一个虚拟的网络接口,其ip地址默认是“127.0.0.1”。回环地址通常仅用于对本机的网络测试。

查看指定的网络接口信息

当只需要查看其中某一个网络接口的信息时,可以使用网络接口的名称作为ifconfig命令的参数(不论该网络接口是否处于激活状态)。

[[email protected] ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:8B:68:54  
          inet addr:192.168.10.131  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe8b:6854/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:120 errors:0 dropped:0 overruns:0 frame:0
          TX packets:67 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:11224 (10.9 KiB)  TX bytes:8427 (8.2 KiB)

上述命令显示的结果中,其中eth0网卡的一些基本的信息如下

■ “HWaddr”:表示网络接口的物理地址(MAC地址),如“00:0C:29:8B:68:54”。网络接口的物理地址通常不能更改,是网卡在生产时确定的全球唯一的硬件地址。

■  “inet  addr”:表示网络接口的IP地址,如“192.168.10.131”。

■ “Bcast”:表示网络接口所在网络的广播地址,如“192.168.10.255”。

■ “Mask”:表示网络接口的子网掩码,如“255.255.255.0”。

除此以外,还能通过“TX”、“RX”等信息了解到通过该网络接口发送和接收的数据包个数、流量等更多属性。

1.2)、使用hostname命令查看主机名称

在Linux系统中,相当一部分网络服务都会通过主机名来识别本机,如果主机名配置不当,可能会导致程序功能出现故障。使用hostname命令可以查看当前主机的主机名,不用添加任何选项或参数。

[[email protected] ~]# hostname
twgdh

1.3)、使用route命令查看路由表条目

Linux系统中的路由表决定着从本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息。直接执行route命令可以查看当前主机中的路由表信息,在输出结果中,Destination列对应目标网段的地址,Gateway列对应下一跳路由器的地址,Iface列对应发送数据的网络接口。

[[email protected] ~]# route
Kernel IP routing table
Destination     Gateway          Genmask         Flags Metric Ref    Use Iface
192.168.10.0    *               255.255.255.0    U      0       0     0  eth0
default        192.168.10.1      0.0.0.0         UG     0       0     0  eth0

当目标网段为“Default”时,表示此行是默认网关记录;当下一跳为“*”时,表示目标网段是与本机直接相连的。例如,从上述输出信息中可以看出,当前主机与192.168.1.0/24网段直接相连,使用的默认网关地址是192.168.10.1.

若结合“-n”选项使用,可以将路由记录中的地址显示为数字形式,这可以跳过解析主机名的过程,在路由表条目较多的情况下能够加快执行速度。

[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0           192.168.10.1   0.0.0.0        UG     0     0        0 eth0

1.4)、使用netstat命令查看网络连接情况

通过netstat命令可以查看当前系统的网络连接状态、路由表、接口统计等信息,是了解网络状态及排除网络服务故障的有效工具。netstat命令的常用选项包括以下几项。

■ –a:显示当前主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。

■ –n:以数字的形式显示相关的主机地址、端口等信息。

■ –r:显示路由表信息。

■ –l:显示处于监听(Listening)状态的网络连接及端口信息。

■ –t:查看TCP协议相关信息。

■ –u:查看UDP协议相关信息。

■ –p:显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)。

通常使用“-anpt”组合选项,以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息。结合命令管道使用“grep”命令,还可以在结果中过滤出所需要的特定记录。例如,执行以下操作可以查看本机中是否有监听“tcp 80”端口的服务程序,输出信息中包括PID号和进程名称。

[[email protected] ~]#netstat –anpt | grep ":80"
tcp        0      0 :::80                :::*              LISTEN      26556/httpd

2、测试网络连接


2.1)、使用ping命令测试网络连通性

使用ping命令可以向目的主机持续地发送测试数据包,并显示反馈结果,知道按Ctrl+C组合键后终止测试,并显示最终统计结果。

[[email protected] ~]# ping 192.168.10.11
PING 192.168.10.11 (192.168.10.11) 56(84) bytes of data.
64 bytes from 192.168.10.11: icmp_seq=1 ttl=128 time=0.367 ms
64 bytes from 192.168.10.11: icmp_seq=2 ttl=128 time=0.500 ms
^C                                                                 ……//按Ctrl+C组合键中止执行
--- 192.168.10.11 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1813ms
rtt min/avg/max/mdev = 0.367/0.433/0.500/0.069 ms

执行ping测试命令时,若不能获得从目标主机发回的反馈数据包则表+示在本机到目标主机之间存在网络连通性故障。例如,若看到“Destination Host Unreachable”的反馈信息,则表示目的主机不可达,可能目标地址不存在或者主机已关闭;若看到“Network is unreachable”的反馈信息,则表示没有可用的路由记录(如默认网关),无法达到目标主机所在网络。

[[email protected] ~]# ping 192.168.10.120
PING 192.168.10.120 (192.168.10.120) 56(84) bytes of data.
From 192.168.10.131 icmp_seq=1 Destination Host Unreachable
From 192.168.10.131 icmp_seq=2 Destination Host Unreachable
…….//省略部分内容

当网络中存在影响通信过程稳定性因素(如网卡故障、病毒或网络攻击等)时,使用ping命令测试可能会频繁看到“Request timeout”的反馈结果,表示与目标主机间的连接超时(数据包响应缓慢或丢失)。除此以外,当目标主机有严格的防火墙限制时,也可能收到发回“Request timeout”的反馈结果。


2.2)、使用traceroute命令跟踪数据包的路由途径

使用traceroute命令可以测试从当前主机到目的主机之间经过了哪些网络节点,并显示个中间节点的连接状态(相应时间)。对于无法相应的节点,连接状态将显示为“*”。

[[email protected] ~]# traceroute  192.168.20.7
traceroute to 192.168.20.7 (192.168.20.7),30 hops max,40 byte packets
 1      (192.168.10.1) 7.740  ms    15.581  ms    15.881  ms
 2      (192.168.20.7)  19.652 ms   19.995  ms    19.942  ms
^C                                                                 ……//按Ctrl+C组合键中止执行

traceroute命令能够比ping命令更加准确地定位网络连接的故障点(中断点),执行速度也因此会比ping命令稍慢。在网络测试与排错过程中,通常会先使用ping命令测试与目的主机的网络连接,如果发现网络连接有故障,再使用traceroute命令跟踪查看是在哪个中间节点存在故障的。

2.3)、使用nslookup命令测试DNS域名解析

当域名解析出现异常时,将无法使用域名的形式访问网络中的web站点、电子邮件系统等服务。nslookup命令时用来的测试域名解析的专用工具。例如执行“nslookup www.51cto.com”命令后,nslookup程序将提交查询请求,询问站点www.51cto.com对应的IP地址是多少。

[[email protected] ~]# nslookup www.51cto.com
server:     219.238.164.7
Non-authoritative  answer:
Name: r3yqkx5kwhhscpnv65gwty5uu5dfmpys.yundunwaf.com
Address:  59.110.244.199
Aliases:  www.51cto.com

若能够成功反馈要查询域名的IP地址,则表示域名解析没有问题,若出现下面的提示则表示不能连接指定的DNS服务器。

[[email protected] ~]# nslookup www.51cto.com
;; connection timed out; trying next origin
;; connection timed out; no servers could be reached

二、设置网络地址参数

在Linux主机中,手动修改网络配置包括两种最基本的方法。

■ 临时配置:通过命令直接修改当前正在使用的网络地址,修改后立即可以生效,这种方式操作简单快速、执行效率高,一般在调试网络的过程中使用。但由于所做的修改并没有固定地存放在静态的文件中,因此当重启network服务或重启主机后将会失效。

■ 固定配置:通过配置文件来存放固定的各种网络地址,需要重启network服务或重启主机后才会生效。这种方式操作上相对要复杂一些,但相当于“永久配置”,一般在需要为服务器设置固定的网络地址时使用。


一)、临时配置


1、使用网络配置命令

1.1)、使用ifconfig命令修改网卡的地址、状态

ifconfig 命令不仅可以用于查看网卡配置,还可以修改网卡的IP地址、子网掩码,也可以绑定虚拟网络接口、激活或停用网络接口。

■ 修改网卡的IP地址、子网掩码

[[email protected] ~]# ifconfig eth0 192.168.10.131/24

或者

[[email protected] ~]# ifconfig eth0 192.168.10.131 netmask 255.255.255.0

如果命令末尾不加子网掩码,默认按有类地址算!

■ 禁用、激活网络接口

需要临时禁用或者重新激活指定的网络接口,需要结合“down”、“up”开关选项。网络接口被禁用以后,将无法使用该网络接口与其他主机进行连接。

[[email protected] ~]# ifconfig eth0 down                ……//禁用网卡eth0
[[email protected] ~]# ifconfig eth0 up                  ……//启用网卡eth0

■ 为网卡绑定虚拟接口

在对服务器网络进行调试的过程中,有时候需要临时在同一个网卡上使用一个新的IP地址,但是又不能覆盖原有IP地址而导致服务程序不可用。这时可以为网卡绑定一个虚拟的网络接口,然后再为虚拟接口设置新的IP地址(相当于一块网卡配多个IP地址)。

[[email protected] ~]# ifconfig eth0:0 172.17.17.17           ……//第一个虚拟地址
[[email protected] ~]# ifconfig eth0:1 10.0.0.1                  ..….//第二个虚拟地址
[[email protected] ~]# ifconfig                                         ……//查看网卡信息
eth0      Link encap:Ethernet  HWaddr 00:0C:29:8B:68:54  
          inet addr:192.168.10.131  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe8b:6854/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:295 errors:0 dropped:0 overruns:0 frame:0
          TX packets:227 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:30618 (29.9 KiB)  TX bytes:26611 (25.9 KiB)
 
eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:8B:68:54  
          inet addr:172.17.17.17  Bcast:172.17.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 
eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:8B:68:54  
          inet addr:10.0.0.1  Bcast:10.255.255.255  Mask:255.0.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

可以根据需要添加更多的虚拟接口。


2、使用route命令添加、删除静态路由记录

route命令不仅可以用于查看路由表信息,还可以用来添加、删除静态的路由表条目,其中也包括设置默认网关地址(默认网关记录是一条特殊的静态路由条目)。


2.1)、添加、删除到指定网段的路由记录

通过“route add”操作可以添加路由记录,结合“-net“选项指定目标网段的地址,结合“gw”选项指定下一跳路由器的IP地址。

[[email protected] ~]# route add -net 192.168.20.0/24 gw 192.168.10.1
[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.20.0    192.168.10.1    255.255.255.0   UG    0      0        0 eth0
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

通过“route del”操作可以删除路由记录,只要结合“-net”选项指定对应路由记录中的目标网段的地址即可。

[[email protected] ~]# route del -net 192.168.20.0/24
[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

2.2)、添加、删除默认的网关记录

添加、删除默认网关记录时,与添加、删除静态路由记录的命令格式类似,但是指定目标网段时只需简单地使用“default”表示即可,无须再使用“-net”选项指明网段地址。

[[email protected] ~]#route | grep “default”
default      192.168.10.1 0.0.0.0 UG  0    0    0    eth0
[[email protected] ~]# route del default gw 192.168.10.1  ……//删除默认网关记录
 [[email protected] ~]# route | grep "default"         ……//检索时无输出结果
[[email protected] ~]# route add default gw 192.168.10.1 ……//添加新的默认网关记录 192.168.10.1
[[email protected] ~]# route | grep "default"                ……//确认新的默认网关记录
default         192.168.10.1    0.0.0.0         UG    0      0        0 eth0

需要注意的是,在同一个主机的路由表中只应有一条默认网关记录。若同时存在多条默认网关记录,可能会导致该主机的网络连接出现故障。

2.3)、使用hostname命令修改主机的名称

hostname命令不仅可以显示当前主机的名称,还可以修改当前主机的名称。在新登录的用户会话(Shell环境)中,命令提示符中的主机名部分也会出现相应的变化。

[[email protected] ~]# hostname
twgdh
[[email protected] ~]# hostname hlj
[[email protected] ~]# hostname
hlj
[[email protected] ~]# bash
[[email protected] ~]# hostname
hlj

二)、固定配置


1、修改网络配置文件

当需要为Linux服务器设置固定的网络地址时,若还是用ifconfig、hostname等网络命令来进行设置,将会大大降低服务器运行的可靠性。若要使Linux主机在重启系统以后任然能够使用相同的网络配置,那么直接修改配置文件时最好的方法。

1.1)、网络接口配置文件

网络接口的配置文件默认位于目录“/etc/sysconfig/network-scripts/”中,文件名格式为“ifcfg-XXX”,其中”XXX”是网络接口的名称。

[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:8B:68:54
TYPE=Ethernet
UUID=7f7dfd5b-5533-40ff-94d2-2696bc002320
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.10.131
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DNS1=202.106.0.20
DNS2=202.106.46.151

上述各配置项的含义及作用如下。

■ DEVICE:设置网络接口的名称。

■ ONBOOT:设置网络接口是否在Linux系统启动时激活。

■ BOOTPROTO:设置网络接口的配置方式,值为“static”时表示使用静态指定的IP地址,为“dhcp”时表示通过DHCP的方式动态获取地址。

■ IPADDR:设置网络接口的IP地址。

■ NETMASK:设置网络接口的子网掩码。

■ GATEWAY:设置网络接口的默认网关地址

■ DNS1:设置第一个DNS服务器的地址。

■ DNS2:设置第一个DNS服务器的地址。

2.2)、启用、禁用网络接口配置

在RHEL系统中,当修改了网络接口的配置文件以后,若要使新的配置生效,可以重新启动network服务或者重启主机。默认情况下,重启network服务将会先关闭所有的网络接口,然后再根据配置文件重新启用所有的网络接口。

[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
[[email protected] ~]# service network restart

如果只是想禁用、启用摸一个网络接口(而不是所有接口),可分别使用两个接口控制脚本ifdown、ifup。

[[email protected] ~]# ifdown eth0
[[email protected] ~]# ifup eth0

2.3)、主机名称配置文件

若要永久修改Linux系统的主机名,可以修改配置文件/etc/sysconfig/network。在此文件中,“HOSTNAME”行用于设置主机名,而“NETWORKING”行用于设置IPv4网络的默认启用状态。

[[email protected] ~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=twgdh

2.4)、域名解析配置文件

■ 指定为本机提供DNS解析的服务器地址

/etc/resolv.conf文件中记录了本机默认使用的DNS服务器的地址信息,对该文件所做的修改将会立刻生效。Linux系统中最多可指定3个不同的DNS服务器地址(第三个以后的将被忽略),优先使用第一个DNS服务器。

[[email protected] ~]# vim /etc/resolv.conf 
search localdomain
nameserver 202.106.0.20
nameserver 202.106.46.151

resolve.conf文件中的“search localdomain”行用来设置默认的搜索域(域名后缀)。例如,当访问主机“localhost”时,就相当于访问“localhost.localdomain”。

■ 本地主机映射文件

/etc/hosts文件中记录着一份主机名与IP地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向DNS服务器查询。

[[email protected] ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
119.75.216.20   www.baidu.com

当主机访问网站www.baidu.com.时,将会直接向IP地址119.75.216.20发送Web请求

对于经常访问的一些网站,可以通过在/etc/hosts文件添加正确的映射记录,减少DNS查询过程,从而提高上网速度。当然,若添加了错误的映射记录,则可能会导致网站访问出现异常。

另外,正因为hosts文件只保存在本地,所以其中的映射记录也只用于当前主机。

原文地址:http://blog.51cto.com/houliangjin/2064847

时间: 2024-10-30 02:28:37

Linux常用命令(十三)基础网络设置的相关文章

Linux常用命令(十三) - head

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾. 1.命令格式: head [参数]... [文件]... 2.命令功能: head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行. 3.命令参数: -q 隐藏文件名 -v 显示文件名 -c <字节> 显示字节数 -n <行数> 显示的行数 4.使用实例: 实例一:显示文件的前5

linux常用命令整理(五):shell基础

大家好,我是会唱歌的程序猿------ 最近在学习linux,闲暇之余就把这些基本的命令进行了整理,希望大家能用的上,整理的的目的是在忘了的时候翻出来看看^?_?^,前后一共分为五个部分: linux基本命令整理(一):常用命令 地址:http://www.cnblogs.com/devinCat/p/7247824.html linux基本命令整理(二):用户.用户组.文件系统和网络 地址:http://www.cnblogs.com/devinCat/p/7247847.html linux

linux常用命令整理(四):软件包管理和shell基础

大家好,我是会唱歌的程序猿------ 最近在学习linux,闲暇之余就把这些基本的命令进行了整理,希望大家能用的上,整理的的目的是在忘了的时候翻出来看看^?_?^,前后一共分为五个部分: linux基本命令整理(一):常用命令 地址:http://www.cnblogs.com/devinCat/p/7247824.html linux基本命令整理(二):用户.用户组.文件系统和网络 地址:http://www.cnblogs.com/devinCat/p/7247847.html linux

Linux常用命令总结——命令基础

有人感觉Linux命令行操作是件非常神秘和高难度的事,其实并不然,只要我们静下心来了解一下Linux命令行下操作的相关基础知识,就会发现命令行操作并没有想象的那么难.命令行操作的特点可以用四个字概括"简单高效".在图形界面下需要点几十次鼠标的工作只需要一两条命令即可完成.我们在学习具体命令之前,先要掌握命令的基础知识,掌握了这些,学习命令就是件非常简单的事了. Linux命令使用格式: 命令  [选项]  [参数] 命令.选项.参数之间使用空格分隔. 选项:用于调节命令的具体功能. 短

Linux常用命令介绍

Linux常用命令示例: 在使用Linux操作系统的过程中,我们经常要用到一些特殊的命令,不仅显示了技术的高超,而且在效率方面当然要比图像化界面高很多,下面我总结了一些常见的Linux命令,供以后学习使用,使用命令时,在命令后面加参数"--help"或者用"man 命令"可以取得命令的详细用法. (*)小常识:在Linux中使用命令操作文件时,可以仅输入文件名的前几个字符,然后按键盘的"Tab"键补全文件名的后面部分,若输入的字符是多个文件名的起

linux常用命令技巧

原文地址 这篇文章来源于Quroa的一个问答<What are some time-saving tips that every Linux user should know?>-- Linux用户有哪些应该知道的提高效率的技巧.我觉得挺好的,总结得比较好,把其转过来,并加了一些自己的理解. 首先,我想告诉大家,在Unix/Linux下,最有效率技巧的不是操作图形界面,而是命令行操作,因为命令行意味着自动化.如果你看过<你可能不知道的Shell>以及<28个Unix/Linu

Linux常用命令及bash特性(1)

Linux简单使用(1) Linux常用命令介绍 linux命令是对Linux系统进行管理的命令.对于Linux系统来说,无论是中央处理器.内存.磁盘驱动器.键盘.鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心. linux命令在系统中有两种类型:内置Shell命令和Linux命令.可以使用help.man和info命令获得帮助. * help提供内部命令的帮助:man和info提供外部命令的帮助. Linux常用命令 pwd命令:以绝对路径的方式显示当前的工作目录: [[

linux 常用命令手册

命令 功能说明 线上查询及帮助命令(2个) man 查看命令帮助,命令的词典,更复杂的还有info,但不常用. help 查看Linux内置命令的帮助,比如cd命令. 文件和目录操作命令(18个) ls 全拼list,功能是列出目录的内容及其内容属性信息. cd 全拼change directory,功能是从当前工作目录切换到指定的工作目录. cp 全拼copy,其功能为复制文件或目录. find 查找的意思,用于查找目录及目录下的文件. mkdir 全拼make directories,其功能

Linux常用命令大全

系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验