3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
前言 以前 Ubuntu 修改網路卡設定時大部分都是透過修改 /etc/network/interfaces 後執行 ifdownup 即可,Ubuntu 自 17.10 版後將預設的網路卡管理工具變更為 Netplan,設定檔內容採用 YAML 格式進行設定,風格上其實並沒有差太多,轉換過程中沒有什麼太大的問題,如果需要開發自動化管理系統,有 Netplan 的話應該是可以省下一些時間,Netplan 的導入個人是樂見其成。 系統升級後設定檔遺失 今天在工作時將一台 Ubuntu Server 從 16.04 升級到 18.04 後發現無法連線,估計是升級時不小心全部覆蓋,而系統升級後將舊的網路卡管理套件直接幹掉並切換到 Netplan,記得先前升級其他台 server 時系統會保留舊的設定,並不會自動切換過去,其實也還好就重新設定,但是系統有把 /etc/netplan 建好了,但是並沒有出現預設的 50-cloud-init.yaml 設定檔。 解決方式 把關鍵字餵狗後竟然找不到相關的文章(教學倒是一堆),除了照著網路上的範例設定照著 key 之外,還有一個方法可以嘗試。大部分套件在安裝時一定會有說明文件一同安裝進系統,透過 dpkg -L {套件名稱} 可以列出與套件有關的所有目錄與檔案路徑。 dpkg -L netplan.io /. /etc /etc/netplan /lib /lib/netplan /lib/netplan/generate /lib/systemd /lib/systemd/system /lib/systemd/system/netplan-wpa@.service /lib/systemd/system-generators /usr /usr/sbin /usr/share /usr/share/bash-completion /usr/share/bash-completion/completions /usr/share/bash-completion/completions/netplan /usr/share/doc /usr/share/doc/netplan.io /usr/share/doc/netplan.io/changelog.gz /usr/share/doc/netplan.io/copyright /usr/share/doc/netplan.io/examples /usr/share/doc/netplan.io/examples/bonding.yaml /usr/share/doc/netplan.io/examples/bonding_router.yaml /usr/share/doc/netplan.io/examples/bridge.yaml /usr/share/doc/netplan.io/examples/bridge_vlan.yaml /usr/share/doc/netplan.io/examples/dhcp.yaml /usr/share/doc/netplan.io/examples/direct_connect_gateway.yaml /usr/share/doc/netplan.io/examples/loopback_interface.yaml /usr/share/doc/netplan.io/examples/network_manager.yaml /usr/share/doc/netplan.io/examples/source_routing.yaml /usr/share/doc/netplan.io/examples/static.yaml /usr/share/doc/netplan.io/examples/static_multiaddress.yaml /usr/share/doc/netplan.io/examples/static_singlenic_multiip_multigateway.yaml /usr/share/doc/netplan.io/examples/vlan.yaml /usr/share/doc/netplan.io/examples/windows_dhcp_server.yaml /usr/share/doc/netplan.io/examples/wireless.yaml /usr/share/doc/netplan.io/netplan.html /usr/share/man /usr/share/man/man5 /usr/share/man/man5/netplan.5.gz /usr/share/man/man8 /usr/share/man/man8/netplan-apply.8.gz /usr/share/man/man8/netplan-generate.8.gz /usr/share/man/man8/netplan-try.8.gz /usr/share/netplan /usr/share/netplan/netplan /usr/share/netplan/netplan/__init__.py /usr/share/netplan/netplan/cli /usr/share/netplan/netplan/cli/__init__.py /usr/share/netplan/netplan/cli/commands /usr/share/netplan/netplan/cli/commands/__init__.py /usr/share/netplan/netplan/cli/commands/apply.py /usr/share/netplan/netplan/cli/commands/generate.py /usr/share/netplan/netplan/cli/commands/ip.py /usr/share/netplan/netplan/cli/commands/migrate.py /usr/share/netplan/netplan/cli/commands/try_command.py /usr/share/netplan/netplan/cli/core.py /usr/share/netplan/netplan/cli/utils.py /usr/share/netplan/netplan/configmanager.py /usr/share/netplan/netplan/terminal.py /usr/share/netplan/netplan.script /lib/systemd/system-generators/netplan /usr/sbin/netplan 可以看到在 /usr/share/doc/netplan.io/examples/ 下有範例設定檔,直接 copy 一份比較符合需求的設定檔到 /etc/netplan 並修改即可。 sudo cp /usr/share/doc/netplan.io/examples/static.yaml /etc/netplan/50-cloud-init.yaml 記得先查詢你的網路卡介面名稱,然後修改範例設定檔中的網路卡名稱。查詢方式有三種 ip a 1: lo: 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: ens160: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:16:d4:1b brd ff:ff:ff:ff:ff:ff networkctl IDX LINK TYPE OPERATIONAL SETUP 1 lo loopback n/a unmanaged 2 ens160 ether n/a unmanaged ifconfig -a 最廣為人知的指令,如果是舊系統升級應該都還可以使用,但如果是全新安裝的 Ubuntu 18 預設是沒有自帶的,這點需要注意。 ens160: flags=4098 mtu 1500 ether 00:0c:29:16:d4:1b 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: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 416 bytes 26296 (26.2 KB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 416 bytes 26296 (26.2 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 改完後大概像這樣 network: version: 2 renderer: networkd ethernets: ens160: addresses: - 192.168.2.160/24 gateway4: 192.168.2.1 nameservers: addresses: [1.1.1.1, 8.8.8.8] 最後執行 sudo netplan apply 套用即可。

本文由caloskaoorg提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦