百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

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

ahcoder 2024-12-23 08:37 11 浏览


提醒:本文为合集文章,后续持续更新!

关注我持续进步!

其实,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<UP,BROADCAST,RUNNING,MULTICAST> 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<link>
 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<UP,BROADCAST,RUNNING,MULTICAST> 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 www.baidu.com,保存文件后再ping一下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不一样),会按最前面出现的记录来解析。

相关推荐

PC也能装MAX OS X

MACBOOK向来以其时尚的外观以及易用的OSX操作系统成为了时(zhuang)尚(bi)人士的最爱。但是其动不动就上万元的昂贵价格,也将一批立志时(zhuang)尚(bi)人士的拒之门外。但是最近...

一千多元的笔记本能买吗?英特尔11代+大屏幕,豆小谷值得选吗?

前言:有很多粉丝都问过本人,一千多元到底能买到什么样的笔记本?在此笔者只想说,这样的资金预算真的太低了!如果想买全新的,那大概率买的就是性能比较拉垮的上网本,比如搭载英特赛扬N系列、J系列处理器的轻薄...

首款配备骁龙X Elite处理器的Linux笔记本:采用KDE Plasma桌面环境

德国Linux硬件供应商TUXEDOComputers宣布正在开发一款配备高通骁龙XElite处理器(SnapdragonXEliteSoC)的ARM笔记本电脑,内部将该...

System76推出Gazelle Linux笔记本:配酷睿i9-13900H处理器

IT之家3月30日消息,主打Linux硬件的厂商System76于今天发布了新一代Gazelle笔记本电脑,共有15英寸和17英寸两个版本,将于3月30日接受预订,...

Kubuntu Focus Xe Gen 2笔记本发布,预装Linux系统

IT之家3月25日消息,KubuntuFocusXeGen2笔记本于近日发布,这是一款预装Kubuntu22.04LTSGNU/Linux发行版的轻薄本。上一代Kub...

这台Linux笔记本已用上英特尔12代酷睿,最高可选i7-1255U、卖1149美元起

Linux笔记本可能因为比较小众,一般都是拿Windows笔记本换个系统而来,硬件上也会落后同期Windows笔记本一两代,不过现在专门做Linux电脑的System76,推出了一款名为LemurP...

戴尔Inspiron 14 Plus骁龙笔记本迎新补丁,支持启动Linux

IT之家4月25日消息,科技媒体phoronix今天(4月25日)发布博文,报道称最新发布的Linux内核补丁,针对骁龙芯片的戴尔Inspiron14Plus笔记本,让其...

TUXEDO推出InfinityFlex 14二合一Linux笔记本,配i5-1335U

IT之家8月12日消息,Linux硬件企业TUXEDO当地时间本月2日推出了InfinityFlex14二合一Linux笔记本。该笔记本搭载2+8核的英特尔酷睿i5-...

登月探测器嫦娥使用什么操作系统,是Linux还是其它自主研发?

这是不是国家机密啊。事实什么样的不知道,但是从美国的探测器来看,就算不是也是相似的东西。下面我来说说我知道的。龙芯已经随北斗卫星上天了.就算登月探测器嫦娥是用"龙芯+Linux"也不出奇.没必要...

DNS分离解析实验

如果本文对你有帮助,欢迎关注、点赞、收藏、转发给朋友,让我有持续创作的动力目录一、分离解析概述二、实验需求三、实验步骤3.1双网卡服务器配置3.1.1添加两张网卡(内外网)3.1.2对两个网卡进...

一个小实验巩固下进程管理

先回顾下之前的三篇文章:Linux进程在内核眼中是什么样子的?Linux进程线程是如何创建的?Linux是如何调度进程的?通过这三篇文章的学习我们知道,无论内核进程还是用户进程,都是可以用task...

VMware Kali无线WIFI密码破解

WIFI破解前准备工作一张支持Kali系统监听的无线网卡VMware虚拟机安装好Kali系统(本实验用的是Kali2022版本)Kali系统下载、安装官方网站:https://www.kali.or...

python多进程编程

forkwindows中是没有fork函数的,一开始直接在Windows中测试,直接报错importosimporttimeret=os.fork()ifret==0:...

拔电源十台电脑藏后门!德国实验惊曝Windows致命漏洞

2025年4月15日,央视突然曝出一个超级大新闻!原来美国国家安全局通过黑龙江,往微软Windows系统里发送加密信息,激活了系统里藏着的后门程序,想破坏哈尔滨亚冬会!这消息一出来,大家才发现,竟然已...

深度探索RK3568嵌入式教学平台实战案例:设备驱动开发实验

一、产品简介TL3568-PlusTEB人工智能实验箱国产高性能处理器64位4核低功耗2.0GHz超高主频1T超高算力NPU兼容鸿蒙等国产操作系统二、实验目的1、熟悉基本字符设备的驱动程序...