Kill Switch 기능이 활성화된 NordVPN을 사용하고 있습니다.
컴퓨터가 정상적으로 종료되지 않으면 파일은 /etc/resolv.conf
변경할 수 없게 되며 이후에 이름을 확인하려는 모든 시도는 실패하게 됩니다.
때로는 비정상적인 종료가 없더라도 실행 시 다음이 ping
표시 root
되는 경우가 있습니다.
ping: sendmsg: 작업이 허용되지 않습니다
킬 스위치를 사용하고 중단 없이 연결하는 방법은 무엇입니까?
답변1
nordvpnd
서비스를 다시 시작하면 연결 문제를 해결할 수 있습니다.
이를 자동화하는 방법은 다음과 같습니다.
만들다 /etc/systemd/system/nordvpnd-restart-after-network-online.service
:
# Prevent immutable /etc/resolv.conf
# https://forum.manjaro.org/t/internet-blocked-by-nordvpn-killswitch/108413
# https://bbs.archlinux.org/viewtopic.php?id=246004
# If using NetworkManager, requires NetworkManager-wait-online.service to be started
# https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/
[Unit]
Description=restart nordvpnd after network online
After=NetworkManager-wait-online.service
# Uncomment if using networkd, and comment previous line
; Before=systemd-networkd-wait-online.service
[Service]
Type=oneshot
ExecStart=/usr/bin/systemctl restart nordvpnd
[Install]
WantedBy=NetworkManager-wait-online.service
# Uncomment if using networkd, and comment previous line
; WantedBy=systemd-networkd-wait-online.service
두 가지 필수 서비스를 활성화합니다.
sudo systemctl daemon-reload
sudo systemctl enable NetworkManager-wait-online.service nordvpnd-restart-after-network-online.service
이제 서비스가 NetworkManager
온라인 상태가 되는 즉시 자동으로 다시 시작됩니다.nordvpnd
답변2
이것톰 헤일의 솔루션데몬을 사용하는 것이 나에게 적합하지 않습니다 nordvpnd
. (그런데 옵션이 없는 것 같아서 NetworkManager에서 킬 스위치를 사용하는 방법을 모르겠습니다.)
내가 한 일은 다음 스크립트를 추가한 것입니다 /usr/lib/pm-utils/sleep.d/99restart_nordvpnd.sh
.
#!/bin/sh
case "$1" in
resume)
/usr/bin/systemctl restart nordvpnd
;;
esac
실행 가능하게 만든 후 컴퓨터가 일시 중지 상태에서 다시 시작되면 nordvpn 데몬이 자동으로 다시 시작됩니다.
이것이 작동하지 않으면 약간 다른 스크립트를 시도해 볼 수 있습니다.
#!/bin/sh
case "$1" in
pre)
echo "$(date): $1" >> /tmp/nordvpn/suspend.txt
/usr/bin/systemctl restart nordvpnd
;;
post)
echo "$(date): $1" >> /tmp/nordvpn/suspend.txt
;;
esac
("echo" 줄은 완전히 선택 사항입니다. 디버깅에 사용합니다.)
파일은 다른 위치에 있어야 합니다.
/lib/systemd/system-sleep/
답변3
나는 이 문제를 겪었고 나에게 도움이 된 유일한 방법은 킬 스위치를 비활성화하는 것뿐이었습니다.
컴퓨터가 절전 모드로 전환되면 VPN에 연결되어 있지 않기 때문에 연결이 끊어지고 킬 스위치가 모든 연결을 거부합니다. 킬 스위치를 비활성화하지 않으면 다시 연결할 수 없습니다.
유일한 해결책은 킬 스위치를 일시적으로 비활성화하여 연결을 다시 설정한 다음 킬 스위치를 다시 활성화하는 것 같습니다.