2023.08.09

This commit is contained in:
spiritlhl 2023-08-09 14:32:23 +00:00
parent ac70dc9c3d
commit 0dafe12f69
8 changed files with 42 additions and 18 deletions

View file

@ -1,5 +1,12 @@
# 更新日志
2023.08.04
- 开设独立IPV4地址的虚拟机时尝试增加自动附加IPV6地址的功能
- 增加一键开设纯IPV6虚拟机、纯IPV6容器的脚本
- 修复可能的dns-nameservers存在多行导致网络异常的问题
- 特殊处理没有ifupdown的宿主机
2023.08.03
- 尝试增加了IPV6的支持暂时只是支持了IPV6网关的设置暂时未适配一键开设明日适配

View file

@ -13,12 +13,10 @@
## 更新
2023.08.04
2023.08.09
- 开设独立IPV4地址的虚拟机时尝试增加自动附加IPV6地址的功能
- 增加一键开设纯IPV6虚拟机、纯IPV6容器的脚本
- 修复可能的dns-nameservers存在多行导致网络异常的问题
- 特殊处理没有ifupdown的宿主机
- 判断是否有IPV6网络如果没有则宿主机就不添加对应的V6的DNS
- 判断是否有IPV6网络如果没有则开设的虚拟机和容器就不添加对应的V6的DNS
[更新日志](CHANGELOG.md)

View file

@ -4,12 +4,17 @@
DNS_SERVER="8.8.8.8"
RESOLV_CONF="/etc/resolv.conf"
ipv6_address=$(cat /usr/local/bin/pve_check_ipv6)
ipv6_prefixlen=$(cat /usr/local/bin/pve_ipv6_prefixlen)
ipv6_gateway=$(cat /usr/local/bin/pve_ipv6_gateway)
grep -q "^nameserver ${DNS_SERVER}$" ${RESOLV_CONF}
if [ $? -eq 0 ]; then
echo "DNS server ${DNS_SERVER} already exists in ${RESOLV_CONF}."
else
echo "Adding DNS server ${DNS_SERVER} to ${RESOLV_CONF}..."
echo -e "nameserver 1.1.1.1\nnameserver 8.8.8.8\nnameserver 8.8.4.4\nnameserver 2606:4700:4700::1111\nnameserver 2001:4860:4860::8888\nnameserver 2001:4860:4860::8844" >> ${RESOLV_CONF}
if [ -z "$ipv6_address" ] || [ -z "$ipv6_prefixlen" ] || [ -z "$ipv6_gateway" ]; then
echo -e "nameserver 8.8.8.8\nnameserver 8.8.4.4\n" >> ${RESOLV_CONF}
else
echo -e "nameserver 8.8.8.8\nnameserver 8.8.4.4\nnameserver 2606:4700:4700::1111\nnameserver 2001:4860:4860::8888\nnameserver 2001:4860:4860::8844" >> ${RESOLV_CONF}
fi
fi

View file

@ -228,10 +228,11 @@ pct start $CTID
pct set $CTID --hostname $CTID
if [ -z "$ipv6_address" ] || [ -z "$ipv6_prefixlen" ] || [ -z "$ipv6_gateway" ] || [ "$ipv6_prefixlen" -gt 112 ]; then
pct set $CTID --net0 name=eth0,ip=${user_ip}/24,bridge=vmbr1,gw=172.16.1.1
pct set $CTID --nameserver 8.8.8.8 --nameserver 8.8.4.4
else
pct set $CTID --net0 name=eth0,ip=${user_ip}/24,bridge=vmbr1,gw=172.16.1.1,ip6=${ipv6_address}/${ipv6_prefixlen},gw6=${ipv6_gateway}
pct set $CTID --nameserver 8.8.8.8,2001:4860:4860::8888 --nameserver 8.8.4.4,2001:4860:4860::8844
fi
pct set $CTID --nameserver 8.8.8.8,2001:4860:4860::8888 --nameserver 8.8.4.4,2001:4860:4860::8844
sleep 3
if echo "$system" | grep -qiE "centos|almalinux|rockylinux"; then
pct exec $CTID -- yum update -y

View file

@ -245,14 +245,16 @@ qm set $vm_num --boot order=scsi0
qm set $vm_num --memory $memory
# --swap 256
qm set $vm_num --ide2 ${storage}:cloudinit
qm set $vm_num --nameserver 8.8.8.8,2001:4860:4860::8888
qm set $vm_num --searchdomain 8.8.4.4,2001:4860:4860::8844
user_ip="172.16.1.${num}"
qm set $vm_num --ipconfig0 ip=${user_ip}/24,gw=172.16.1.1
if [ -z "$ipv6_address" ] || [ -z "$ipv6_prefixlen" ] || [ -z "$ipv6_gateway" ] || [ "$ipv6_prefixlen" -gt 112 ]; then
qm set $vm_num --ipconfig0 ip=${user_ip}/24,gw=172.16.1.1
qm set $vm_num --nameserver 8.8.8.8
qm set $vm_num --searchdomain 8.8.4.4
else
qm set $vm_num --ipconfig0 ip=${user_ip}/24,gw=172.16.1.1,ip6=${ipv6_address}/${ipv6_prefixlen},gw6=${ipv6_gateway}
qm set $vm_num --nameserver 8.8.8.8,2001:4860:4860::8888
qm set $vm_num --searchdomain 8.8.4.4,2001:4860:4860::8844
fi
qm set $vm_num --cipassword $password --ciuser $user
sleep 5

View file

@ -290,12 +290,14 @@ qm set $vm_num --boot order=scsi0
qm set $vm_num --memory $memory
# --swap 256
qm set $vm_num --ide2 ${storage}:cloudinit
qm set $vm_num --nameserver 8.8.8.8,2001:4860:4860::8888
qm set $vm_num --searchdomain 8.8.4.4,2001:4860:4860::8844
if [ -z "$ipv6_address" ] || [ -z "$ipv6_prefixlen" ] || [ -z "$ipv6_gateway" ] || [ "$ipv6_prefixlen" -gt 112 ] || [ "$open_ipv6" = "N" ]; then
qm set $vm_num --ipconfig0 ip=${user_ip}/${user_ip_range},gw=${gateway}
qm set $vm_num --nameserver 8.8.8.8
qm set $vm_num --searchdomain 8.8.4.4
else
qm set $vm_num --ipconfig0 ip=${user_ip}/${user_ip_range},gw=${gateway},ip6=${ipv6_address}/${ipv6_prefixlen},gw6=${ipv6_gateway}
qm set $vm_num --nameserver 8.8.8.8,2001:4860:4860::8888
qm set $vm_num --searchdomain 8.8.4.4,2001:4860:4860::8844
fi
qm set $vm_num --cipassword $password --ciuser $user
sleep 5

View file

@ -295,12 +295,14 @@ qm set $vm_num --boot order=scsi0
qm set $vm_num --memory $memory
# --swap 256
qm set $vm_num --ide2 ${storage}:cloudinit
qm set $vm_num --nameserver 8.8.8.8,2001:4860:4860::8888
qm set $vm_num --searchdomain 8.8.4.4,2001:4860:4860::8844
if [ -z "$ipv6_address" ] || [ -z "$ipv6_prefixlen" ] || [ -z "$ipv6_gateway" ] || [ "$ipv6_prefixlen" -gt 112 ] || [ "$open_ipv6" = "N" ]; then
qm set $vm_num --ipconfig0 ip=${user_ip}/${user_ip_range},gw=${gateway}
qm set $vm_num --nameserver 8.8.8.8
qm set $vm_num --searchdomain 8.8.4.4
else
qm set $vm_num --ipconfig0 ip=${user_ip}/${user_ip_range},gw=${gateway},ip6=${ipv6_address}/${ipv6_prefixlen},gw6=${ipv6_gateway}
qm set $vm_num --nameserver 8.8.8.8,2001:4860:4860::8888
qm set $vm_num --searchdomain 8.8.4.4,2001:4860:4860::8844
fi
qm set $vm_num --cipassword $password --ciuser $user
sleep 5

View file

@ -1,7 +1,7 @@
#!/bin/bash
# from
# https://github.com/spiritLHLS/pve
# 2023.08.04
# 2023.08.09
########## 预设部分输出和部分中间变量
@ -1229,10 +1229,17 @@ if [ ! -s "/etc/resolv.conf" ]
then
cp /etc/resolv.conf /etc/resolv.conf.bak
if [[ "${CN}" == true ]]; then
if [ -z "$ipv6_address" ] || [ -z "$ipv6_prefixlen" ] || [ -z "$ipv6_gateway" ]; then
echo -e "nameserver 8.8.8.8\nnameserver 223.5.5.5\n" > /etc/resolv.conf
else
echo -e "nameserver 8.8.8.8\nnameserver 223.5.5.5\nnameserver 2001:4860:4860::8888\nnameserver 2001:4860:4860::8844" > /etc/resolv.conf
else
if [ -z "$ipv6_address" ] || [ -z "$ipv6_prefixlen" ] || [ -z "$ipv6_gateway" ]; then
echo -e "nameserver 8.8.8.8\nnameserver 8.8.4.4\n" > /etc/resolv.conf
else
echo -e "nameserver 8.8.8.8\nnameserver 8.8.4.4\nnameserver 2001:4860:4860::8888\nnameserver 2001:4860:4860::8844" > /etc/resolv.conf
fi
fi
fi
# 清除防火墙