网络配置现状

目前环境ipip隧道、路由、iptables规则都没有进行持久化。重启服务器后都会丢失,届时没有参考,恢复起来工作量较大

iptables持久化

apt install iptables-persistent
软件安装后开机自启动,保存的iptables规则存放在/etc/iptables/rules.v4
规则配置后需要保存 netfilter-persistent save

ipip隧道和路由持久化

方法1

依靠rc.local文件实现,将命令放置在/etc/rc.local中,腾讯云服务器默认是将rc.local交给systemd管理的,开机自启动。可通过systemctl is-enabled netfilter-persistent.service查看
参考当前route -n写出命令,将route命令放在/etc/rc.local

方法2

此方法都是编辑网卡文件,在18版本前,ubuntu都是修改/etc/network/interfaces。之后的版本基本都在用netplan修改网卡信息
interfaces通过ifup/ifdown来控制网卡启动让其配置生效,netplan则是通过netplan apply来应用网卡的配置
netplan基础用法

netplan try netplan 会尝试将新的配置应用到运行的系统上。如果新的配置失败了,Netplan 会自动地恢复到之前使用的配置。成功后,新的配置就会被使用
netplan get 查看netplan配置文件,get后面也可以跟键值信息tunnels.x16
netplan info 查看可用功能

下面列出持久化配置
配置使用netplan applynetplan try都可以

cat /etc/netplan/50-cloud-init.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      addresses:
        - 172.29.0.29/24
      gateway4: 172.29.0.1
      nameservers:
          addresses:
          - 172.16.0.16
    eth1:
      addresses:
        - 172.29.0.30/24
      gateway4: 172.29.0.1
      nameservers:
          addresses:
          - 172.16.0.16
  tunnels:
    x16:
      mode: ipip
      addresses:
        - 192.168.172.29/24
      local: 172.29.0.29
      remote: 172.16.0.16
      routes:
        - to: 10.0.0.0/8
          via : 192.168.172.29
        - to: 172.28.0.0/16
          via : 192.168.172.29

netplan的一些配置样例可以参考,https://netplan.io/examples/

配置过程中遇到的一些问题:
a.辅助网卡不要添加和eth0相同的网关
b.An error occurred: 'NetplanApply' object has no attribute 'state'在netplan try的时候会有此报错,可以忽略或执行netplan try --state /etc/netplan

最终采用更加规范化的netplan方式实现