인사말,
vpnc
VPN 클라이언트에 사용 하고 있습니다. 또한 route
로컬 네트워크 등에 계속 액세스 할 수 있도록 까다로운 작업을 수행하고 있습니다 (여기서는 그다지 중요하지 않습니다).
때때로 나는 라우팅 테이블을 얻었으므로 ping: sendto: Network is unreachable
다른 방법으로 해결해야 할 URL을 얻습니다 .
현재 Mac OS X을 재시동하면 모든 것이 정상으로 돌아옵니다. 전체 시스템을 재부팅 하지 않고 라우팅 테이블을 “기본”(예 : 부팅시 설정)으로 재설정하고 싶습니다 .
1 단계는 route flush
(모든 경로를 제거 하는 것)이라고 생각합니다 . 그리고 2 단계는 모든 기본 경로를 다시로드해야합니다.
이 작업을 수행하는 방법에 대한 생각이 있습니까? (예 : 2 단계 란 무엇입니까?)
편집
또한, 나는 또 다른 증상이 traceroute
해당 주소에서 실패한다는 것을 알았습니다 . 예를 들어 :
traceroute the.good.dns.name
traceroute: bind: Can't assign requested address
답변
경로를 플러시해야합니다. route -n flush를 여러 번 사용하십시오 . 그런 다음 경로 추가로 경로를 추가하십시오.
답변
가정용 OpenVPN 서버를 사용하고 Mac의 Tunnelblick 응용 프로그램을 사용하여 연결하는 동안이 문제가 발생했습니다.
내 끝에서 일어난 일은 VPN으로 연결을 끊은 후 내 집 IP가 대상이고 잘못된 게이트웨이가 남은 경로입니다. 이 경로를 삭제하면 문제가 해결되었습니다.
$ sudo route -n delete the.good.dns.name
예 : 학교에 있고 컴퓨터를 새로 부팅 한 후 무선 네트워크에 연결합니다. Tunnelblick을 사용하여 가정용 OpenVPN 서버에 연결합니다.
$ netstat -nr
Destination Gateway
....
[home-ip]/32 [school-default-gateway-1] ....
....
VPN 서버에서 연결을 끊습니다. 무선 네트워크를 변경합니다. 기본 게이트웨이가 변경됩니다.
$ netstat -nr
Destination Gateway
...
[home-ip]/32 [school-default-gateway-1] ...
...
$ ping [home-ip]
PING [home-ip]: 56 data bytes
ping: sendto: Network is unreachable
ping: sendto: Network is unreachable
Request timeout for icmp_seq 0
...
이 상황이 발생하면 어떤 상황에서도 내 홈 네트워크 (VPN, 핑 등)에 연결할 수 없습니다. 그런 다음 경로를 삭제하면
$ sudo route -n delete [home-ip]
delete net [home-ip]
$ ping [home-ip]
PING [home-ip]: 56 data bytes
64 bytes from [home-ip]: icmp_seq=1 ttl=56 time=13.111 ms
잘 작동합니다.
OpenVPN 서버 / 클라이언트가 어떻게 구성되는지에 문제가있을 수 있습니다 (이것을 찾는 데 관심이 있습니다). 그러나이 경로 삭제를 자동화하는 Tunnelblick post-disconnect 스크립트를 설치했습니다.
답변
먼저 네트워크 인터페이스에 대한 경로가 필요합니다. VPN 연결이 끊어지면 네트워크 인터페이스를 중단 한 다음 ifconfig로 다시 가져 오십시오. 그런 다음 경로 명령을 사용하여 기본 gw를 빌드하십시오. 그래서 같은 :
ifconfig en0 down
ifconfig en0 up
route add <ip address> default
답변
홈 네트워크와 회사 네트워크를 전환 할 때 기본 경로가 삭제되지 않았다는 점에서 @Sean과 동일한 문제가 발생했습니다 (OS X도 실행 중임).
완전성을 위해 집에서 VPN에 연결하고 다음 명령을 실행하면 아래와 같은 기본 게이트웨이가 표시됩니다.
$ netstat -nr
Destination Gateway
...
[home-ip]/32 [work-default-gateway-1]
연결을 끊어도 [home-ip] 게이트웨이는 여전히 존재합니다. 회사 네트워크에 연결할 때 인터넷에 전혀 연결할 수 없었고 OP와 같은 문제가 발생했습니다.
$ traceroute the.good.dns.name
$ traceroute: bind: Can't assign requested address
그런 다음 경로를 수동으로 삭제해야합니다.
$ sudo route -n delete [home-ip]
처음에는 post-disconnect.sh
스크립트 에 “route -n delete”를 넣었 지만 약간 지저분해서 대신이 링크를 찾았습니다.
https://code.google.com/p/tunnelblick/issues/detail?id=177
분명히 이유는 내 .ovpn
파일에 다음을 설정했기 때문입니다.
user nobody
group nogroup
이는 루트가 루트로 설정되었지만 연결이 끊어지면 더 이상 루트가 아니므로 루트를 삭제할 수 없습니다.
내 .ovpn
파일 에서이 두 줄을 주석 처리하면 을 사용할 필요없이 문제가 해결되었습니다 post-disconnect.sh
.