linux之网络管理

2022-11-14 17:15:03 浏览数 (1)

网络接口配置

使用ifconfig检查和配置网卡

当不输入任何参数时,ifconfig会输出系统中所有的活动状态的网络接口

例如下述:

代码语言:javascript复制
swz@swz-debian:~/swz$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.141.146  netmask 255.255.255.0  broadcast 192.168.141.255
        inet6 fe80::ce0c:48e7:a58e:2eb6  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:3a:ad:d5  txqueuelen 1000  (Ethernet)
        RX packets 2350  bytes 223523 (218.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1760  bytes 217578 (212.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

图中ens33表示的是以太网的网卡,inet表示其网络地址,netmask是其子网掩码。

可以手动指定网卡的ip地址,ifconfig ens33 ip地址

开启/关闭网卡:ifconfig ens33 down/up 或者直接用ifdown/ifup 加网卡名称

将IP配置信息写入配置文件

当我们使用ipconfig配置文件时,只能动态配置,系统设置只能在当前配置中生效。

如果需要网络配置在开机后自动生效,则需要利用配置文件直接配置。

对于RedHat或者CentOS系统来说,其网络配置文件一般在/etc/sysconfig/network-scripts/

我的电脑没有这个redhat系统,故不能配置。

Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]

DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes

配置完成后进行网口重新开启即可。

路由和网关设置

当设备A和B都处于处于同一个网段下并且其网卡都是处于一个激活的状态,即A和B可以直接通信。这种方式可以通过交换机直接进行。

当A和B处于不一样的网段时,设备A和B进行通信必须通过路由器才能进行。每个网段至少有一个网关,linux中可以通过route命令来增加网关。

其命令用法如下:route add default gw 192.168.159.2

添加了网关之后,可以通过route-n来查看系统当前的路由表。

若要更改配置,必须在配置文件中去修改。

DNS客户端配置

/etc/hosts

hosts文件记录主机和对应的IP关系,可以利用DNS系统来进行IP和DNS之间的对应关系。

hosts文件的作用:

  • 加快域名解析。当访问网站时,首先访问hosts文件,看是否有对应的IP,若有,直接访问。
  • 方便小型局域网用户使用的内部设备。
代码语言:javascript复制
swz@swz-debian:~$ vi /etc/hosts
127.0.0.1 localhost

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
/etc/resolv.conf

DNS是解析互联网上主机名以及其IP地址对应关系的数据库。设置主机名DNS客户端的配置文件为/etc/resolv.conf文件。其有三个关键字:nameserver、search、domain。

其中:nameserver关键字后面跟着一个DNS主机的IP地址,可以设置2~3个nameserver。

search关键字后面跟着一个全局域名,例如谷歌,其域名为:www.google.com。可以设置多个域名。

domain关键字后面也是接域名,不过域名只能有一个。

代码语言:javascript复制
swz@swz-debian:~$ vi /etc/resolv.conf 
domain localdomain
search localdomain
nameserver 192.168.141.2

网络测试工具

ping

ping主要用于另外一台主机是否可达,一般来说,ping不到某一台主机,说明对方主机出现了问题,有可能是链路中防火墙的因素、ping包被丢弃。ping命令对发出和收到的包进行计数,这个可以计算网络丢包率。

ping的参数有:-c、-i、-w

其中c是指的ping的次数;i是指的ping包的发送间隔;w是指的没有回应,在指定间隔内时间之后退出。

代码语言:javascript复制
swz@swz-debian:~$ ping 192.168.1.57
PING 192.168.1.57 (192.168.1.57) 56(84) bytes of data.
64 bytes from 192.168.1.57: icmp_seq=1 ttl=128 time=0.441 ms
64 bytes from 192.168.1.57: icmp_seq=2 ttl=128 time=0.638 ms
64 bytes from 192.168.1.57: icmp_seq=3 ttl=128 time=0.634 ms
host

host命令是来查DNS记录的,返回域名的IP。

除此之外,还可以指定特定的域名解析器解析域名。

代码语言:javascript复制
swz@swz-debian:~$ host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 14.215.177.39
www.a.shifen.com has address 14.215.177.38
代码语言:javascript复制
swz@swz-debian:~$ host www.baidu.com 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases: 

www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com is an alias for www.wshifen.com.
www.wshifen.com has address 103.235.46.40
traceroute

在IP包结构中有一个定义数据包生命周期的TTL(Time To Live),该字段表示IP数据包的生命值。

常见网络故障排查

网络故障主要分为硬件故障和软件故障。

硬件故障主要分为网卡物理损坏、链路故障等。网卡损坏是指网卡设备由于发生电子元件损坏而造成网卡设备无法继续使用。链路故障很多时候表现为网线或者水晶头在制作过程中出现线路问题,或者由于老化等原因造成物理链路断开。

软件问题主要表现为网卡驱动故障,一般是操作系统下对网卡的不兼容造成的。

0 人点赞