분산 / 메시 형 / P2P VPN이 있습니까?


12

개인 VPN을 사용하여 여러 장치를 연결하므로 항상 인터넷에 연결되어있는 한 항상 액세스 가능한 네트워크에서 고정 IP 주소를 가질 수 있습니다. 내 장치는 다른 예측할 수없는 네트워크 (4G 네트워크 휴대폰, 대학의 랩톱, 가정의 가정용 서버)에서 이동 중일 수 있으며, 장치에 연결해야하는 백업 서버가 있고 때로는 , 나도 그래야한다).

또한 동기화와 같은 것을 설치하는 것에 대해 생각하고 있습니다.

또한 게으르고 스마트 폰에서 홈 서버에서 재생되는 음악을 재생 / 일시 중지하고 싶습니다. 동일한 네트워크에 있지 않을 수도 있습니다 (항상 그렇지는 않습니다).

이것은 하나의 OpenVPN 서버와 openvpn모든 장치에서 실행 되는 클라이언트 가 있음을 의미 합니다. 이들은 모두 서버에 연결되며 두 노드의 트래픽은 서버를 통과해야합니다. 서버는 비교적 멀리 떨어져 있으며 처리량이 매우 제한적입니다. 이는 대기 시간과 속도 저하를 의미합니다. "일시 정지"버튼을 누르면 실제로 음악을 일시 정지하는 데 최대 10 초가 걸릴 수 있습니다. 두 노드가 실제로 동일한 LAN에 있더라도 (VPN을 통해 통신하기 때문에) Meh.

이상적으로는 노드 간 최단 경로를 찾아 직접 연결을 시도 할 수있는 VPN을 만드는 방법이 있어야합니다. Skype가 슈퍼 노드와 작동하는 방식과 같은 것이 있습니까?

서버가 여기에서 멀리 떨어져있는 동안 노드 중 하나는 공용 IP 주소를 가지며 다른 노드에 의해 도달 될 수 있습니다. 서버 자체가 아닌 경우에도 서버에서 작동 할 수 있지만 일부 노드 에는 더 나은 선택입니다 .

클라이언트와 서버를 모두 실행하고 해당 노드에서 브리지로 연결하기 위해 비슷한 것을 할 수 있다고 생각하지만 우아하지는 않습니다. 해킹적이고 PKI를 복잡하게 만들고 VPN을 분할합니다. 나는 그것을 좋아하지 않는다.

통신의 보안을 실제로 보장하지 않는 PPTP와 같은 간단한 VPN을 사용할 수는 있지만 노드 간 연결을 암호화하도록 Bacula를 구성하지 않아도되므로 VPN 내부에서 트래픽이 일반화됩니다. VPN 캡슐화는 유일한 보안이므로 약해서는 안됩니다. 그러나 기밀없이 "메쉬"와 같은 VPN을 해결하는 것은 이미 좋은 출발이 될 것입니다. 트래픽이 SSL / TLS를 통과하기 시작했는지 확인합니다.

이것은 다른 사람이 가지고있을 수도 있고 지금까지 해결 된 문제처럼 보입니다. 이와 같은 것이 있습니까?

이 방법을 잘못보고있을 가능성도 있지만 지금까지는 내가 어디에 있든 상관없이 항상 내 장치 중 하나에 원격으로 연결할 수 있도록하는 가장 좋은 방법처럼 보입니다.


예, 장치가 로컬 인 경우 온 -LAN 통신을 위해 원하는 것이 있습니다. Azure 서비스 버스
goodguys_activate 9

답변:


6

그것이 당신의 요구를 완전히 충족시키는 지 확실하지 않지만, 아마도 tinc를보아야 할 것입니다 : http://www.tinc-vpn.org/ . 설명 한 것처럼 중앙 서버에서 오케스트레이션 된 메쉬 네트워크와 매우 일치하지만 로컬 네트워크에서 피어를 찾는 데 성공할지 확실하지 않습니다.


3

내가 찾아서 사용한 가장 쉬운 메쉬 VPN은 PeerVPN ( http://www.peervpn.net/ )입니다.

PeerVPN 기능

  • TAP 장치를 사용한 이더넷 터널링 지원
  • IPv6 지원.
  • 풀 메시 네트워크 토폴로지.
  • 추가 설정없이 방화벽과 NAT를 통해 터널을 자동으로 구축합니다 (예 : 포트 전달).
  • 공유 키 암호화 및 인증 지원

구성은 간단합니다. 편집하는 하나의 구성 파일과 기본 메쉬 VPN의 경우 6 개의 설정 만 지정하면 PeerVPN 튜토리얼을 참조 할 수 있습니다 (1 페이지). http://www.peervpn.net/tutorial/

PSK 암호화 / 인증 키는 최대 512 비트 (64 바이트) 일 수 있습니다.

지금까지 여러 원격 서버에서 peervpn을 설정했으며 매우 잘 작동합니다. 또한 다른 메쉬 VPN 구현에서 발생할 수 있으므로 "슈퍼 노드"가 필요하지 않습니다.

peervpn의 노드는 구성을 변경할 필요없이 VPN에 새로 추가 된 노드에 대해 자동으로 학습합니다. 노드 간 트래픽도 직접적이며 일부 중앙 VPN 허브를 통하지 않습니다.

참고 : 기본 peervpn.conf 파일을 읽고 "사용할 수있는"다양한 옵션에 대해 알아보십시오. 그러나 내가 언급 한 기본 메쉬 VPN의 경우 6 옵션 (vpn, PSK, 로컬 터널 끝점 IP 주소, 인터페이스 "이름", Linux 시스템에서 보거나 사용하려는 인터페이스 및 포트 번호 만 설정하면됩니다) "그것"vpn ... 서버에서 여러 개의 독립적 인 VPN을 위해 peervpn을 사용할 수 있습니다)


0

몇 년 전에 똑같은 문제가있었습니다. 나는 ~ 30 개의 사무실이 모두 직접 통신 할 수 있어야했지만 '허브 앤 스포크'구성으로 설정되었습니다. n x (n-1)/2사무실에서 OpenVPN으로 연결 수 를 자동으로 생성하는 Python 도구를 작성했습니다 . 나중에 한 사무실은 다른 사무실을 볼 수 있지만 본사는 볼 수없는 기괴한 Comcast 문제 이후 사이트 간 RIP 라우팅을 지원했습니다. 마지막으로 링크 IP에 대해 역방향 DNS를 자동 생성하는 기능과 패키지를 각 라우터로 푸시하는 기능을 추가했습니다.

OpenMesher를 살펴보십시오 . 오늘 아침에 나는 다가오는 프로젝트를 위해 먼지를 뿌리기로 결정했습니다. 잘하면 그것은 당신이 원하는 것을합니다. 그렇지 않은 경우 언제든지 문제를 제출하면 도와 드리겠습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.