Linux网络设置

引言

本文讲解了查看网络配置的几种方式,如何测试网络连接以及设置网络地址的参数。

一、查看网络配置

1、查看网络接口信息ifconfig

查看所有活动的网络接口信息

  • 执行ifconfig命令

查看指定网络接口信息

ifconfig 网络接口
ifconfig -a   #显示所有活动及非活动的连接

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

若采用mini版Centos7安装的系统默认是没有ifconfig命令的,需要先通过yum方式安装net-tools软件包,才有ifconfig命令

ens33:第一块以太网卡的名称。“ens33中的*en"是"EtherNet”的缩写,表示网卡类型为以太网,“s”表示热插拔插槽上的设备(hot-plug Slot),数字33”表示插槽编号。

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

ifconfig #显示已启用的网络接口,不包括禁用设备

ifconfig ens33 #只查看网卡ens33的配置信息

第一行:以太网卡的名字不是常见的etho,变成了ens33。其中en代表以太网卡

ens33代表PCI接口的物理位置为(03),其中横座标代表bus。纵座标代表slot UP;代表此网络接口为启用状态(down为关闭状态) RUNNING:代表网卡设备已连接 MULTICAST:表示支持组播 MTU:为数据包最大传输单元。

第二行:网卡的IP地址、子网掩码、广播地址

第三行:IPv6地址

第四行:Ethernet(以太网)表示连接类型: ether:表示为网卡的MAC地址

第五行:接受数据包个数、大小统计信息

第六行:异常接受包的个数、如手包量、错误等(7)第七行:发送数据包个数、大小统计信息(8)第八行:发送包的个数、如手包量、错误等

ifconfig -a #显示所有活动及非活动的连接

解析:

  • lo 是表示主机的回坏地址,IP地址固定为127.0.0.1,子网掩码为8位,表示本机。

用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器的指定到回坏地址,在浏览器输入127.0.0.1,就能看到你所架WEB网站了。但只是你能看得到,局域网的其它主机或用户无从知道。

  • virbr0是一个虚拟的网络连接端口,默认为0号虚拟网络连接端口;一般在通过虚拟机进行移植操作系统时,默认会以nat的网络地址转移,但是可以选择桥接或者是无网络连接也是可以的(因为本人用的是centos镜像的虚拟机,所以会有这一行)

2、修改网络配置文件

网络接口的配置文件默认位于/etc/sysconfig/network-script/ifcfg-ens33

文件名格式为"ifcfg-XXX",其中"XXX"是网络接口的名称

例如:网卡ens33的配置文件是"ifcfg-ens33",回环接口lo的配置文件是"ifcfg-lo"。

在CentOS 7 操作系统中,当修改了网络接口的配置文件以后,若要使新的配置生效,可以重新启动 network 服务或者重启主机

systemctl restart network  #重启网络
注:建议关闭NetworkManager服务,否则有时启动network会报错
systmctl stop NetworkManager
systmctl disable NetworkManager

3、设置网络接口参数

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

ifconfig ens37 192.168.109.13   netmask 255.255.255.0 //临时配置网卡的ip地址
ifconfig ens37 192.168.109.13/24 //当不指定子网掩码时,将使用 IP 地址所在分类的默认子网掩码
  • 启用、禁用网络接口配置

如果只是禁用、启用某一个网络接口(而不是所有接口),可分别使用两个接口控制脚本ifdown、ifup
ifconfig ens37 down|up 或
ifup/ifdown ens37
systemctl restart network #重启所有的网卡
ifdown ens33 #关闭某个网卡
ifup ens33 #启动某个网卡
ifconfig ens33 down #临时禁用某个网卡
ifconfig ens33 up #重新激活某个网卡(不会更新IP地址)
ifdown ens33 && ifup ens33
//关闭并开启
  • 为网卡绑定虚拟接口:在对服务器网络进行调试的过程中,有时候需要临时在同一个网卡上使用一个新的IP地址,但是又不能覆盖原有IP地址而导致服务程序不可用。这时可以为网卡绑定一个虚拟的网络接口,然后为虚拟接口设置新的IP地址(相当于一块网卡配多个IP地址)。

ifconfig ens33: 1 192.168.109.11

举例:

  1. 添加临时网卡IP(ifconfig ens33:1 192.168.109.20)

2、临时修改网卡IP,重启网卡后恢复原先IP

plan 1:ifconfig ens33 192.168.109.21 netmask 255.255.255.0

plan 2:ifconfig ens33 192.168.223.21/24

二、主机名称配置文件hostname

1、hostname命令

  • 查看或设置当前主机名

hostname [主机名]

2、三种修改主机名的方式

修改完都要bash一下,才会更新

2.1 临时修改主机名(hostname sky)

2.2 永久修改主机名(hostnamectl set-hostname zhangbin)

2.3 永久修改主机名(vim /etc/hostname)

进入vim /etc/hostname编辑

三、查看路由表条目 route

路由表:Linux操作系统中的路由表决定着本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息。

1、route命令

直接执行"route"命令可以查看当前主机中的路由表信息

Destination 列对应目标网段的地址

Gateway 列对应下一跳路由器的地址

Iface 列对应发送数据的网络接口

当目标网段为“default”时,表示此行是默认网关记录。

当下一跳为“gateway”时,表示目标网段是与本机直接相连的。

但是,直接执行“route”命令无法直接看出默认网关地址

2、route [-n]

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

3、添加、删除静态路由记录

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

添加静态路由条目
route add -net 192.168.100.0/24  gw 192.168.109.1        //表示可以通过192.168.109.1到192.168.100.0/24网络
 
-net:指定目标网段的地址
gw:指定下一跳路由器的 IP 地址
 
 
删除静态路由条目
route del -net 192.168.100.0/24

添加静态路由条目(临时添加,重启network服务失效)

删除静态路由条目

4、添加、删除默认网关记录

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

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

route add default gw 192.168.109.1
route del default gw 192.168.109.1

添加默认网关记录

删除默认网关记录

四、查看网络连接情况netstat

netstat命令

  • 查看系统的网络连接状态、路由表、接口统计等信息

netstat [选项]

常用选项:

 -n        以数字的形式显示相关的主机地址、端口等信息                   
 -r        显示路由表信息                                              
 -a        显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口) 
 -l        显示处于监听(Listenin状态的网络连接及端口信息。          
 -t        查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息。 
 -u        显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息。 
 -p        显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限 

通常使用“-anpt”组合选项,以数字形式显示当前系统中所有的 TCP 连接信息,同时显示对应的进程信息。配合管道符grep过滤出特定的记录。

netstat -rn以数字的形式显示路由表信息

五、获取socket统计信息ss

ss命令

  • ss命令查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。

ss [选项]

常用选项:

-h:通过该选项获取更多的使用帮助。 
 
-V:显示软件的版本号。 
 
-t:显示 TCP 协议的 sockets。 
 
-u:显示 UDP 协议的 sockets。 
 
-n:不解析服务的名称,如 "22" 端口不会显示成 "ssh"。 
  
-l:只显示处于监听状态的端口。 
 
-p:显示监听端口的进程。 
 
-a:对 TCP 协议来说,既包含监听的端口,也包含建立的连接。 
 
-r::把 IP 解释为域名,把端口号解释为协议名称。
 
-o:选项可用于显示计时器信息。该信息向我们展示了诸如重新传输计时器值、已经发生的重新传输的数量以及已发送的keepalive探测的数量
 
-w:用于字符串精确匹配

只有在访问的情况下才能查询到端口,无操作查询不出

-o:选项可用于显示计时器信息。该信息向我们展示了诸如重新传输计时器值、已经发生的重新传输的数量以及已发送的keepalive探测的数量

显示处于监听的tcp端口,不解析服务器的名称

六、测试网络连接 ping

ping命令

  • 测试网络连通性

ping[选项]目标主机

使用ping命令可以向目标主机持续地发送测试数据包,并显示反馈结果,直到按ctrl +c组合键后中止测试,并显示最终统计结果。

  1. ping 127.0.0.1

  1. -c表示指定ping的次数

3.-i秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。

  1. -w 5表示ping的超时时间为5s,意思是只ping5秒,5秒后结束

5、若看到"Destination Host Unreachable"的反馈信息,则表示目的主机不可达,可能目标地址不存在或者主机已经关闭若看到"Network is unreachable"的反馈信息,则表示没有可用的路由记录(如默认网关),无法达到目标主机所在的网络。当目标主机有严格的防火墙限制时,或者当网络中存在影响通信过程稳定性的因素(如网卡故障、病毒或网络攻击等)时,可能收到Request timeout”的反馈结果。

七、跟踪数据包traceroute

traceroute命令

  • 测试从当前主机到目的主机之间经过的网络节点

traceroute 目标主机地址

若服务器上没有traceroute命令,可通过yum方式安装traceroute软件包

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

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

八、域名解析 nslookup

1、nslookup命令

  • 测试DNS域名解析

nslookup 目标主机地址 [DNS服务器地址]

2、域名解析配置文件查看与修改 resolv.conf

  1. /etc/resolv.conf 文件中记录了本机默认使用的DNS服务器的地址信息,对该文件所做的修改将会立刻生效。

  1. Linux系统中最多可以指定3个(第3个以后的将被忽略)不同的 DNS 服务器地址,优先使用第1个 DNS服务器。

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

九、本地主机映射文件

1、/etc/hosts文件

  • 保存主机名与IP地址的映射记录

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

例:

若在/etc/hosts 文件中添加“192.168.109.11 www.zhangbin.com”的映射记录,则当访问网站 www.zhangbin.com 时,将会直接向 IP 地址 192.168.109.11 www.zhangbin.com 发送 Web 请求。

2、hosts文件和DNS服务器的比较

  1. 默认情况下,系统首先从hosts文件查找解析记录

  1. hosts文件只对当前的主机有效

  1. hosts文件可减少DNS查询过程,从而加快访问速度

十、总结

本文讲解了查看网络配置的几种方式,如何测试网络连接以及设置网络地址的参数。

  1. 查看网络配置

ifconfig、hostname、route、netstat、ss

  1. 测试网络连接

ping.traceroute、nslookup、dig

  1. 设置网络地址参数

临时配置、永久配置

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值