Gnome과 함께 Ubuntu 13.04를 사용하고 있으며 최근에 (열린) VPN을 설정했습니다. 기본적으로 활성화 할 수있는 방법이 있습니까? 부팅하거나 연결이 끊길 때마다 VPN을 수동으로 활성화해야합니다. 누락 된 옵션이 있습니까?
답변
Network Manager 표시기 nm-applet (기본적으로 설치된 그놈 또는 Unity 네트워크 트레이 애플릿)을 통해 네트워크가 연결될 때 VPN에 자동으로 연결되도록 NetworkManager를 구성 할 수 있습니다.
- 네트워크 트레이 애플릿을 클릭하고 “연결 편집 …”을 클릭하거나을 실행하십시오
nm-connection-editor
. - 네트워크 연결을 선택하고 “편집 …”을 클릭하십시오.
- “이 연결을 사용할 때 VPN에 자동으로 연결”을 선택하고 드롭 다운 목록에서 원하는 VPN을 선택하십시오.
- 저장하기.
이 기능을 활성화하면 NetworkManager 에 “자동으로이 네트워크에 연결”기능을 손상시킬 수 있는 버그 가 있습니다. ( 편집 :이 버그는 이제 Ubuntu 16.04에서 “수정 된 릴리스”로 표시되었습니다). NetworkManager가 자동으로 연결을 시도하고 실패하면 다음과 같은 행이 표시됩니다 /var/log/syslog
.
<error> [1401130450.367538] [nm-vpn-connection.c:1374] get_secrets_cb(): Failed to request VPN secrets #2: (6) No agents were available for this request.
NetworkManager가에서 사용자의 VPN 비밀번호를 얻지 못하는 것 같습니다 gnome-keyring-daemon
. 한 가지 해결 방법은 NetworkManager가의 구성 파일에 비밀번호를 일반 텍스트로 저장하도록하는 것입니다 /etc/NetworkManager/system-connections/
. 이것을하기 위해:
- 터미널을 엽니 다.
sudoedit /etc/NetworkManager/system-connections/<VPN>
, 여기서<VPN>
VPN의 구성 파일 (파일 이름은 일반적으로 VPN에 할당 한 이름)입니다.- 줄
password-flags=1
을 다음으로 변경하십시오.password-flags=0
- 저장 및 종료.
이제 NetworkManager가 VPN 비밀번호 자체를 저장하고 ( man nm-settings
자세한 내용 참조) 네트워크 자동 연결이 다시 작동합니다.
답변
vpnautoconnect를 살펴보십시오.
vpnautoconnect는 네트워크 관리자를 사용하여 생성 한 VPN을 자동으로 다시 시작할 수있게 해주는 데몬입니다. 매우 빠르게 다시 연결하고 대역폭을 모니터링 할 수 있으며 pptp 및 openvpn 연결과 함께 작동합니다.
자세한 내용을보고 다운로드하려면 웹 사이트를 방문하십시오 .
이것도 시도하십시오 :
에서 AUTOSTART 기능을 사용하십시오 /etc/default/openvpn
또는
VPN 연결의 UUID를 파악하십시오.
nmcli con list | grep -i vpn
UUID는 문자, 숫자 및 대시가있는 두 번째 열입니다.
터미널에서 연결을 시작하십시오. 키보드에서 Ctrl+ Alt+ T를 누르면 터미널이 열립니다. 열리면 아래 명령을 실행하십시오.
nmcli con up uuid <put you UUID here>
시작시 실행되도록 설정하십시오.
대시로 이동하여 시작 응용 프로그램을 입력하고 선택한 다음 추가를 클릭하고 위의 nmcli 명령을 UUID와 함께 추가하십시오. “추가”를 클릭하십시오. 이름에 사용하려는 이름을 입력하고 Command에 nmcli 행 전체를 넣으십시오. “추가”를 다시 클릭하십시오. 이제 재부팅하고 시도하십시오.
출처 : 소스 포지
답변
#!/bin/bash
# YourVPN here is the name of desired vpn connection to monitor
# edit this line:
##################
VPNNAME=YourVPNUUID
# enter desired time between checks here (in seconds)
SLEEPTIME=15
##################
nice=0
for (( ; ; )); do
# creating infinite loop
tested=$(nmcli con status uuid $VPNNAME | grep -c UUID)
#possible results:
# 0 - no connection - need to start
# 1 - working connection, continue.
case $tested in
"0")
echo "Not connected - starting"
#increase nice counter
nice=$[nice+1]
#if "nice start" fails for 3 times
if [ $nice -ge 3 ];
then
#TRY to knock hard way, resetting the network-manager (sometimes it happens in my kubuntu 12.04).
echo "HARD RESTART!"
nmcli nm enable false
nmcli nm enable true
sleep 5
nmcli con up uuid $VPNNAME
nice=0
else
#not yet 3 falures - try starting normal way
echo "trying to enable."
nmcli con up uuid $VPNNAME
fi
;;
"1")
echo "VPN seems to work"
;;
esac
sleep $SLEEPTIME
done
YourVPNUUID
$ VPNNAME 에 대한 값을 찾으려면 다음을 실행하십시오.
nmcli con list | grep -i vpn
답변
vpnautoconnect는 12.04 LTS에서 작동하지 않았으며 유일한 것은 아닙니다.
나는 그것을 조금 연구하고 기존 코드를 결합하여 첫 번째 bash 스크립트를 만들었습니다. 주어진 VPN 연결이 활성화되어 있는지 확인하고 그렇지 않은 경우 연결합니다. 연결되어 있으면 주어진 시간 (예 : 1 분) 동안 휴면 상태가되고 프로세스를 무기한 반복합니다.
#! /bin/bash
while true
do
connection="Auto Ethernet"
vpn_connection="My VPN connection"
run_interval="60"
active_connection=$(nmcli dev status | grep "${connection}")
active_vpn=$(nmcli dev status | grep "${vpn_connection}")
if [ "${active_connection}" -a ! "${active_vpn}" ];
then
nmcli con up id "${vpn_connection}"
fi
sleep $run_interval
done
명령:
-
예를 들어 vpn-auto-connector.sh라는 빈 텍스트 파일을 작성하십시오 (홈 폴더에 저장했습니다. 파일을 마우스 오른쪽 단추로 클릭하고 특성-> 권한을 선택한 후 “파일을 프로그램으로 실행 허용”을 선택하십시오 (파일을 저장해야 할 수도 있음). 컴퓨터에 여러 사용자가있는 경우 다른 곳에서 읽기 / 쓰기 / 실행 권한을 변경하십시오.)
-
위에서 작성한 파일로 코드를 복사하십시오. 다음 세 변수의 값을 바꾸십시오.
connection = “자동 이더넷”
vpn_connection = “내 VPN 연결”
run_interval = “60”
네트워크 관리자를 열어서 찾을 수 있습니다. 필자의 경우 connection = “Auto Ethernet”은 활성 유선 연결 (무선으로 테스트되지 않은)이고 vpn_connection = “My VPN connection”은 VPN 연결의 이름입니다. run_interval = “60”은 스크립트를 반복 할 시간 간격 (초)입니다.
-
응용 프로그램-> 시스템 도구-> 환경 설정-> 응용 프로그램 시작을여십시오. 적절한 이름 (예 : “VPN 자동 커넥터”)을 추가하고 명령에 대해 이전에 저장 한 .sh 파일을 선택하십시오. 이제 bash 스크립트는 시작시 실행되며 VPN 연결이 활성화되어 있는지 계속 확인합니다. VPN 연결을 해제하여 시도 할 수 있으며 자동으로 다시 활성화해야합니다.
답변
Vpnautoconnect 는 Ubuntu 12.04, 13.04 및 13.10에서 제대로 작동합니다 (13.10에서는 Network Manager의 “자동 연결”옵션이 수정되어 현재 작동한다고 생각합니다)
따라서 설치 또는 작동에 문제가 있거나 Network-Manager의 드롭 다운 메뉴에서 “openvpn”옵션을 찾지 못하면 개방형 VPN 연결을 만들 수 있습니다.이 tuto를 따라갈 수 있습니다. 매우 명확하고 적용하기 쉬운 단계.
여기를 봐
그리고 알려주세요 🙂
답변
다음은 매우 강력하고 안정적인 스크립트입니다.
- VPN에 연결되어 있는지 확인
- 그렇지 않은 경우 가장 최근에 활성화 된 VPN에 연결
다시 연결하기 위해 단일 VPN 연결을 지정할 필요가 없기 때문에 다른 VPN에 정기적으로 연결하는 경우 특히 유용합니다.
#!/bin/bash
nmcli --mode multiline --fields uuid,vpn connection status | grep -qc "^VPN:.*yes" 1>/dev/null 2>&1
if [ $? -ne 0 ]; then
last_vpn_uuid=`nmcli --mode tabular --fields uuid,type,timestamp connection list | grep -E "\s+vpn\s+" | sort -k3 -nr | head -n1 | awk '{ print $1 }'`
nmcli connection up uuid "$last_vpn_uuid"
fi
답변
여러 컴퓨터에서 Ubuntu 14.04 LTS를 사용하고 있습니다. 사실, 몇 가지 특별한 전제 조건이 있습니다.
- 비밀번호 관리자에 비밀번호를 저장하고 싶지 않습니다
- 네트워크 재 연결시 VPN이 손실되는 VirtualBox 게스트를 사용하고 있습니다.
- 다시 연결하면 비밀번호 대화 상자가 여러 번 열립니다
- 백업 VPN 서버를 사용하고 있습니다 (페일 오버)
- 내 UUID에 대한 구성 파일 사용
나는이 매우 입증되고 신뢰할 수있는 스크립트로 작업하고 있습니다 :
그러나 일시적으로 해결할 수있는 네트워크 관리자 애플릿에는 몇 가지주의 사항이 있습니다 (기사의 문제 해결 섹션 참조).
vpnautoconnect 가 작동하지 않습니다.