vagrant ubuntu 18.04 static ip

运行环境: 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

References

posted @ 2020-09-13 23:01  五毛钱的饼  阅读(402)  评论(0编辑  收藏  举报