VPN 서버 공용 IP를 통해 VPN 클라이언트의 웹 서버에 액세스

VPN 서버 공용 IP를 통해 VPN 클라이언트의 웹 서버에 액세스

내가 관리하지 않는 방화벽 뒤에 있는 PC에서 실행되는 웹 서버에 VPN 연결(openvpn)을 사용하여 접속하려고 합니다. 기본적으로 방화벽 뒤의 원격 PC에 있는 웹 서버에 액세스하기 위해 VPN 서버의 공개 IP를 사용하고 싶습니다.

이미지대로,http://193.105.1.1:8085192.168.1.1:8080에서 호스팅되는 웹사이트를 제공합니다.

회로망

이 질문이 이미 해결되었다면 죄송합니다. 비슷한 것을 검색해 보았지만 실제로 무엇을 검색해야 할지 모르겠습니다.

답변1

충분히 쉽습니다!

편의를 위해 머신 A - 193.105.1.1 및 머신 B - 192.168.1.1을 고려해 보겠습니다.

  1. 머신 A에 OpenVPN 서버 설치

    저는 Ubuntu 18.04와 Nyr OpenVPN 설치 프로그램 스크립트를 선호합니다

    터미널에서 이것을 실행하십시오.

    wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

  2. 머신 B에 이미 Apache 또는 nginx 설정이 있다고 가정하고 모든 인터페이스를 수신하는지 확인하세요.

  3. 머신 B에 OpenVPN 클라이언트를 설치하여 서버에 연결하세요!

    OpenVPN 클라이언트를 설치하려면 터미널에서 이 코드를 실행하세요.

    sudo apt-get install openvpn

  4. 이제 공용 IP에서 OpenVPN 내부 IP 주소로 트래픽을 라우팅하도록 머신 A를 구성해야 합니다. Nyr 스크립트를 사용한 경우 머신 B에는 주소 10.8.0.2가 할당됩니다.

라우팅을 구성해 봅시다!

  1. ufw 방화벽 활성화
  2. sudo ufw enable ssh && sudo ufw enable
  3. sudo nano /etc/default/ufw
  4. "DEFAULT_INPUT_POLICY" 및 "DEFAULT_FORWARD_POLICY"를 ACCEPT로 변경합니다. 파일을 저장하고 닫습니다.
  5. sudo nano /etc/ufw/sysctl.conf
  6. n"et/ipv4/ip_forward=1"의 주석 처리를 제거하십시오. 파일을 저장하고 닫습니다.
  7. sudo nano /etc/ufw/before.rules
  8. "COMMIT" 줄 뒤의 줄 끝에 다음을 추가합니다.

    *낫

    -에프

    :라우팅 사전 승인 [0:0]

    -A 사전 라우팅 -i eth0 -d 193.105.1.1 -p tcp -m multiport --dports 23:65535 -j DNAT --대상 10.8.0.2

    -A 포스트라우팅 -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j 가장 무도회

    저지르다

eth0을 네트워크 인터페이스 이름으로 변경합니다.

두 서버 모두 저장하고 재부팅하세요! OpenVPN 클라이언트를 통해 머신 B를 머신 A에 연결합니다.

관련 정보