運行環境: vagrant + virtualbox + ubuntu 18.04 cloud image box
Vagrant 網絡配置是: public_work
通過 ip addr
命令查看 ip信息,
vagrant@ubuntu-bionic:/etc/netplan$ ip addr
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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 02:d0:42:45:d9:44 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
valid_lft 86091sec preferred_lft 86091sec
inet6 fe80::d0:42ff:fe45:d944/64 scope link
valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:0f:82:1b brd ff:ff:ff:ff:ff:ff
inet 192.168.2.241/24 brd 192.168.2.255 scope global dynamic enp0s8
valid_lft 3291sec preferred_lft 3291sec
inet6 fe80::a00:27ff:fe0f:821b/64 scope link
valid_lft forever preferred_lft forever
4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:af:13:65:59 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:afff:fe13:6559/64 scope link
valid_lft forever preferred_lft forever
從上面的輸出結果,我的是enp0s8
,需要修改它
使用netplan 進行配置靜態ip
vagrant@ubuntu-bionic:/etc/network$ cd /etc/netplan/
vagrant@ubuntu-bionic:/etc/netplan$ ls
50-cloud-init.yaml 50-vagrant.yaml
先查看 50-cloud-init.yaml
文件內容,文件內容如下
vagrant@ubuntu-bionic:/etc/netplan$ cat 50-cloud-init.yaml
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
enp0s3:
dhcp4: yes
match:
macaddress: 02:d0:42:45:d9:44
set-name: enp0s3
version: 2
以太網的key 是enp0s3
,不是需要改動的,然後查看50-vagrant.yaml
文件
內容如下:
---
network:
version: 2
renderer: networkd
ethernets:
enp0s8:
dhcp4: true
是DHCP,按照網上的教程進行修改爲靜態ip
在 ~
目錄下創建一個50-vagrant.yaml
同名的文件,文件內容如下
---
network:
version: 2
renderer: networkd
ethernets:
enp0s8:
dhcp4: false
addresses:
- 192.168.1.138/24 # ipv4地址
gateway4: 192.168.1.1 #網關
#nameservers: # DNS配置
# addresses: [223.5.5.5,223.6.6.6]
無論是ifupdown還是netplan,配置的思路都是一致的,在配置文件裏面按照規則填入IP、掩碼、網關、DNS等信息。
注意yaml是層次結構,可以通過網絡搜索yaml
進行學習和了解yaml
文檔的編寫
重啓網絡服務使配置生效:
cd ~
# 將 home 目錄下的 50-vagrant.yaml配置文件覆蓋/etc/netplan/50-vagrant.yaml配置文件
sudo cp 50-vagrant.yaml /etc/netplan
# 應用netplan的修改
sudo netplan apply
vagrant public_work的ip地址還是DHCP的地址,每天啓動或重啓之後需要重新跑一次上面的命令,應用自定義的50-vagrant.yaml
的配置內容
查看 cat /etc/network/interfaces
文件
# ifupdown has been replaced by netplan(5) on this system. See
# /etc/netplan for current configuration.
# To re-enable ifupdown on this system, you can run:
# sudo apt install ifupdown