핵심요약: 목표: VPN 아래 로컬 시스템의 서비스와 관련 포트를 VPS로 전달하여 네트워크에서 액세스할 수 있도록 하고, 포트 검사기를 사용하여 열어야 할 포트를 확인합니다.
포트가 열린 것으로 표시되지 않고 포트가 여전히 로컬에 붙어 있기 때문에 프로그램이 올바르게 실행되지 않는 것 같습니다. 두 방화벽 모두에서 포트가 열려 있어도 여전히 와이어가드 연결 하에서 VPS로 전달되지 않습니다.
전체 내용:
이 문제를 해결하려면 Linux 전문가의 도움이 필요합니다. 내 로컬 컴퓨터에서 Airdcpp 웹 클라이언트 프로그램을 실행하고 있습니다. 3개의 포트를 사용하는데, 이 경우에는 그 중 22000
, 22001
, 3개를 22002
예로 들어 무작위로 사용하겠습니다 .
그런 다음 firewalld
방화벽 프로그램의 GUI를 통해 이 세 개의 포트를 허용했습니다. 따라서 들어오고 나가는 트래픽이 허용됩니다. 그런 다음 라우터의 설정 페이지로 이동하여 해당 세 개의 포트를 내 컴퓨터의 로컬 IP 주소로 전달했습니다. 예를 들어. 22000-22000 --> 192.168.1.104. 이 시점에서 다음과 같은 포트 검사기를 사용하면:https://www.yougetsignal.com/tools/open-ports/, 열려 있고 프로그램이 예상대로 실행되고 있음을 보여줍니다.
그런데 문제는 우리 집 IP가 노출되어 있어서 차단하고 싶은데, 2가지 방법을 모색 중입니다. 프록시나 VPN을 사용하세요.
프록시의 경우 프로그램의 본질적인 한계로 인해 무엇을 설정하려고 해도 데이터 전송이 제한됩니다. 그래서 VPN이 유일한 옵션이 되었습니다.
그래서 다음 스크립트를 사용하여 Wireguard를 설정했습니다.https://github.com/angristan/wireguard-install내 Linode VPS에서. 이 경우에는 인터넷에 직접 노출되어 있다고 생각하므로 ufw allow
위의 3개 포트를 연결한 다음 wg-quick up wg0
로컬 컴퓨터에 연결하는 것뿐입니다. 그런 다음 VPN을 연결하면 프로그램이 실행되고 IP가 변경됩니다. 문제는 포트 검사기를 사용할 때 포트가 여전히 닫힌 것으로 표시되고 물론 프로그램이 최적의 조건에서 실행되지 않는다는 것입니다.
이 시점에서 VPS 및 로컬 컴퓨터에서 허용되는 모든 포트를 허용으로 설정했습니다. VPS 연결이 정상입니다. 또한 다른 포트를 사용하여 VPS에서 프로그램을 실행하고 있으며 이를 Wireguard 서버로 사용할 때 여전히 프로그램에 문제 없이 액세스할 수 있습니다. 이는 VPS가 네트워크에 직접 노출되고 Linode가 차단하지 않음을 보여줍니다. 무엇이든, 특히 이 세 개의 포트는 이메일처럼 특별하지 않기 때문입니다.
그래서 내 로컬 서비스가 VPN 연결에서 연결 가능한 것으로 표시되고 열려 있도록 하려면 VPN 프로토콜을 통해 그 중 세 개를 "전달"(실제 기술 용어는 모르겠습니다)해야 한다고 추측하고 있습니다. 프로그램이 VPS에서 실행 중인 것으로 보이며 VPS의 IP 및 포트 연결 아래에 있는 포트 검사기를 사용하여 액세스할 수 있습니다. 지금은 무엇을 해야할지 모르겠지만 아이디어를 제공할 수 있는 선배들의 도움이 필요합니다. 읽어 주셔서 감사합니다! 유용한 아이디어가 있는 의견이나 가이드 또는 내 아이디어의 오류를 지적하는 모든 의견을 환영합니다!
기술적 인 정보:
local machine OS: Arch Linux
program name: https://aur.archlinux.org/packages/airdcpp-webclient/
VPS: Linode ubuntu 20.04.1 LTS, running wireguard with a ufw firewall
편집: 와이어가드 구성
VPS 측:
[Interface]
Address = 10.66.66.1/24,fd42:42:42::1/64
ListenPort = 49503
PrivateKey =
PostUp = iptables -A FORWARD -i eth0 -o wg0 -j ACCEPT; iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i eth0 -o wg0 -j ACCEPT; iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
### Client local_arch
[Peer]
PublicKey =
PresharedKey =
AllowedIPs = 10.66.66.2/32,fd42:42:42::2/128
내부 IP라고 가정하고 공유할 수 있나요? 내가 틀렸다면 정정해주세요.
로컬 머신 구성:
[Interface]
PrivateKey =
Address = 10.66.66.2/32,fd42:42:42::2/128
DNS = 1.1.1.1
[Peer]
PublicKey =
PresharedKey =
Endpoint = <linode.IP>:49503
AllowedIPs = 0.0.0.0/0,::/0