Linux系统几个跟网络相关的文件和命令

您所在的位置:网站首页 linux常用命令查看ip Linux系统几个跟网络相关的文件和命令

Linux系统几个跟网络相关的文件和命令

2023-04-21 00:20| 来源: 网络整理| 查看: 265

其实,Linux的网络知识挺多的,阿铭在本节只把常用的一些技能教给大家。比如,如何设置IP、如何设置主机名、如何设置DNS等。

14.3.1 用ifconfig命令查看网卡IP

前面阿铭曾用过ip addr这个命令来查看系统的IP地址。其实在CentOS 7之前,我们使用最多的命令是ifconfig,它类似于Windows的ipconfig命令,后面不加任何选项和参数时,只打印当前网卡IP的相关信息(如子网掩码、网关等)。在Windows下设置IP非常简单,然而在命令窗口下如何设置呢?这就需要修改配置文件/etc/sysconfig/network-scripts/ifcfg-xxx了,这里的xxx指的是网卡的名字,可以使用ip addr命令查看所有网卡。如果你的系统里没有ifconfig命令,可以使用yum install -y net-tools安装。如果Linux上有多个网卡,而你只想重启某一个网卡的话,可以使用如下命令:

# ifdown ens33; ifup ens33

ifdown即停用网卡,ifup即启动网卡。需要大家注意的是,如果我们远程登录服务器,当使用命令ifdown ens33时,很有可能后面的命令ifup ens33不会运行。这样会导致我们断网而无法连接服务器,所以请尽量使用命令systemctl restart network来重启网卡。或者使用nmcli也可以实现同样的效果:

# nmcli c down ens33; nmcli c up ens33

14.3.2 给一个网卡设定多个IP

在Linux系统中,网卡是可以设定多重IP的,阿铭就曾经为一台服务器的网卡设定了5个IP。多重IP的设置过程如下:

# cd /etc/sysconfig/network-scripts/ # cp ifcfg-ens33 ifcfg-ens33:1

然后编辑ifcfg-ens33:1这个配置文件。一定要注意DEVICE要写成 ens33:1,如下所示:

# vi ifcfg-ens33:1 //编辑为类似如下内容 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens33:1" UUID="0f632d9e-f3a1-40f9-8116-3340e2db6074" DEVICE="ens33:1" ONBOOT="yes" IPADDR=192.168.72.129 NETMASK=255.255.255.0

其实就是改一下NAME、DEVICE、IPADDR,另外DNS1和GATEWAY可以删除,设置完毕重启网卡,如下所示:

# ifdown ens33 && ifup ens33

之后再查看网卡IP,如下所示:

# ifconfig ens33: flags=4163 mtu 1500 inet 192.168.72.128 netmask 255.255.255.0 broadcast 192.168.72.255 inet6 fe80::454b:a2e5:64e5:67a3 prefixlen 64 scopeid 0x20 ether 00:0c:29:15:7f:b9 txqueuelen 1000 (Ethernet) RX packets 66415 bytes 76169910 (72.6 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 15584 bytes 2655575 (2.5 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens33:1: flags=4163 mtu 1500 inet 192.168.72.129 netmask 255.255.255.0 broadcast 192.168.72.255 ether 00:0c:29:15:7f:b9 txqueuelen 1000 (Ethernet)

从上面可以看到,多了一个ens33:1。

14.3.3 查看网卡连接状态

示例命令如下:

# mii-tool ens33 ens33: negotiated 1000baseT-FD flow-control, link ok

这里显示link ok,就说明网卡为连接状态。如果显示no link,说明网卡坏了或者没有连接网线。还有一个命令也可以查看网卡的状态,如下:

# ethtool ens33 Settings for ens33: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on MDI-X: off (auto) Supports Wake-on: d Wake-on: d Current message level: 0x00000007 (7) drv probe link Link detected: yes

如果网卡没有连接,最后面一行Link detected显示为no。

14.3.4 更改主机名在第3章的时候,阿铭已经介绍过如何更改主机名。安装完系统后,主机名默认为localhost. localdomain,使用hostname命令就可以查看Linux的主机名,如下所示:

# hostname localhost.localdomain

使用hostname命令也可以更改主机名,如下所示:

# hostname Aming # hostname Aming

下次登录时,命令提示符[root@localhost ~]中的localhost就会更改成Aming。不过这样修改只是保存在内存中,如果重启,主机名还会变成改动之前的名称。所以更改主机名的同时还需要更改相关的配置文件/etc/hostname。下面阿铭再介绍一种更改主机名的方法,这种方法会自动更改文件内容,如下所示:

# hostnamectl set-hostname aminglinux-123 # hostname aminglinux-123 # cat /etc/hostname aminglinux-123

14.3.5 设置DNS

DNS是用来解析域名的。平时我们访问网站都是直接输入一个网址,而DNS把这个网址解析到一个IP。关于DNS的概念,阿铭不再详细介绍,如果你感兴趣就去网上查一下。在Linux下设置DNS非常简单,只要把DNS地址写到配置文件/etc/resolv.conf中即可。如下所示:

# cat /etc/resolv.conf # Generated by NetworkManager nameserver 119.29.29.29

第一行以#开头的行没有实际意义,仅仅是一个注释,它的意思是,这个配置文件中的DNS IP地址是由NetworkManager服务生成的。那么为什么这个DNS由它生成呢?你是否还有印象,我们在定义网卡配置文件的时候,就有一行DNS1=119.29.29.29,其实就是因为这行配置,该配置文件里才有了nameserver的IP地址。resolv.conf有它固有的格式,一定要写成 nameserver IP的格式。阿铭建议你写两个或多个namserver,系统默认会用第一个namserver去解析域名,当第一个解析不成功时会使用第二个。说到这,你是否有疑惑:既然两个地方都可以定义DNS的IP地址,那么到底在哪里定义呢?阿铭给出的答案是:如果只是临时修改DNS IP地址,就直接修改/etc/resolv.conf;如果是永久生效的话,还是要修改网卡的配置文件。在Linux下还有一个特殊文件/etc/hosts也能解析域名,不过需要我们在里面手动添加IP和域名这些内容。它的作用是临时解析某个域名,非常有用。该文件的内容如下:

# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

请用Vim编辑该文件,增加一行192.168.72.1 http://www.baidu.com,保存文件后再ping一下http://www.baidu.com就会连接到192.168.72.1了。如下所示:

# ping -c 2 www.baidu.com PING www.baidu.com (192.168.72.1) 56(84) bytes of data. 64 bytes from www.baidu.com (192.168.72.1): icmp_seq=1 ttl=64 time=0.531 ms 64 bytes from www.baidu.com (192.168.72.1): icmp_seq=2 ttl=64 time=0.392 ms --- www.baidu.com ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 54ms rtt min/avg/max/mdev = 0.392/0.461/0.531/0.072 ms

/etc/hosts的格式很简单,每一行为一条记录,分成两部分,第一部分是IP,第二部分是域名。关于hosts文件,有以下几点需要你注意:

一个IP后面可以跟多个域名,可以是几十个甚至上百个;每一行只能有一个IP,也就是说一个域名不能对应多个IP;如果有多行中出现相同的域名(对应的IP不一样),会按最前面出现的记录来解析。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3