Ubuntu 22.04 Serverの初期設定

コンピューター

Ubuntu 22.04.01 Serverをコツコツいじっています。練習機に有線LANが一つしかないので、WIFIを使った環境も作りたいのですが結構面倒です。

Ubuntu 22.04.01 Serverインストール

公式からダウンロードしたISOファイルをRufusでUSBフラッシュに入れてインストールします。マウスコンピューターのマシンを利用しているので「F7」(マシンによる)を押しながら起動でUSBから起動します。

インストールはSSHを入れるくらいであとは特にいじらず。WIFIをセットアップしたいのですが、とりあえず有線LANを使うしかないのでケーブルをつないでおきます。WIFIアダプタは、ネット上に情報が多かったTP-LINKのArcher T2U Nanoを使用しました。

Ubuntu初期設定とWIFIインストール

WIFIは本来aptでインストールできるパッケージで大丈夫なはずだったようですが、現在のカーネルに対してはダメなようです。

Archer T2U Nano (rtl8812au) doesn't work with 5.17 kernel
When I roll back to kernel 5.16 it does works perfectly, anyone knows the solution? Theres a chance this will continue at new kernels? Should I freeze my system...
sudo apt update && sudo apt-get upgrade -y
sudo apt-get install dkms wireless-tools network-manager -y
git clone https://github.com/aircrack-ng/rtl8812au.git
cd rtl8812au
sudo make dkms_install
sudo shutdown -r now

再起動後に「iwconfig」(wireless-toolsインストール必要)や「nmcli」(network-managerインストール必要)をすると動作しているのが確認できます。

Detecting the name of a network device in bash?
I'm trying to drum up a hack that will output the name of active network devices on one's computer via bash. I'm making it for work. How do I go about doing thi...
$ iwconfig
lo        no wireless extensions.

eno1      no wireless extensions.

wlx2887ba39afda  unassociated  ESSID:""  Nickname:"<[email protected]>"
          Mode:Managed  Frequency=2.412 GHz  Access Point: Not-Associated
          Sensitivity:0/0
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=0/100  Signal level=0 dBm  Noise level=0 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
$ nmcli dev wifi
IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY
2E:00:00:00:00:00 -- Infra 1 270 Mbit/s 100 ▂▄▆█ WPA2
2E:00:00:00:00:00 ******* Infra 1 270 Mbit/s 100 ▂▄▆█ WPA2
36:00:00:00:00:00 ******* Infra 1 270 Mbit/s 100 ▂▄▆█ WPA2
36:00:00:00:00:00 -- Infra 1 270 Mbit/s 100 ▂▄▆█ WPA2
34:00:00:00:00:00 ASUS Infra 12 270 Mbit/s 100 ▂▄▆█ WPA2
3E:00:00:00:00:00 -- Infra 128 270 Mbit/s 97 ▂▄▆█ WPA2
3A:00:00:00:00:00 -- Infra 36 540 Mbit/s 95 ▂▄▆█ WPA2
3A:00:00:00:00:00 ******* Infra 36 540 Mbit/s 90 ▂▄▆█ WPA2
36:00:00:00:00:00 -- Infra 128 270 Mbit/s 87 ▂▄▆█ WPA2
32:00:00:00:00:00 -- Infra 36 540 Mbit/s 85 ▂▄▆█ WPA2
F8:00:00:00:00:00 aterm-******-g Infra 11 270 Mbit/s 84 ▂▄▆█ WPA2
32:00:00:00:00:00 ******* Infra 36 540 Mbit/s 82 ▂▄▆█ WPA2
34:00:00:00:00:00 ASUS Infra 44 270 Mbit/s 80 ▂▄▆_ WPA2
62:00:00:00:00:00 -- Infra 11 0 Mbit/s 67 ▂▄▆_ WEP
F8:00:00:00:00:00 aterm-*****70-a Infra 104 270 Mbit/s 59 ▂▄▆_ WPA2

$ nmcli device show
~~~~~~~~~~~~~~

さらに、/etc/netplanの99.yamlを編集します。

99.yamlはとりあえずこんな感じに。

$ cat /etc/netplan/99.yaml
network:
  ethernets:
    eno1:
      dhcp4: true
      optional: true
  wifis:
    wlx2887ba39afda:
      dhcp4: true
      dhcp6: true
      optional: true
      access-points:
        "SSID-name":
          password: "honyarara"
  bridges:
    breno:
      interfaces: [ eno1 ]
      optional: true
      dhcp4: true
  version: 2

WIFIの起動は「sudo nmcli r wifi on」でいけるはずなのですが、うまく行かないので「sudo shutdown -r now」で再起動します。

デスクトップ環境インストール

デスクトップ環境をインストールし、virt-managerを入れます。aptで、virt-managerの依存パッケージとしてKVM/QEMU環境もインストールされます。

sudo apt install -y ubuntu-desktop virt-manager

WIFIのブリッジ設定

仮想ゲストOS用にブリッジを設定したいのですが、UbuntuではWIFIに対してはブリッジ設定できないようです。Oracle VM Virtual Boxとかだとできるようなのですが、そもそもWIFIは仕組み上、複数のMAC・IPを持つことができないのが原則だそうで、Linuxカーネルでは基本無理っぽいです。

MACアドレスのルーティング?をいじるebtable、後継のnftableではできる可能性があるようですが、よくわからないのでパス。

代わりに、取り合えず以前うまく行かなくて困ったMacVtapを使うことにします。これは、

# virsh net-start default
# virsh net-autostart default

などのコマンドでオンにしてオートスタートしないと有効になりません。

微妙に違う部分もありますが、結構わかりやすい解説がありました。

systemd-networkdとNetManager

Ubuntuのデスクトップ版ではNetManagerが使われますが、Ubuntu Serverではsystemd-networkdでネットワーク管理されます。

virt-managerやubuntu-desktopをインストールしたサーバーでは、両方アクティブになっていました。

sudo systemctl status NetworkManager
sudo systemctl status systemd-networkd

オンオフするには、

#NetworkManager OFF
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager

#NetworkManager ON
sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager

#systemd-networkd OFF
sudo systemctl stop systemd-networkd
sudo systemctl disable systemd-networkd

#systemd-networkd ON
sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd

両方ともOFFにするとネットワークの自動構成が止まってしまうはずですが、この設定だけではOFFにできないようで

~$ sudo systemctl status systemd-networkd
● systemd-networkd.service - Network Configuration
     Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled-runtime; vendor preset: enabled)
     Active: active (running) since Sun 2022-09-11 06:52:56 UTC; 1min 2s ago
TriggeredBy: ● systemd-networkd.socket
       Docs: man:systemd-networkd.service(8)
   Main PID: 2320 (systemd-network)
     Status: "Processing requests..."
      Tasks: 1 (limit: 8989)
     Memory: 1.5M
        CPU: 51ms
     CGroup: /system.slice/systemd-networkd.service
             └─2320 /lib/systemd/systemd-networkd

Sep 11 06:52:56 tek2tech systemd-networkd[2320]: wlx2887ba39afda: Gained carrier
Sep 11 06:52:56 tek2tech systemd-networkd[2320]: eno1: Link UP
Sep 11 06:52:56 tek2tech systemd-networkd[2320]: lo: Link UP
Sep 11 06:52:56 tek2tech systemd-networkd[2320]: lo: Gained carrier
Sep 11 06:52:56 tek2tech systemd-networkd[2320]: wlx2887ba39afda: Gained IPv6LL
Sep 11 06:52:56 tek2tech systemd-networkd[2320]: Enumeration completed
Sep 11 06:52:56 tek2tech systemd[1]: Started Network Configuration.
Sep 11 06:52:56 tek2tech systemd-networkd[2320]: breno: netdev exists, using existing without changing its parameters
Sep 11 06:52:56 tek2tech systemd-networkd[2320]: wlx2887ba39afda: Connected WiFi access point: SSID-Name (00:00:00:00:00:>
Sep 11 06:52:56 tek2tech systemd-networkd[2320]: wlx2887ba39afda: DHCPv4 address 192.168.68.69/22 via 192.168.68.1

ソケットにトリガーされて動いていますと言われます。

$ networkctl
IDX LINK            TYPE     OPERATIONAL SETUP
  1 lo              loopback carrier     unmanaged
  2 eno1            ether    no-carrier  configuring
  3 wlx2887ba39afda wlan     routable    configured
  4 breno           bridge   no-carrier  configuring
  5 virbr0          bridge   no-carrier  unmanaged

5 links listed.

どちらが良いかですが、諸説あり訳が分かりません。(NetworkManagerはメモリリークのバグなどが結構あって避けられることも多いとか)

systemd-networkd

systemd-networkd入門

NetworkManager

インストールされている前提で、netplanのyamlファイルに

network:
    version: 2
    renderer: NetworkManager

を入れておくとnetplanの設定が切り替わります。

『【基礎】Network Managerについて(概要とコマンド制御)』
年末年始休暇がもうすぐ終わっちゃいますね(´・ω・`)(休暇関係なく働いてくださっている皆さま、本当にありがとうございます。) さて、2021年は毎週2回のブ…
NetworkManagerの使用方法 - Qiita
NetworkManagerの利用方法 Linuxサーバでネットワーク設定を管理するソフトウェア。 NetworkManagerを利用することで、ファイルの編集等することなくコマンドベースでネットワークを一元管理することができる...

コマンドが多いのは使いやすいのかというとファイル追記のほうが、追えて再現しやすい分楽なのではないかと思ってしまいます。ただ、systemd-networkdだと細かい設定方法が良くわからない一方、NetworkManagerだとGUIでメニュー表示されるのでとても楽です。

とりあえず、認証方法をいじる予定なので、先のことを考えてNetworkManagerにします。なぜか、起動に時間がかかるようになってしまいましたが、少しだし気にしないことにします。

USB-NIC追加

ブリッジではないMacVtapだと仮想OSへのアクセスが簡単にいかないので、諦めてUSBの有線NICを足すことにしました。

$ sudo lshw -class network

*-network:1 DISABLED
     description: Ethernet interface
     physical id: 6
     bus info: [email protected]:9
     logical name: enx04ab18ed1810
     serial: 04:ab:18:ed:18:10
     size: 10Mbit/s
     capacity: 1Gbit/s
     capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
     configuration: autonegotiation=off broadcast=yes driver=ax88179_178a driverversion=5.15.0-47-generic duplex=half li
 *-network:2 DISABLED
description: Ethernet interface
physical id: 7
bus info: [email protected]:1
logical name: enx7cc2c64254f2
serial: 7c:c2:c6:42:54:f2
size: 10Mbit/s
capacity: 1Gbit/s
capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=off broadcast=yes driver=ax88179_178a driverversion=5.15.0-47-generic duplex=half link=no multicast=yes port=MII speed=10Mbit/s

$ lsusb
Bus 002 Device 002: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 001 Device 005: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet
Bus 001 Device 002: ID 2357:011e TP-Link AC600 wireless Realtek RTL8811AU [Archer T2U Nano]

認識されて使用できるようになりました。(インストール画面でも認識されてアクティブになっていました。)

virsh net-destroy defaultでMacVtapのバーチャルブリッジを消しておきます。

コメント

タイトルとURLをコピーしました