Contents

Linux网络配置和管理

网络管理

可查询此链接linux网络命令 查看linux网络命令的使用

网络检查步骤

  1. ip link show查看网卡情况
  2. ip addr show查看ip情况
  3. networkctl查看网络接管情况
  4. resolvectl查看dns情况
  5. ping baidu.com查看网络最终情况

systemd-resolved配置

  • 自动管理dns配置: ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
    • 配置文件中包含了上级dns服务器及搜索域名
  • 手动dns文件配置在两个地方/etc/systemd/resolved.conf或者/etc/systemd/resolved.conf.d/*
    • /etc/systemd/resolved.conf.d/dns_servers.conf中配置
    1
    2
    3
    
    [Resolve]
    DNS=114.114.114.114
    Domains=~.
    
    • /etc/systemd/resolved.conf.d/fallback_dns.conf中配置
    1
    2
    
    [Resolve]
    FallbackDNS=8.8.8.8
    
    如果要禁用fallback_dns 功能,则不设置FallbackDNS参数
  • 上述配置等效于在/etc/systemd/resolved.conf将二者一起配置

systemd-networkd配置

  • 需要在/etc/systemd/network/自定义.network中自己配置
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
[Match]
Name=enp1s0 # 也支持 en* 的正则表达式
[Network]
DHCP=yes/ipv4/ipv6
DHCPServer=
DNS=
Address=
Gateway=
Domains=
DHCP/DHCPv4/[DHCPv6]
RouteMetric=

iwd无线网配置

  • iwctl命令进入wifi连接界面
  • station wlan0 get-network查看目前wifi情况
  • station wlan0 scan扫描wifi
  • station wlan0 connect wifi名连接wifi

多网卡路由配置

  • 使用策略路由,使用多个路由表来配置不同的网域路由

    • 查看路由表存储情况
    1
    
    cat /etc/iproute2/rt_tables
    

    ​ 输出情况如下

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    
    #
    # reserved values
    #
    255		local		    #本地路由表
    254		main		#主路由表,不加设定时我们增加的路由规则都设置于此
    253		default		#存放默认路由规则。注意增加默认规则时若没有指定路由表那还是存在于main表中
    0		unspec
    #
    # local
    #
    #1	inr.ruhep
    
    • route -n命令查看的是main路由表
    • 查看对应路由表
    1
    2
    
    ip route show table main
    ip route show table 254
    
    • 修改rt_tables文件向指定路由表添加或删除规则使用ip route命令
    1
    2
    3
    4
    
    ip route add 192.168.80.0/24 via 192.168.20.20 table 251 
    ip route add 192.168.80.0/24 via 192.168.30.20 table 252
    ip route del 192.168.80.0/24 via 192.168.30.20 table 251
    ip route del 192.168.80.0/24 via 192.168.30.20 table 252
    
    • 快速删除某一特定路由或者路由表可使用ip route flush
    1
    2
    3
    4
    
    #清除192.168.0.0的路由信息
    ip route flush 192.168.0.0
    #清空main路由表 
    ip route flush table main 
    
    • 查看路由表策略
    1
    2
    
    # ip rule show
    或者 # ip rule ls
    
    1
    2
    3
    
    0:	from all lookup local 
    32766:	from all lookup main 
    32767:	from all lookup default
    
    • 创建策略( pref 越小越先匹配)
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    
    #根据源地址决定路由表
    ip rule add from 192.168.10.0/24  table 100 pref 10
    ip rule add from 192.168.20.20    table 110 pref 100
    
    #根据目的地址决定路由表
    ip rule add to   192.168.30.0/24  table 120
    ip rule add to   192.168.40.0/24  table 130
    
    #根据网卡设备决定路由表
    ip rule add dev  eth0  table 140
    ip rule add dev  eth1  table 150
    
    #此外还可以根据其他条件进行设置,例如tos等等
    
    • 删除策略
    1
    2
    3
    4
    5
    6
    7
    8
    
    #根据明细条目删除
    ip rule del from 192.168.10.10
    
    #根据优先级删除
    ip rule del prio 32765
    
    #根据表名称来删除
    ip rule del table wangtong
    

cli工具

  • NetWorkManager使用的cli工具是nmcli,服务是NetWorkManager.service
  • systemd-networkd使用的cli工具是networkctl,服务是systemd-networkd.service