Как запустить pptp через прокси Redsocks
У меня есть один (виртуальный) Linux-блок в Ubuntu, в котором настроены redsocks. Внутри машины, я мог подтвердить, что redsocks действительно работал (используйте wget
проверить внешний IP).
Теперь я хочу, чтобы другие клиентские машины использовали один и тот же прокси-сервер redsocks. Поэтому я установил PPTP-сервер (linux-pptp) на машине linux и подключил клиентские машины к машине linux с помощью PPTP.
Хотя клиент все еще получил сеть после PPTP-соединения, он не имеет эффекта прокси-сервера redsocks. Каким-то образом PPTP и redsocks не связаны друг с другом.
Вот мои правила iptables:
iptables -t nat -N REDSOCKS
iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
iptables -t nat -A REDSOCKS -p tcp -o eth1 -j DNAT --to 127.0.0.1:12345
iptables -t nat -A OUTPUT -p tcp -j REDSOCKS
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth1 -j MASQUERADE
iptables -A FORWARD -p tcp --syn -s 192.168.10.0/24 -j TCPMSS --set-mss 1356
Обратите внимание, что в аппарате есть только одна карта локальной сети (eth1), а служба redsocks находится по адресу 127.0.0.1:12345
,
Я уже застрял на целый день, любая помощь будет высоко ценится. Благодарю.
1 ответ
Наконец-то все решено.
iptables -t nat -I PREROUTING -i ppp+ -p tcp -j REDIRECT --to 12345