Я создал сервис, чтобы постоянно поддерживать мой vpn. Всякий раз, когда OpenVPN отключается по любой причине, сценарий перезапускается службой. Сначала сценарий разрешает адрес, предоставленный моим провайдером VPN, в набор IP-адресов, а затем соответствующим образом обновляет брандмауэр. После этого он инициирует VPN-соединение.
Когда я запускаю свой сервис таким образом, он работает нормально:
sudo systemctl start alwayson
Но он должен запускаться автоматически при запуске системы, но после запуска я получаю:
● alwayson.service - Always on VPN service
Loaded: loaded (/etc/systemd/system/alwayson.service; disabled; vendor preset
Active: inactive (dead)
после Выполнение команды:
systemctl status alwayson
Вот сценарии:
alwayson.service:
[Unit]
Description=Always on VPN service
After=ufw.service
[Service]
Type=idle
Restart=always
RestartSec=3
ExecStart=/bin/bash /home/user/VPN/alwayson-service/run.sh
[Install]
WantedBy=multi-user.target
run.sh:
echo "Updating FireWall.."
# Remove all rules
list="$(ufw status numbered | awk -F"[][]" '{print $2}' | tac)"
for item in $list
do
echo $item
ufw --force delete $item
done
# let all incoming traffic pass
ufw default deny incoming
# and block outgoing by default
ufw default deny outgoing
ufw allow out to 8.8.8.8
ufw allow in from 8.8.8.8
ufw allow out on tun0
ufw allow out 53
# Allow local IPv4 connections
ufw allow out to 10.0.0.0/8
ufw allow out to 172.16.0.0/12
ufw allow out to 192.168.0.0/24
ufw allow in from 192.168.0.0/24
# Allow IPv4 local multicasts
ufw allow out to 224.0.0.0/24
ufw allow out to 239.0.0.0/8
# Allow local IPv6 connections
ufw allow out to fe80::/64
# Allow IPv6 link-local multicasts
ufw allow out to ff01::/16
# Allow IPv6 site-local multicasts
ufw allow out to ff02::/16
ufw allow out to ff05::/16
# Update Rules for VPN
list="$(dig +short remote 4-1-gb.cg-dialup.net)"
for item in $list
do
echo $item
ufw allow out to $item
ufw allow in from $item
done
# Enable the firewall
ufw enable
openvpn --config /home/doctor/VPN/UK/openvpn.ovpn --script-security 2 --up /home/doctor/VPN/alwayson-service/up.sh --down /home/doctor/VPN/alwayson-service/down.sh --up-restart
Может кто-нибудь дать мне совет, как запустить его при запуске?
Необходимо позволить сервису для него работать при запуске. Выполненный:
sudo systemctl enable alwayson.service
Затем это должно работать автоматически после перезагрузки.