Linux网络设置

一、查看及测试网络

1.1 查看网络配置

1.1.1 查看网络接口地址

常使用的方法有为ifconfig(如果为找到该命令,则需要安装net-tools软件包):直接使用此命令会显示出物理网卡(一般为ens33)和虚拟的回环接口lo的信息,具体的显示如下:

其中每一项的含义为:

  • ens33:第一块网络接口的名称。"en"是"EtherNet"的缩写,表示网卡的类型为以太网,"s"表示插槽,"33"表示插槽编号。在不同的操作系统上,网络接口名称看可能也不同。
  • inet:ipv4地址。
  • inet6:ipv6地址。
  • netmask:子网掩码。
  • broadcast:广播地址。
  • prefixlen:表示子网掩码的长度。
  • txqueuelen:表示传输队列的长度。当网络接口向网络发送数据时,它不会立即发送每个数据包,而是将它们放入一个队列中,然后按照某种策略(如先进先出)发送它们。
  • ether:MAC地址。
  • lo:lo:“回环”网络接口,“lo”是“loopback”的缩写,它不代表真正的网络接口,而是一个虚拟的网络接口,其IP地址默认是“127.0.0.1”。回环地址通常仅用于对本机的网络测试。
  • RX:接收的包。
  • TX:发送的包。

使用ifconfig可以指定网络接口的名称来查看指定的网卡的信息。

1.1.2 查看主机名称

可以直接使用hostname命令查看当前主机的名称。该命令也可以用来暂时修改主机名称,后面指定要修改的名称即可。

1.1.3 查看路由表条目

Linux操作系统中的路由b表决定着从本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息。可以直接执行"route"命令查看当前主机中的路由表信息:

  • Destination:目的IP地址。
  • Gateway:要去目的地所要经过的网关。
  • Genmask:子网掩码
  • Flags:表示路由的标记,U代表路由是开启状态,G代表是网关路由。
  • Metric:表示路由的度量值或权重,度量值可以反映跃点的数量、路径的速度、路径的可靠性、路径的吞吐量以及管理属性等。用于在路由表中的多个路由中选择与目标地址最匹配的路由。
  • Use:表示路由已被使用的次数。
  • Iface:表示与该路由相关联的网络接口,当数据包需要被转发到目标地址时,它们将使用这个接口。

若结合"-n"选项使用,可以将路由记录表中的地址显示为数字形式。

1.1.4 查看网络连接情况

通过netstat可以查看当前操作系统的网络连接状态、路由表、接口统计等信息,以下是netstat命令常用的选项:

  • -a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。
  • -n:以数字的形式显示相关的主机地址和端口等信息。
  • -f:显示路由表的信息。
  • -l:显示处于监听状态的网络连接及端口信息。
  • -t:查看TCP相关的信息。
  • -u:查看UDP相关的信息。
  • -p:显示与网络连接相关联的进程号、进程名信息。

除了netstat命令,也可以使用ss(socket statistic)命令查看网络连接情况,主要用于socket统计信息。与netstat相比的优势在于能显示更多的有关TCP和连接状态的信息,而且比netstat更快速高效。注意需要先安装iproute程序包已被安装,以下是ss命令的常用选项:

  • -h:--help,通过该选项获取更多的使用帮组。
  • -V:--version,显示软件的版本号。
  • -t:--tcp,显示TCP协议的socket。
  • -u:--udp,显示UDP协议的socket。
  • -n:--numeric,不解析服务的名称,如“22”端口不会显示成"ssh"。
  • -l:--listening,只显示处于监听状态的端口。
  • -p:--processec,显示监听端口的进程。
  • -a:--all,对TCP协议来说,既包含监听的端口,也包含建立的连接。
  • -r:--resolve,把IP解释为域名,把端口号解释为协议名称。

使用此命令结合"-t state established"可以显示TCP协议下已经建立的连接。

1.2 测试网络连接

当网络连接出现问题时,需要通过测试网络连接的命令来确定故障点。

1.2.1 测试网络连通性

使用ping命令可以向目标主机持续地发送测试数据包,使用方式为:

ping IP地址

连接正常时会收到返回的数据包。若们没有接收到目标主机发送的反馈数据包,则表示在本机到目标主机之间存在网络连通性故障。比如:

  • Destination Host Unsearchable:表示目的主机不可达。可能目标地址不存在或主机以关闭。
  • Network is Unsearchable:表示没有可用的路由记录,无法到达目标主机所在的网络。
  • Request timeout:表示与目标主机之间的连接超时(数据包响应慢或丢失),即当前网络中存在影响通信过程稳定性的因素(如网卡故障、病毒或网络攻击等)。除此之外,若目标主机的防火墙有严格的限制时,也可能会受到这样的反馈信息。

1.2.2 跟踪数据包的路由途径

linux可以使用traceroute(需要先安装traceroute软件包)。此命令可以测试从本机到目标主机之间经过了哪些网络节点,并显示中间节点的显示状态,对于无法显示的点,使用“*”来代替。

使用方式为:

traceroute IP地址

1.2.3 测试DNS域名解析

经常使用两种命令来测试:

  1. nslookup:需要先安装"bind-utils",使用命令的方法为:
nslookup 域名

显示的信息如下(以百度为例):

图上显示了百度的其他域名和相应的IP地址,最上方则显示解析域名的服务器的地址。但是若显示的不是这样的信息,而是如下几种信息,则代表域名解析出现问题:

  • "......no server could be reached":表示不能连接到指定的DNS服务器。
  • "......can`t find www.baidu.com:NXDOMAIN":表示要查询的百度域名不存在。
  1. dig(domain information groper)

相较于nslookup命令,dig可以获取更多的域名信息。dig在查询过程中,可以指定DNSf服务器,如果不指定DNS服务器,默认会使用/etc/resolve.conf里面的地址作为DNS服务器。

使用方式为:

dig [@IP地址] 域名

二、设置网络地址参数

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

  1. 临时配置:通过命令直接修改当前正在使用主机的网络地址,修改后立刻生效。但此修改并没有固定地存放在静态的文件中,因此当重启主机或重启对应服务时,此修改就会失效。
  2. 固定配置:通过配置文件来存放固定的各种网络地址,需要重启network服务或重启主机后才会生效,此修改是永久性的。

2.1 使用网络配置命令

2.1.1 修改网卡的地址、状态

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

  1. 修改网卡的IP地址、子网掩码:有两种方法设置:
ifconfig 网络接口名称 IP地址 [netmask 子网掩码]
ifconfig 网络接口名称 IP地址 [/子网掩码的长度]

若不指定子网掩码的长度,则根据IP地址所属的默认分类设置子网掩码的长度。

  1. 禁用、激活网络接口:分别使用"up"和"down"开关选项来激活或禁用网络接口
ifconfig 网络接口的名称 up #开启接口
ifconfig 网络接口的名称 down #关闭接口
  1. 为网卡绑定虚拟接口:有时候需要临时在同一个网卡上使用一个新的IP地址,但是有不能覆盖原有IP地址。这时就可以给网卡绑定一个虚拟地址接口,然后为虚拟接口设置一个新的地址,使用方法是:
ifconfig 网络接口的名称:0 IP地址 #0可以是其他数字

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

route命令不仅可以查看路由表,也可以用来添加或删除路由记录:

  • 添加静态路由记录
route add -net 目的网段网络地址/子网掩码长度 gw 网关地址
  • 删除静态路由记录
route del -net 目的网段网络地址/子网掩码长度
  • 添加默认网关记录
route add default gw 网关地址
  • 删除默认网关记录
route del default gw 网关地址

2.2 修改网路配置文件

2.2.1 网络接口配置文件

网络接口的配置文件默认位于目录/etc/sysconfig/network-scripts/中,文件名的格式为"ifcfg-XXX",XXX为网络接口的名称。在网卡的配置文件中,可以看到设置静态IP地址的部分内容如下:

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

  • TYPE:设置网卡类型,“Ethernet”表示以太网。
  • BOOTPROTO:设置网络接口的配置方式,值为“static”时表示使用静态指定的IP地址,为“dhcp”时表示通过 DHCP 的方式动态获取地址。
  • DEVICE:设置网络接口的名称。
  • ONBOOT:设置网络接口是否在 Linux 操作系统启动时激活。
  • IPADDR:设置网络接口的IP 地址。
  • NETMASK:设置网络接口的子网掩码。
  • GATEWAY:设置网络接口的默认网关地址。

2.2.2 启用、禁用网络接口配置

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

systemctl restart network

默认情况下,重启network服务会先关闭所有的网络接口,再根据配置文件重新启用所有的网络接口。

如果只是禁用、启用某一个网络接口,可分别使用两个接口控制脚本ifdown、ifup。使用方法如下:

ifdown 网络接口的名称 #禁用该接口

ifup 网络接口的名称 #启用该接口

2.2.3 主机名称配置文件

若有永久修改主机的名称,则要修改配置文件/etc/hostname(该文件只会识别第一行),将要设置的主机名写入此文件,然后重启主机即可生效。

也可以用过命令进行修改,使用方法为:

hostnamectl set-hostname 要设置的主机名

2.2.4 域名解析配置文件

在linux操作系统中有两个与域名解析相关的配置文件:

  1. /etc/resolv.conf:用于为本机指定提供DNS解析服务的服务器地址。对该文件所作的修改会立刻生效。linux操作系统中最多可以指定3个不同的DNS服务器的地址,优先使用第一个。在CentOS7系统中,在此文件中的配置过一段时间就会被覆盖或清除,此时需要修改/etc/NetworkManager/NetworkManager.conf文件,在main部分添加"dns=none"配置项。之后需要重启 NetworkManager 服务。确保/etc/resolv.conf内有配置信息,此时就可以正常解析域名了。
  2. /etc/hosts:记录主机名与IP地址的映射关系,一般用来保存经常访问的主机的信息。当访问一个位置的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去DNS服务器查询。只需要将"IP地址 域名"写入文件即可。可以将一些经常访问的网站域名写入该文件,可以提高上网速度,此外,这个文件只使用于当前主机,无法作用于整个网络。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值