두 개의 다른 서버와 상호 작용하도록 WireGuard 클라이언트를 어떻게 구성합니까?

두 개의 다른 서버와 상호 작용하도록 WireGuard 클라이언트를 어떻게 구성합니까?

무인 WireGuard 클라이언트를 중복 WireGuard 서버와 함께 사용하고 싶습니다.

물리적:

  • 미국에 공급자 A가 있는 VPS에 기본 데이터베이스 서버가 있습니다.
  • 유럽 ​​공급자 B의 VPS에 있는 슬레이브 서버에서 연속 복제를 실행하고 있습니다.
  • 내 집 사무실의 WiFi LAN에 복제 슬레이브로 실행되는 백업 데이터베이스 서버가 있습니다.

회로망:

  • 미국의 기본 데이터베이스 서버는 WireGuard 서버 버전 10.20을 실행합니다.20.1.
  • 유럽 ​​슬레이브 데이터베이스 서버는 WireGuard 서버 버전 번호 10.20을 실행합니다.10.1.

내 홈 오피스의 백업 데이터베이스가 마스터 원격 WireGuard 서버 또는 슬레이브 원격 WireGuard 서버와 상호 작용하도록 성공적으로 구성되었습니다.개별적으로.

미국을 통해 연결하려면 집에서 다음 작업을 수행할 사람이 필요합니다.

suda wg-quick down wgEUR; suda wg-quick up wgUSA;

유럽을 통해 연결하려면 집에서 다음 작업을 수행할 사람이 필요합니다.

suda wg-quick down wgUSA; suda wg-quick up wgEUR;

하지만! !

핵심은 내가 어디에 있든 WireGuard 서버를 통해 홈 오피스 컴퓨터에 SSH를 통해 연결할 수 있다는 것입니다. 그 중 하나가 다운되더라도 다른 하나는 계속 사용할 수 있습니다.

허용하도록 Home Office WireGuard 클라이언트에서 라우팅을 구성하는 방법동시에두 개의 원격 WireGuard 서버의 서브넷에서 액세스합니까?


설정

유럽(37.xxx.xxx.139:34567): wg0.conf

[Interface]
Address = 10.20.10.1/24
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0  -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0  -j MASQUERAD
ListenPort = 34567
PrivateKey = MNf4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiVg=

[Peer]
PublicKey = durAZO/EtWQnqwnbadbadbadzDa9+klqUmqCT6VplWc=
AllowedIPs = 10.20.10.16/32

미국(185.xxx.xxx.36:34567): wg0.conf

[Interface]
Address = 10.20.20.1/24
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERAD
ListenPort = 34567
PrivateKey = EGdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxp2Q=

[Peer]
PublicKey = durAZO/EtWQnbadbadbadMkTzDa9+klqUmqCT6VplWc=
AllowedIPs = 10.20.20.16/32

클라이언트 wgEUR.conf:

[Interface]
### PrivateKey_of_the_Client
PrivateKey = EBmxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxaXlE=
### IP VPN for the Client
Address = 10.20.10.16/24
### DNS Server
DNS = 8.8.8.8, 8.8.4.4

[Peer]
###Public of the WireGuard VPN Server
PublicKey = pTm/tJwOWJ3QRwEcbadbadbadWx/BbCthbFa52M2uVE=

### IP and Port of the WireGuard VPN Server
##### Syntax: IP_of_the_server:Port
Endpoint = 37.xxx.xxx.139:34567

### Allow all traffic
AllowedIPs = 0.0.0.0/0

클라이언트 wgUSA.conf:

[Interface]
### PrivateKey_of_the_Client
PrivateKey = EBxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXlE=
### IP VPN for the Client
Address = 10.20.20.16/24
### DNS Server
DNS = 8.8.8.8, 8.8.4.4

[Peer]
###Public of the WireGuard VPN Server
PublicKey = f/H+1b/jkkXvbhYPEbadbadbadkKMBMgEW1IvmOeCEE=

### IP and Port of the WireGuard VPN Server
##### Syntax: IP_of_the_server:Port
Endpoint = 185.xxx.xxx.36:34567

### Allow all traffic
AllowedIPs = 0.0.0.0/0

답변1

이 VPN은 익명으로 인터넷에 액세스하는 방법이 아니라 개인 리소스에 액세스하는 방법입니다. 그래서분할 터널사용되어야한다.

클라이언트 측에서 교체하십시오.

AllowedIPs = 0.0.0.0/0

필수 리소스만: 데이터베이스를 실행하는 서버.

고객의 경우 wgEUR.conf:

AllowedIPs = 10.20.10.1/32

고객의 경우 wgUSA.conf:

AllowedIPs = 10.20.20.1/32

이제 두 터널을 동시에 시작할 수 있습니다. wg-quick경로는 하이재킹되지 않으며( Table = auto이는 기본 설정에서 발생하며 AllowedIPs0.0.0.0/0 또는 ::/0으로 표시됨) 두 터널이 서로 충돌하지 않습니다. 클라이언트의 일반적인 인터넷 액세스는 터널을 통과하지 않습니다. 이는 확실히 개선된 사항입니다. 데이터베이스 서버가 왜 그러한 서비스를 제공합니까?

관련 정보