Linux网络 ---网络设置

本文详细介绍了Linux系统下的网络配置方法,包括查看网络接口信息、主机名称、路由表和网络连接状态,以及如何使用ping、traceroute、nslookup和dig等命令测试网络连通性和DNS解析。同时,讲解了通过命令行和配置文件设置网络参数的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LINUX网络基础---------1.Linux网络设置

一:查看网络配置

1.1:查看网络接口信息 ifconfig

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

    [root@lpf ~]# ifconfig
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 20.0.0.41  netmask 255.255.255.0  broadcast 20.0.0.255
            inet6 fe80::6ccd:4151:e216:e709  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:2f:0b:bb  txqueuelen 1000  (Ethernet)
            RX packets 5416  bytes 3383057 (3.2 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 2337  bytes 438388 (428.1 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 84  bytes 9156 (8.9 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 84  bytes 9156 (8.9 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
            ether 52:54:00:19:da:95  txqueuelen 1000  (Ethernet)
            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
    

    #lo:loopback 回环网卡 ,用于测试TCP协议是否正常
    #virbr0:虚拟的桥接网卡

  • 查看指定网络接口信息

    [root@lpf ~]# ifconfig ens33
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 20.0.0.41  netmask 255.255.255.0  broadcast 20.0.0.255
            inet6 fe80::6ccd:4151:e216:e709  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:2f:0b:bb  txqueuelen 1000  (Ethernet)
            RX packets 5460  bytes 3386667 (3.2 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 2364  bytes 442086 (431.7 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

1.2:查看主机名称hostname

  • 查看或者设置当前主机名

    [root@lpf ~]# hostname zhangsan 
    [root@lpf ~]# hostname
    zhangsan
    
  • 临时修改 hostname 主机名

    永久修改 vim /etc/hostname

    [root@lpf ~]# vi /etc/hostname
    [root@lpf ~]# hostname
    zhangsan
    [root@lpf ~]# cat /etc/hostname
    zhangsan
    

    永久修改 systemctl set-hostname 主机名

1.3:查看路由表条目 route

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

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

    [root@lpf ~]# route
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    default         gateway         0.0.0.0         UG    100    0        0 ens33
    20.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 ens33
    192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
    [root@lpf ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         20.0.0.2        0.0.0.0         UG    100    0        0 ens33
    20.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 ens33
    192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
    'Destination列对应目标网段的地址'
    'Gateway列对应下一跳路由器地址'
    'Genmask列对应子网掩码'
    'Iface列对应发送数据的网络接口'
    '目标网段为default时,表示此行时默认网关记录'
    
  • -n 表示 number 用数字显示,default会显示0.0.0.0

1.4:使用netstat命令查看网络连接情况

netstat命令

  • 查看系统的网络连接状态,路由表,接口统计等信息,是了解网络状态及排除网络服务故障的有效工具

  • 'netstat命令基本格式'
    netstat [选项]
    
    常用选项
    -a:显示当前主机中所有活动的网络连接信息(包括监听,非监听状态的服务端口)
    -n:以数字的形式显示相关的主机地址,端口等信息
    -p:显示与网络连接相关联的进程号,进程名称信息('该选项需要root权限')
    -t:查看TCP协议相关信息
    -u:显示UDP协议相关的信息
    -r:显示路由信息
    -l:显示处于监听(listening)状态的网络连接及端口信息
    
  • 通常使用“-ntap”组合选项,以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息。

    结合管道符号使用“grep”命令,还可以在结果中过滤出所需要的特定记录

    [root@lpf ~]# netstat -ntap | grep 22
    tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      9566/dnsmasq        
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      9133/sshd           
    tcp        0     52 20.0.0.41:22            20.0.0.1:62100          ESTABLISHED 10103/sshd: root@pt 
    tcp6       0      0 :::22                   :::*                    LISTEN      9133/sshd  
    

1.5:使用ss命令查看网络连接情况

  • 获取socket统计信息ss

  • 'ss 命令基本格式'
    ss [选项]
    常用的选项
    -a 查看已链接和监听,不加a 显示已连接信息
    -t 看TCP协议
    -u 看UDP协议
    -n 不是数字了,取消ip后面的名称改换端口号显示
    -l 监听状态信息  listen 
    -p 显示pid 进程号
    -r 默认,显示服务名称而不是端口号
    常用组合 -lnt
    
    [root@lpf ~]# ss -lnt
    State       Recv-Q Send-Q Local Address:Port               Peer Address:Port       
    LISTEN      0      128        :::22                     :::*                  
    LISTEN      0      128       ::1:631                    :::*                  
    LISTEN      0      100       ::1:25                     :::*                  
    LISTEN      0      128       ::1:6010                   :::*    
    

二:测试网络连接

2.1:使用ping命令测试网络连通性

  • 测试网络连通性

    ping 选项 目标主机

[root@lpf ~]# ping www.baidu.com
PING www.wshifen.com (103.235.46.39) 56(84) bytes of data.
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=1 ttl=128 time=283 ms
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=2 ttl=128 time=293 ms
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=3 ttl=128 time=304 ms
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=4 ttl=128 time=295 ms
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=5 ttl=128 time=309 ms
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=6 ttl=128 time=296 ms
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=7 ttl=128 time=291 ms
^C
--- www.wshifen.com ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6057ms
rtt min/avg/max/mdev = 283.114/296.255/309.579/8.086 ms
注意:
'反馈目标主机不可达:可能目标地址不存在或主机已经关闭'
'反馈 网络不可达:表示没有可用的路由记录,如网关,无法到达目标主机所在网络'
'反馈 请求超时:表示数据到达对方,但回不来'

要想实现网络功能,TCP/IP协议都需要,是底层需要

  • 网络不同排障

    1.ping 本地网卡地址 (如果不通:需要重新配置IP 或者重启网络服务功能)

    2.ping 网关 (如果不通:网关ip 或者网线有问题)

    3.ping 外网服务器地址(如果不通ISP运营商)

  • VM 0 VM1 VM8 功能

    VM0:桥接模式,暴露在局域网,别人能访问,要放在ip冲突

    VM1:虚拟机与宿主机通讯,仅主机模式,把虚拟机之间构成局域网,无法访问外部网络

    VM8: NAT 模式 把虚拟机连接到三层交换的虚拟网卡上),不仅可以内部通信也可以外部通信。可以把数据转发给外部网络,但外部不知道真实的内部ip地址

  • ping 不通 ,未知域名服务解决方法

  • 第一种解决方法:修改/etc/resolv.conf

    格式:nameserver 域名服务器ip

    echo “nameserver 192.168.195.2” > /etc/resolv.conf

  • 第二种解决方法

    vi /etc/sysconfig/network-scripts/ifcfg-ens33

    网卡上面有两个DNS,可以设两个

  • 第三种方法 配置本地解析

    /etc/hosts,第三种不推荐

2.2:使用traceroute命令跟踪数据包

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

  • 对于无法响应的节点,连接状态将显示为*

  • traceroute命令比ping命令更准确的定位网络连接的故障点(中断点),执行速度也因此比ping命令慢

  • 网络测试中,先用ping,若发现网络连接故障,在使用traceroute命令跟踪查看故障节点

命令基本格式
traceroute 目标主机地址
追踪数据包流向,一般用于内部局域网,外网nat转换后无法追踪
[root@lpf ~]# traceroute www.baidu.com
traceroute to www.baidu.com (104.193.88.77), 30 hops max, 60 byte packets
 1  gateway (20.0.0.2)  0.918 ms  0.240 ms  0.243 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *

2.3:使用nslookup命令测试DNS域名解析

- nslookup命令
  - 测试DNS域名解析,将域名解析为IP地址

命令基本格式
nslookup 目标主机地址 [DNS服务器地址]
centos 7显示结果

[root@lpf ~]# nslookup www.baidu.com
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
www.baidu.com	canonical name = www.a.shifen.com.
www.a.shifen.com	canonical name = www.wshifen.com.
Name:	www.wshifen.com
Address: 104.193.88.77
Name:	www.wshifen.com
Address: 104.193.88.123

C:\Users\lpf>nslookup www.baidu.com
服务器:  ns.gwbnnj.net.cn
Address:  211.162.31.80

非权威应答:
名称:    www.a.shifen.com
Addresses:  182.61.200.7
          182.61.200.6
Aliases:  www.baidu.com

2.4:使用dig命令测试DNS域名解析

[root@lpf ~]# dig www.baidu.com

; <<>> DiG 9.9.4-RedHat-9.9.4-72.el7 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7225
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com.			IN	A

;; ANSWER SECTION:
www.baidu.com.		1086	IN	CNAME	www.a.shifen.com.
www.a.shifen.com.	126	IN	CNAME	www.wshifen.com.
www.wshifen.com.	120	IN	A	103.235.46.39

;; Query time: 95 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 四 7月 02 20:06:34 CST 2020
;; MSG SIZE  rcvd: 111
  • 与nslookup比较 dig最详细的显示,dig是linux专有命令

三:使用网络配置命令

3.1:设置网络参数的方式

3.1.1:临时配置:使用命令调整网络参数

临时修改,一般都是做维护的时候使用

简单,快速,可直接修改运行中的网络参数

一般只适合在调试网络的过程中使用

系统重启以后,所做的修改将会直接失效

3.1.2:固定设置:通过配置文件修改网络参数

修改各项网络参数的配置文件
适合对服务器设置固定参数时使用
需要重载网络服务或者重启以后才会生效

3.2:设置网络接口参数 ifconfig

  • 设置网络接口的IP地址,子网掩码
ifconfig 接口名 IP地址 [netmask 子网掩码]
ifconfig 网络接口 IP地址[/掩码长度]
[root@lpf ~]# ifconfig ens33 10.10.10.10/24
[root@lpf ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.10.10  netmask 255.255.255.0  broadcast 10.10.10.255
..省略内容
    或者
[root@lpf ~]# ifconfig ens33 12.12.12.12 netmask 255.255.255.0
  • 禁用或者重新激活网卡
ifconfig 网络接口 up
ifconfig 网络接口 down
例如
[root@localhost ~]# ifconfig ens33 down		'临时禁用ens33网卡'
  • 设置虚拟网络接口

    在对服务器网络进行调试的过程中,有时候需要临时在同一个网卡上使用一个新的IP地址,但是又不能够覆盖掉原本的IP地址而导致服务程序不可用。

    此时可以为网卡绑定一个虚拟的网络接口,然后在位虚拟接口配置新的IP地址(相当于一个网卡配置多个IP地址)

    设置虚拟网络接口的命令格式
    ifconfig 接口名:序号 IP地址
    [root@lpf ~]# ifconfig ens33:1 11.11.11.11
    [root@lpf ~]# ifconfig
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 20.0.0.41  netmask 255.255.255.0  broadcast 20.0.0.255
            inet6 fe80::6ccd:4151:e216:e709  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:2f:0b:bb  txqueuelen 1000  (Ethernet)
            RX packets 566  bytes 51128 (49.9 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 438  bytes 48037 (46.9 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 11.11.11.11  netmask 255.0.0.0  broadcast 11.255.255.255
            ether 00:0c:29:2f:0b:bb  txqueuelen 1000  (Ethernet)
    
    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 84  bytes 9156 (8.9 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 84  bytes 9156 (8.9 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
            ether 52:54:00:19:da:95  txqueuelen 1000  (Ethernet)
            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
    

3.3:使用route命令设置路由记录

  • 使用route命令不仅可以用于查看路由表信息,还可以用来添加,删除静态的路由表条目,其中也包括设置默认网关地址(默认网关记录是一条特殊的静态路由条目)
  • 默认网关的IP地址应该与本机其中一个接口的IP地址在同一个网段内添加到指定网段的路由记录
  • 添加指定网段的路由
route add -net 网段地址 gw IP地址
例如	
[root@lpf ~]# route                 #查看原本的路由条目
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 ens33
11.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 ens33
20.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
[root@lpf ~]# route add -net 192.168.30.0/24 gw 192.168.10.10		'添加静态路由,本机访问另一个网段192.168.30.0/24的数据都发给192.168.10.10'
[root@lpf ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
11.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 ens33
192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.30.0    localhost.local 255.255.255.0   UG    0      0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
  • 删除到指定网段的路由记录
route del -net 网段地址

例如
[root@lpf ~]# route del -net 192.168.30.0/24		'删除静态路由'
  • 向路由表中添加默认网关记录
route add default gw IP地址

[root@lpf ~]# route add default gw 192.168.10.30		'添加到192.168.10.30的默认网关记录'
  • 删除路由表中的默认网关记录
route del default gw IP地址

[root@lpf ~]# route del default gw 192.168.10.30		'删除到192.168.10.30的默认网关记录'
  • 同一个主机的路由表中只应有一条默认网关记录,否则会导致主机的网络了解出现故障

四:修改网络配置文件

4.1:网络接口配置文件

  • /etc/sysconfig/network-scripts/目录下
    • 文件名格式为“ifcfg-xxx”
[root@lpf ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
..省略部分内容
BOOTPROTO="dhcp"		'设置网络接口的配置方式,值为 static 表示使用静态指定的IP地址,值为 dhcp 表示 通过dhcp的方式动态获取地址'
DEVICE="ens33"		'设置网络接口的名称'
ONBOOT="yes"		'设置网络接口是否在Linux系统启动时激活'
IPADDR="20.0.0.41"		'设置网络接口的IP地址'
NETMASK="255.255.255.0"		'设置网络接口的子网掩码'
GATEWAY="20.0.0.2"		'设置网络接口的默认网关地址'

4.2:启动,禁用网络接口配置

  • 重启network网络服务
[root@lpf ~]# systemctl restart network
    或者
[root@lpf ~]# service network restart
  • 关闭,启用某个网卡
[root@lpf ~]# ifdown ens33		'关闭网卡'
成功断开设备 'ens33'。
[root@lpf ~]# ifup ens33		'启用网卡'

4.3:主机名称配置文件

/etc/sysconfig/network文件 , centos6系统中在这

保存全局网络设置,主要包括主机名信息
/etc/hostname文件,centos7系统中在这

4.4:域名解析配置文件

  • /etc/resolv.conf文件
  1. 保存本机需要使用的DNS服务器的IP地址

  2. 对该文件所做的修改会立刻生效

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

[root@lpf ~]# vim /etc/resolv.conf
search localdomain		'默认的搜索域(域名后缀),即,当访问主机localhost 时,相当于访问 localhost.localdomain'
nameserver 100.100.1.30		
nameserver 100.100.100.30

4.5:本地主机映射文件

  • /etc/hosts文件
  1. 保存主机名与IP地址的映射记录

  2. 一般用来保存经常需要访问的主机的信息

  • hosts文件和DNS服务器的比较
  1. 默认情况下,系统首先从hosts文件查找解析记录

  2. 当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到在去向DNS服务器查询

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

  4. 因为hosts文件只保存在本地

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

  6. 在/etc/hosts文件中添加正确的映射记录(经常访问的一些网站),减少了DNS查询,提高了上网速度

[root@lpf ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
6.6.6.6	www.baidu.com  '这是新添加的,当访问网站www.baidu.com时,就会直接向IP地址211.168.31.80发送web请求,省略了向DNS服务器解析IP地址的过程'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值