Tomato OpenVPN 클라이언트 전달 설정

Tomato OpenVPN 클라이언트 전달 설정

나는 전용/고정 IP를 얻기 위해서만 VPN을 사용하고 있습니다(내 홈 네트워크에는 케이블 때문에 동적 IP가 있기 때문입니다). 나는 내 신원 등을 숨기는 것에 신경 쓰지 않습니다. OpenVPN 클라이언트를 사용하여 Tomato 펌웨어를 실행하는 라우터에 VPN을 설정했습니다.

내가 원하는 것은 트래픽이 VPN IP로 들어와 내 라우터에 도달할 때 트래픽이 발생한 IP에 따라 내 홈 네트워크의 특정 장치로 리디렉션되는 것입니다. 내 네트워크의 각 장치에는 고정 IP가 할당되어 있으며 과거에는 PPTP를 사용하는 다른 VPN을 사용했는데 제대로 작동했습니다. 예를 들어 Tomato의 일반 포트 전달 규칙은 완벽하게 작동했으며 트래픽의 출처에 따라 자동으로 라우팅되었습니다. 내 라우터에 연결된 올바른 장치로.

그러나 이제 PPTP 대신 OpenVPN을 사용하는 VPN을 사용하고 있는데 Tomato의 포트 전달 규칙이 더 이상 작동하지 않는 것 같습니다. 포트 번호와 요청을 보낸 IP를 기반으로 홈 네트워크의 올바른 장치로 트래픽을 보내는 방법을 알아낼 수 없습니다. Tomato의 OpenVPN 클라이언트 설정 페이지에서 "라우팅 정책" 탭을 발견했지만 전혀 이해가 되지 않습니다.

Tomato 어딘가에 어떤 종류의 스크립트를 추가해야 합니까? 일부 iptables 규칙이나 뭔가? Tomato에서 포트 전달 구성 페이지를 사용할 수 없는 것이 이상해 보입니다. 아니면 OpenVPN 클라이언트 구성 페이지에서 일부 옵션을 활성화/비활성화해야 합니까? 나는 내 능력이 부족합니다. 어떤 조언이라도 감사하겠습니다

답변1

내 생각엔 내Reddit에 대한 질문당신을 도울 수 있습니다.

여기에 복제하겠습니다.

그래서 함께 찾아본 후VPN을 제공하는 협회, 우리는 다음과 같은 해결책을 찾았습니다.


  1. VPN이 시작될 때 실행될 사용자 정의 스크립트를 저장하려면 브라우저에서 JFFS를 활성화하십시오.http://192.168.1.1/admin-jffs2.asp. 설정을 저장하면 일부 서비스가 다시 시작됩니다(/jffs/가 마운트됩니다).

  2. 라우터의 텔넷:

    telnet 192.168.1.1
    
  3. rootTomato에 액세스할 때 일반적으로 사용하는 비밀번호 로 로그인하세요 .

  4. /jffs/에서 스크립트를 생성하고 편집합니다:

    vi /jffs/vpnup.sh
    
  5. 스크립트에 다음을 추가합니다.

    #!/bin/sh
    
    # Script to be run when the VPN is brought up
    
    # Use the VPN to route all packets through the tunnel.
    iptables -t nat -A PREROUTING -s 0.0.0.0/0 -d YYY.YYY.YYY.YYY -j WANPREROUTING
    
    # Apply the port forwarding rules to the tunnel.
    iptables -I FORWARD 1 -i tun11 -s 0.0.0.0/0 -d 0.0.0.0/0 -m state --state NEW -j wanin
    
  6. Esc, :, w, q, 를 차례로 입력하여 vi를 저장하고 종료합니다 Enter.

  7. 루트에서만 스크립트를 읽고 실행할 수 있도록 설정합니다.

    chmod 700 /jffs/vpnup.sh
    
  8. 텔넷 세션을 종료합니다.

    exit
    
  9. 다음 줄을 "사용자 정의 구성" 양식 컨트롤에 추가합니다.http://192.168.1.1/vpn-client.asp, '고급' 탭에서:

    up /jffs/vpnup.sh
    
  10. 설정을 저장합니다.

  11. (다시) VPN을 시작하세요.

VPN이 시작될 때마다 이제 iptables가 업데이트되어 VPN을 통해 모든 트래픽을 라우팅하고 해당 터널에 포트 전달 규칙을 적용해야 합니다.

디버깅에 유용한 몇 가지 명령:

  • ip addr show(에라우터)
  • ip route show(에라우터)
  • iptables -nvL(에라우터)
  • iptables -t nat -nvL(에라우터)
  • tcpdump -ni any port 80(에섬기는 사람)

도움이 되기를 바랍니다.

관련 정보