ubuntu server使用netplan配置多IP地址

开头先吐槽一下,netplan的配置文件用yaml语法,有点难受。

多IP地址配置通常有两种情况,一种是单网卡,另一种是多网卡。netplan的配置文件在/etc/netplan/目录下,默认有个00-installer-config.yaml配置文件。可以所有网卡都写在一个配置文件中,但我更推荐可以根据逻辑区分配置文件写。

一、单网卡多IP配置示例

网卡名字/IP地址/dns地址等根据实际情况修改。

network:
  version: 2
  ethernets:
    ens33:
      addresses:
      - "192.168.1.2/24"
      - "192.168.2.2/24"
      - "192.168.3.2/24"
      nameservers:
        addresses:
        - 8.8.8.8
        search: []
      routes:
      - to: "default"
        via: "192.168.1.1"

可以通过检查是否有语法错误:

netplan get

如果没有问题,可以通过try命令尝试应用,会有确认机制,超时没有确认会回退。

netplan try

如果想直接应用,不需要尝试,也可以直接应用

netplan apply

二、多网卡多IP地址配置示例

network:
  version: 2
  ethernets:
    ens33:
      addresses:
      - "192.168.1.2/24"
      nameservers:
        addresses:
        - 8.8.8.8
        search: []
      routes:
      - to: "default"
        via: "192.168.1.1"
    ens34:
      addresses:
      - "192.168.2.2/24"
    ens35:
      addresses:
      - "192.168.3.2/24"

需要注意的是,多网卡多IP地址属于不同的运营商的话,需要手动增加策略路由,否则如果地址会被运营商的原进原出规则限制无法被公网访问。

关于策略路由,可以借助iproute2工具

1、假设192.168.2.0/24是联通,192.168.3.0/24是移动。全局电信可访问,那么创建联通和移动的vrf

echo "100    cnc" >> /etc/iproute2/rt_tables
echo "200    cmcc" >> /etc/iproute2/rt_tables

2、添加vrf路由,并把ip加入到路由规则即可。

ip route add default via 192.168.2.1 table cnc
ip route add default via 192.168.3.1 table cmcc

ip rule add from 192.168.2.2 table cnc
ip rule add from 192.168.3.2 table cmcc

### 如何在Ubuntu Server配置静态或动态IP地址 #### 使用Netplan配置静态IP地址 对于现代版本的Ubuntu Server,推荐使用`netplan`工具来管理网络接口配置。这提供了更灵活和强大的方式来定义网络参数。 要设置静态IP地址,在终端执行命令打开配置文件: ```bash sudo nano /etc/netplan/00-installer-config.yaml ``` 编辑此YAML格式的文件以指定所需的网络设置[^4]。下面是一个典型的用于设定静态IPv4地址的例子: ```yaml network: version: 2 ethernets: ens33: # 这里应替换为实际网卡名称 dhcp4: no addresses: - 192.168.1.100/24 # 设置静态IP地址及其子网掩码长度 gateway4: 192.168.1.1 # 默认网关 nameservers: addresses: [8.8.8.8, 8.8.4.4] # DNS服务器列表 ``` 保存并关闭文件之后,应用新的网络配置: ```bash sudo netplan apply ``` #### 动态获取IP地址(DHCP) 如果希望让系统自动从DHCP服务器获得IP地址,则只需简单调整上述配置中的部分内容。具体来说就是将对应网口下的`dhcp4`属性设为`yes`: ```yaml network: version: 2 ethernets: ens33: dhcp4: yes ``` 同样地,完成修改后记得运行`sudo netplan apply`使改动生效。 需要注意的是,较旧版本的操作系统可能会采用不同的方法来进行此类操作,比如直接编辑`/etc/network/interfaces`或者通过其他手段处理DNS解析器配置等问题[^2]。但对于当前主流使用Ubuntu LTS版本而言,遵循以上基于`netplan`的方式是最优实践。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值