В данной заметке я рассмотрю настройку маршрута со своего рабочего компьютера на сервер. Вообще для этого требуется какой-то промежуточный машрутизатор. У меня он будет находиться по IP 100.100.100.109 (мой рабочий компьютер по совместительству), а сервер — по адресу 100.100.100.110 (все адреса являются вымышленными, любое совпадение с реальными — случайное 🙂 )
1. Настройте socks proxy на порте 9999 с помощью ssh. Можно сделать это с помощью PuTTY.
ssh -D 9999 100.100.100.109 |
2. Добавьте ip route для перенаправления специфичных пакетов на сервер.
echo 1 MYPROXY >> /etc/iproute2/rt_tables ip route add default via 100.100.100.110 table MYPROXY ip rule add from all fwmark 9 table MYPROXY |
Мы задали маркер 9, он будет использован далее.
3. На маршритизаторе отметьте тем же маркером пакеты, идущие на порты 80 и 443 — они должны идти через прокси сервер:
iptables -A OUTPUT -t mangle -i eth0 -p tcp --dport 443 -j MARK --set-mark 9 iptables -A OUTPUT -t mangle -i eth0 -p tcp --dport 80 -j MARK --set-mark 9 |
В правилах упоминается OUTPUT, т.к. запросы на наш прокси сервер в качестве источника имеют маршрутизирующий компьютер, т.е 100.100.100.109.
4. Настройте браузер — он должен проксеваться через socks proxy на localhost:9999 ( 127.0.0.1:9999 )
Полезная ссылка: ссылка
Запрос с помощью curl будет таким:
curl -v --socks4 127.0.0.1:9999 ”https://www.ya.com/” |