pptp-linux VPN을 통한 3proxy

pptp-linux VPN을 통한 3proxy

상황이 있습니다.

  • 데비안(K)이 설치된 컴퓨터는 네트워크 192.168.1.0/24를 할당하는 라우터(A)에 연결됩니다.
  • 네트워크 172.16.1.0/30을 할당하고 해당 네트워크에서 pptp 서버를 실행하며 NAT를 활성화하는 또 다른 라우터(B)("흰색" IP 있음)가 있습니다.
  • pptp 클라이언트는 IP 172.16.1.2를 사용하여 ppp1 인터페이스를 생성하는 "K"에 설치됩니다(그러나 어떤 이유로 마스크 /32는 /32에서 "to node"로 향하는 Keenetic("B") 경로에도 있습니다.) .
  • 연결이 설정되고 ping이 성공합니다. 문제는 "삼각형" 경로입니다(아직도 그렇다고 생각합니다).
  • 네트워크 "A"에서 "K"로 연결(예: SSH)하면 모든 것이 제대로 작동합니다(eth0 - 네트워크 "A" - 기본 경로).
  • 라우터 "B"에는 인터넷(특정 포트)에서 "K"로 연결을 전달하는 nat가 있습니다.
  • 패킷에서 "소스"는 라우터의 소스로 변경되지 않습니다.
  • 그러나 "K"에는 eth0에서 ppp1로 트래픽을 보내는 작업을 수행하는 http-proxy가 있기 때문에 이것이 문제를 완전히 해결하지는 않습니다.
  • 프록시 설정(3proxy)에서 "입력" 및 "출력" IP를 지정했습니다.

어쩌면 작동해야 할 수도 있지만 그렇지 않습니다. eth0을 통해 인터넷에 액세스하는 것은 7x+이므로 기본 경로를 변경하는 것은 옵션이 아닙니다. ppp1의 연결을 허용하고 eth0 자체를 통해 연결을 생성하는 동일한 시스템에 다른 openvpn 서버를 설치할 계획입니다.


구성된 경우:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.20  netmask 255.255.255.0  broadcast 192.168.1.255
        ether 02:02:20:02:47:8f  txqueuelen 1000  (Ethernet)
        RX packets 5248  bytes 343827 (335.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 512  bytes 54725 (53.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 37

ppp1: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1350
        inet 172.16.1.2  netmask 255.255.255.255  destination 172.16.1.1
        ppp  txqueuelen 3  (Point-to-Point Protocol)
        RX packets 8  bytes 118 (118.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 99 (99.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


/etc/3proxy/3proxy.cfg:

setgid 115
setuid 109

#nserver 192.168.1.1
nserver 172.16.1.1

nscache 65536

timeouts 1 5 30 60 180 1800 15 60

#In theory, from this point on, traffic should go through the ppp1 interface.
external 172.16.1.2 

internal 192.168.1.20

users $/etc/3proxy/.proxyauth

daemon

log /var/log/3proxy/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"

auth cache strong

proxy -n -p8080 -a

그 밖에도 3proxy가 전송한 DNS 트래픽은 ppp1(tcpdump를 사용하여 모니터링)을 통해 자유롭게 전송됩니다(송신 및 수신).

답변1

이는 에이전트에 "natin" pptp를 담당하는 올바른 모듈이 없기 때문일 수 있습니다. 다음을 시도해 보십시오:

lsmod |grep nf_nat_pptp

모듈이 존재하지 않는 경우 다음을 입력해야 합니다.

modprobe nf_nat_pptp

echo 'net.netfilter.nf_conntrack_helper=1' >> /etc/sysctl.conf

sysctl -p

이러한 변경으로 인해 pptp 트래픽은 프록시를 통과해야 합니다.

나중에 다시 시작할 때 모듈을 영구적으로 활성화하려면 다음을 통해 모듈 파일에 추가해야 합니다.

echo 'nf_nat_pptp' >> /etc/modules

관련 정보