У меня это schenario
----------------- ---------------- ----------
| SERVER A | ---(port:2128)> | PROXY | ---> | INTERNET |
| (10.30.1.1) | | (10.30.2.2) | -----------
----------------- ----------------
Теперь у меня есть СЕРВЕР B (10.31.1.1), который не может получить доступ к ПРОКСИ, но может получить доступ к СЕРВЕРУ А.
Мне нужно настроить СЕРВЕР А для приема запросов от СЕРВЕРА А и пересылки их на ПРОКСИ, чтобы он мог подключиться к Интернету.
Я пробовал через iptables вот так:
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -p tcp -i 10.30.1.1 --dport 3128 -d 10.30.2.2 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -i 10.30.1.1 --dport 3128 -j DNAT --to 10.30.2.2:3128
но на СЕРВЕРЕ B я получил
Unable to connect to 10.30.1.1
Я не уверен, что достаточно хорошо все понял. Отфильтровал ли прокси-сервер 10.30.2.2 входной запрос и знал ли он, как маршрутизировать пакет?
В этом случае, я думаю, вам придется использовать опцию MASQUERADE для замены адреса отправителя:
iptables -t nat -I PREROUTING -p tcp -i 10.30.1.1 -s 10.31.1.1 -J MASQUERADE