2020-12-18 Ubuntu20.04网络配置

ubuntu新老版本、桌面版和服务器版在网络配置方面主要存在以下三点区别:

  • 老版本的net-tools套件不再默认支持,取而代之的是iproute2套件。
  • 老版本的ifup/down命令和基于/etc/network/interfaces配置文件的ip、网关配置方法不再支持,取而代之的是使用netplan命令和基于/etc/netplan/*.yaml文件的配置方法。
  • 桌面版默认使用图形化的NetworkManager管理网络,服务器版使用systemd-networkd管理网络(桌面版也可更改为此)。

1. iproute2套件的使用

老版的Linux常用ifconfig、route、arp和netstat等命令行工具(统称为net-tools)来配置网络功能。但自2001年起,Linux社区已经对其停止维护。同时,一些Linux发行版已经完全抛弃了net-tools,只支持iproute2。Ubuntu20.04若要使用ifconfig等工具,需要自行安装net-tools套件。
取而代之的是iproute2,其是linux下管理控制TCP/IP网络和流量控制的新一代工具包。net-tools通过procfs(/proc)和ioctl系统调用去访问和改变内核网络配置,而iproute2则通过netlink套接字接口与内核通讯。抛开性能而言,net-tools的用法给人的感觉是比较乱,而iproute2的用户接口相对net-tools来说更加直观。比如,各种网络资源(如link、IP地址、路由和隧道等)均使用合适的对象抽象去定义,使得用户可使用一致的语法去管理不同的对象。
iproute2的核心命令是ip:

wu@ubuntu:~$ ip --help
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
       ip [ -force ] -batch filename
where  OBJECT := { link | address | addrlabel | route | rule | neigh | ntable |
                   tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm |
                   netns | l2tp | fou | macsec | tcp_metrics | token | netconf | ila |
                   vrf | sr | nexthop }
       OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
                    -h[uman-readable] | -iec | -j[son] | -p[retty] |
                    -f[amily] { inet | inet6 | mpls | bridge | link } |
                    -4 | -6 | -I | -D | -M | -B | -0 |
                    -l[oops] { maximum-addr-flush-attempts } | -br[ief] |
                    -o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] |
                    -rc[vbuf] [size] | -n[etns] name | -N[umeric] | -a[ll] |
                    -c[olor]}

1.1 ip link

配置网络设备(相当于windows系统中打开网络设备,看到的若干个网卡),可以启用和禁用网卡,修改网卡的mac地址等。

  • ip link show: 显示网络设备列表
  • ip link show ens33: 显示指定网络设备的信息(ens33是我本机网卡的名字,须根据具体情况填写)
  • ip link set ens33 up|down: 启动或关闭ens33网卡

1.2 ip address

管理某个网络设备的IP协议(相当于windows系统打开某个网卡的属性),可以配置IP地址、网关地址等。

  • ip address show: 列出活动网卡的ip地址
  • ip address show ens33: 列出指定网卡的ip地址
  • ip address add|del 192.168.31.2/24 ens33: 为网卡ens33增加或删除ip地址/掩码

1.3 其它ip指令

  • ip addrlabel
    ipv6地址管理
  • ip route
    管理路由表
  • ip rule
    管理路由策略
  • ip neigh
    neigh是neighbor的缩写,用于管理局域网内的ARP表
  • ip maddr
    多播地址管理
  • ip mroute
    多播路由管理

1.4 查看套接字指令:ss和lsof -i

net-tools中还有一个查看套接字统计信息的netstat指令也很常用,在iproute2中被ss指令取代。

  • ss -l: 列出已监听端口的TCP连接
  • ss -a: 列出所有连接

还有一个类似功能的常用指令:lsof -i。lsof全称是list openfiles,列出打开的文件。在Linux中(包括网络套接字)都是文件。通过lsof -i则可以获取网络连接信息,还可以通过lsof -i:port反查指定port的进程号。

2. netplan命令和/etc/netplan/*.yaml配置文件

在老版的Ubuntu中,是通过/etc/network/interfaces文件进行静态IP地址的配置,通过/etc/resolv.conf进行DNS设置。在新版的Ubuntu中,通过/etc/netplan/目录下的yaml文件进行IP和DNS配置。打开该目录下的配置文件如下:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
     dhcp4: no
     addresses: [192.168.31.2/24]
     gateway4: 192.168.1.1
     nameservers:
       addresses: [114.114.114.114]

这是ubuntu服务器版本的配置方法,如果是桌面版,可以使用可视化的NetworkManager来接管网络,则该配置文件的renderer字段可设置为:NetworkManager,后面的部分都删除。当然,桌面版也可以按照上文示例设置,而不使用NetworkManager。
该配置文件的书写格式上有几点需要注意:

  • ethernets中的网卡名可以通过ip link指令查看,此处的ens33是本人虚拟机的网卡,替换为你自己的。
  • 使用类似于python代码缩进的方式组织代码块。
  • 缩进一级至少为两个空格,且前后一致。
  • gateway4字段的ip地址不用中括号(只有一个)。
  • 本机addresses字段和域名服务器addresses字段都需要中括号,多个ip之间使用逗号分隔。

配置完成后,需要执行sudo netplan apply使配置生效。

3. NetworkManager失效的解决办法

桌面版Ubuntu可通过可视化的NetworkManager管理网络,类似于Windows系统的更改适配器选项。
但虚拟机安装的桌面版Ubuntu经常会因为虚拟机的挂起或者非正常关机导致NetworkManager失效。失效时,桌面右上角的设置菜单中可以看到“网络设备未托管”的提示。若出现该问题,可修改/etc/NetworkManager/NetworkManager.conf配置文件,将managed=False修改为True。修改配置文件后,重启NetworkManager服务:sudo service network-manager restart,则可修复问题。若此方法未能解决问题,则使用上一节介绍的netplan配置网络。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容