ubuntu20在命令行netplan配置无线网卡

11 篇文章 0 订阅

ubuntu20在命令行配置无线网卡netplan

对于无图形界面的服务器版Server,我这里尝试使用的的树莓派3B,安装包ubuntu-20.04.2-preinstalled-server-arm64+raspi.img.xz。

使用wpa命令配置后还需要dhclient命令获取地址,而且重启后需要重新配置。

root@ubuntu:~# wpa_
wpa_action      wpa_cli         wpa_passphrase  wpa_supplicant

下面介绍netplan可以在重启后仍然能够正常自动启动并获取IP地址。
只有2个步骤,修改配置文件/etc/netplan/50-cloud-init.yaml,并用netplan apply生效。难点在于配置文件的格式。
man netplan有很长的说明,功能强大,也有例子,但不好看懂。

配置wifi无线网卡之前

root@ubuntu:/etc/netplan# ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether b8:27:eb:a7:a1:cb brd ff:ff:ff:ff:ff:ff
    inet 192.168.199.104/24 brd 192.168.199.255 scope global dynamic eth0
       valid_lft 7191sec preferred_lft 7191sec
    inet6 fe80::ba27:ebff:fea7:a1cb/64 scope link
       valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether b8:27:eb:f2:f4:9e brd ff:ff:ff:ff:ff:ff

尝试修改并测试配置文件,只是缩进不同,出现两种报错:

root@ubuntu:/etc/netplan# vi 50-cloud-init.yaml
root@ubuntu:/etc/netplan# netplan try --debug
/etc/netplan/50-cloud-init.yaml:11:15: Error in network definition: expected mapping (check indentation)
        wifis:
              ^

An error occurred: the configuration could not be generated

Reverting.
Warning: Stopping systemd-networkd.service, but it can still be activated by:
  systemd-networkd.socket
root@ubuntu:/etc/netplan#
root@ubuntu:/etc/netplan# netplan try --debug
Error while loading /etc/netplan/50-cloud-init.yaml, aborting.

正确配置

root@ubuntu:/etc/netplan# cat 50-cloud-init.yaml
network:
    ethernets:
        eth0:
            dhcp4: true
            optional: true
    wifis:
        wlan0:
            dhcp4: true
            optional: true
            access-points:
                "Your wifi name":
                      password: "Your wifi password"

    version: 2
root@ubuntu:/etc/netplan# vi 50-cloud-init.yaml
root@ubuntu:/etc/netplan# netplan try --debug
Warning: Stopping systemd-networkd.service, but it can still be activated by:
  systemd-networkd.socket
Do you want to keep these settings?


Press ENTER before the timeout to accept the new configuration
//这里按回车接受新的配置

Changes will revert in 117 seconds
Configuration accepted.
root@ubuntu:/etc/netplan#

配置好之后

root@ubuntu:/etc/netplan# ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether b8:27:eb:a7:a1:cb brd ff:ff:ff:ff:ff:ff
    inet 192.168.199.104/24 brd 192.168.199.255 scope global dynamic eth0
       valid_lft 7175sec preferred_lft 7175sec
    inet6 fe80::ba27:ebff:fea7:a1cb/64 scope link
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether b8:27:eb:f2:f4:9e brd ff:ff:ff:ff:ff:ff
    inet 192.168.199.107/24 brd 192.168.199.255 scope global dynamic wlan0
       valid_lft 7176sec preferred_lft 7176sec
    inet6 fe80::ba27:ebff:fef2:f49e/64 scope link
       valid_lft forever preferred_lft forever
root@ubuntu:/etc/netplan#

扒拉一下netplan

root@ubuntu:~# which netplan
/usr/sbin/netplan
root@ubuntu:~# ll /usr/sbin/netplan
lrwxrwxrwx 1 root root 31 Jan  8 22:17 /usr/sbin/netplan -> ../share/netplan/netplan.script*
root@ubuntu:~# file /usr/share/netplan/netplan.script
/usr/share/netplan/netplan.script: Python script, ASCII text executable
root@ubuntu:~# netplan -h
usage: /usr/sbin/netplan  [-h] [--debug]  ...

Network configuration in YAML

optional arguments:
  -h, --help  show this help message and exit
  --debug     Enable debug messages

Available commands:

    help      Show this help message
    apply     Apply current netplan config to running system
    generate  Generate backend specific configuration files from /etc/netplan/*.yaml
    get       Get a setting by specifying a nested key like "ethernets.eth0.addresses", or "all"
    info      Show available features
    ip        Retrieve IP information from the system
    set       Add new setting by specifying a dotted key=value pair like ethernets.eth0.dhcp4=true
    try       Try to apply a new netplan config to running system, with automatic rollback
root@ubuntu:~#

总结:

  1. ubuntu20.04服务器版(仅命令行shell)的网络服务是systemd-networkd 。
  2. 配置文件是/etc/netplan/50-cloud-init.yaml 该文件遵循yaml语法,之前没有接触过,必须用空格缩进,不能用tab。
  3. 桌面版(图形界面),可能是用NetworkManager服务。
  4. netplan命令是一个python脚本。
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值