OpenVPN을 실행하는 공용 IP와 유일한 VPN 클라이언트인 로컬 서버를 갖춘 VPS가 있습니다.
포트 80에서 들어오는 트래픽을 클라이언트로 라우팅할 수 있습니까?
내 로컬 서버가 모바일 데이터로 실행되고 있으며 공용 IP를 얻지 못합니다. 내가 찾고 있는 것은 VPN IP를 탐색하여 액세스할 수 있는 데이터를 보여주는 간단한 웹사이트입니다.
답변1
설명대로여기iptables를 사용하여 한 인터페이스의 포트에서 다른 인터페이스의 다른 IP로 트래픽을 전달할 수 있어야 합니다. 로컬 서버에 항상 동일한 IP를 발급하도록 OpenVPN 서버를 구성해야 할 수도 있다는 점을 기억하세요. 방법을 알아볼 수 있습니다.여기.
본질적으로,
- 서버가 전달을 허용하는지 확인하세요.
sudo sysctl net.ipv4.ip_forward=1
- VPN IP가
10.0.0.1
이고 서버 외부 인터페이스가 이라고 가정하면eth0
외부 포트 80에서 VPN IP로 연결을 전달하고 응답하도록 허용합니다.
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to-destination 10.0.0.1:80
iptables -A FORWARD -p tcp -d 10.0.0.1 --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
연결 문제를 디버깅하는 tcpdump
것은 다음과 같습니다.
# Print all packets on port 80 that pass through the eth0 interface
sudo tcpdump -ni eth0 port 80
일반적인 권장 사항에 따라 HTTPS를 활성화하려면 기본적으로 포트 443도 필요하도록 항상 암호화를 사용해야 합니다.