如何使用 debian preseed.cfg 配置多个 IP 地址

如何使用 debian preseed.cfg 配置多个 IP 地址

如何获取网络接口名称并使用它,同时使用 preseed 命令向文件 /etc/network/interface 添加新的 IP 配置行?

d-i preseed/late_command string \
  in-target sed -i "s/^#Port 22\$/Port 39000/g" /etc/ssh/sshd_config; \
  in-target sed -i "s/^#PermitRootLogin.*\$/PermitRootLogin yes/g" /etc/ssh/sshd_config; \
  in-target systemctl restart sshd.service; \
  in-target var=$(ip -o link show | awk -F': ' '{print $2}' | tail -n 1); \
  in-target sed -i "/dns-search unassigned-domain/c\iface $var:1 inet static\naddress 192.168.1.40\nnetmask 255.255.255.0\ngateway 192.168.1.1\ndns-nameservers 8.8.8.8 8.8.4.4\ndns-search unassigned-domain" /etc/network/interfaces; \
  in-target systemctl restart networking; \
  in-target ifup $var && ifup $var:1; \
true

根据我在 preseed.cfg 中的配置,可以修改 /etc/ssh/sshd_config,新行也添加到 /etc/network/interfaces 中,但是命令,

in-target var=$(ip -o link show | awk -F': ' '{print $2}' | tail -n 1); \

不起作用,输出应该是 iface [interface name] inet static,但是只有 iface inet static 没有接口名称。

请帮忙。

相关内容