1
0
mirror of synced 2024-11-23 21:36:09 +03:00

Compare commits

...

2 Commits

Author SHA1 Message Date
hwdsl2
cd9fddaa0d Update Azure template
- Add Ubuntu 22.04 and set as default
2022-05-03 22:28:04 -05:00
hwdsl2
3937eddebc Fix xl2tpd on Ubuntu 22.04
- Fix xl2tpd on Ubuntu 22.04 by installing a newer version.
  Before this fix, IPsec/L2TP mode may not work on Ubuntu 22.04
  with errors like "Can not find tunnel".
  Ref: https://bugs.launchpad.net/ubuntu/+source/xl2tpd/+bug/1951832
2022-05-03 22:27:15 -05:00
4 changed files with 40 additions and 6 deletions

View File

@ -9,7 +9,7 @@
- Username for VPN **and** SSH (用户名)
- Password for VPN **and** SSH (密码)
- IPsec Pre-Shared Key for VPN IPsec 预共享密钥)
- Operating System Image 操作系统镜像Ubuntu 20.04/18.04 或 Debian 9
- Operating System Image 操作系统镜像Ubuntu 22.04/20.04/18.04 或 Debian 9
- Virtual Machine Size (虚拟机大小,默认值: Standard_B1s
**注:** \*不要\* 在值中使用这些字符: `\ " '`
@ -29,4 +29,10 @@
## 屏幕截图
<details>
<summary>
单击查看屏幕截图。
</summary>
![Azure Custom Deployment](custom_deployment_screenshot.png)
</details>

View File

@ -9,7 +9,7 @@ Customizable with the following options:
- Username for VPN **and** SSH
- Password for VPN **and** SSH
- IPsec Pre-Shared Key for VPN
- Operating System Image (Ubuntu 20.04/18.04 or Debian 9)
- Operating System Image (Ubuntu 22.04/20.04/18.04 or Debian 9)
- Virtual Machine Size (Default: Standard_B1s)
**Note:** DO NOT use these special characters within values: `\ " '`
@ -29,4 +29,10 @@ Copyright (C) 2017-2022 [Lin Song](https://github.com/hwdsl2)
## Screenshot
<details>
<summary>
Click to see screenshot.
</summary>
![Azure Custom Deployment](custom_deployment_screenshot.png)
</details>

View File

@ -24,13 +24,14 @@
"image": {
"type": "string",
"allowedValues": [
"ubuntu22.04",
"ubuntu20.04",
"ubuntu18.04",
"debian9"
],
"defaultValue": "ubuntu20.04",
"defaultValue": "ubuntu22.04",
"metadata": {
"description": "OS to use. Ubuntu 20.04/18.04 or Debian 9."
"description": "OS to use. Ubuntu 22.04/20.04/18.04 or Debian 9."
}
},
"VMSize": {
@ -61,6 +62,12 @@
"vhdStorageType": "Standard_LRS",
"vnetId": "[resourceId('Microsoft.Network/virtualNetworks', variables('virtualNetworkName'))]",
"SubnetRef": "[concat(variables('vnetId'), '/subnets/', variables('subnetName'))]",
"ubuntu22.04": {
"publisher": "Canonical",
"offer": "0001-com-ubuntu-server-jammy",
"sku": "22_04-lts",
"version": "latest"
},
"ubuntu20.04": {
"publisher": "Canonical",
"offer": "0001-com-ubuntu-server-focal",
@ -179,7 +186,7 @@
"osDisk": {
"name": "osdisk",
"vhd": {
"uri": "[concat(reference(resourceId('Microsoft.Storage/storageAccounts/', variables('storageName'))).primaryEndpoints.blob, 'vmachines/', variables('vmName'), '.vhd')]"
"uri": "[concat(reference(resourceId('Microsoft.Storage/storageAccounts/', variables('storageName'))).primaryEndpoints.blob, 'vmachines/', variables('vmName'), '.vhd')]"
},
"caching": "ReadWrite",
"createOption": "FromImage"
@ -192,7 +199,7 @@
}
]
}
}
}
},
{
"type": "Microsoft.Compute/virtualMachines/extensions",

View File

@ -80,6 +80,7 @@ check_os() {
exiterr "This script only supports Ubuntu and Debian."
;;
esac
os_arch=$(uname -m | tr -dc 'A-Za-z0-9_-')
os_ver=$(sed 's/\..*//' /etc/debian_version | tr -dc 'A-Za-z0-9')
if [ "$os_ver" = "8" ] || [ "$os_ver" = "jessiesid" ]; then
exiterr "Debian 8 or Ubuntu < 16.04 is not supported."
@ -535,6 +536,19 @@ apply_gcp_mtu_fix() {
fi
}
apply_xl2tpd_fix() {
if [ "$os_type" = "ubuntu" ] && [ "$os_ver" = "bookwormsid" ] && [ "$os_arch" = "x86_64" ]; then
xl2tpd_url="https://mirrors.kernel.org/ubuntu/pool/universe/x/xl2tpd"
deb_file="xl2tpd_1.3.16-1ubuntu0.1_amd64.deb"
cd /opt/src || exit 1
if wget -t 3 -T 30 -q -O "$deb_file" "$xl2tpd_url/$deb_file"; then
bigecho "Applying fix for xl2tpd..."
apt-get -yqq install "./$deb_file" >/dev/null
fi
/bin/rm -f "$deb_file"
fi
}
enable_on_boot() {
bigecho "Enabling services on boot..."
IPT_PST=/etc/init.d/iptables-persistent
@ -687,6 +701,7 @@ vpnsetup() {
create_vpn_config
update_sysctl
update_iptables
apply_xl2tpd_fix
apply_gcp_mtu_fix
enable_on_boot
start_services