Задать вопрос
@nike_ta

Как настроить правило iptables, чтобы конкретный ip шел через локальный прокси?

Есть хост на нем установлен Openvpn, все работет прекрасно. Так же есть пользователь user2, в openvpn настроенно что ему присваевоен статический ip при подключении к vpn (10.8.0.15). Так же есть локальный tor который висит на порту 9040.

проверка выдает что локально работает
curl --socks5 127.0.0.1:9040 https://httpbin.org/ip
curl --socks5 127.0.0.1:9040 https://httpbin.org/ip
{
"origin": "45.138.16.76"
}


Вопрос как указать на хосте чтобы пользователь с ip 10.8.0.15 шел только через прокси 127.0.0.1:9040

Сейчас правила при старте системы выполняю через скритп
iptables_pravila.sh
#!/bin/bash

# Очистка правил
iptables -F
iptables -t nat -F
iptables -X

# Политики по умолчанию
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# Разрешить трафик loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Разрешить трафик на интерфейсе tun0
iptables -A INPUT -i tun0 -j ACCEPT

# Разрешить установленные и связанные соединения
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

# Порты
iptables -A INPUT -p tcp --dport 222 -j ACCEPT # SSH
iptables -A INPUT -p tcp --dport 443 -j ACCEPT # OpenVPN

# NAT для VPN-трафика
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ens3 -j MASQUERADE

# Разрешить пересылку трафика через VPN
iptables -A FORWARD -i tun0 -o ens3 -j ACCEPT
iptables -A FORWARD -i ens3 -o tun0 -j ACCEPT
  • Вопрос задан
  • 132 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
В общем и целом это делается в -t nat -A PREROUTING.
Но в данном случае ответ - никак, ибо прокси для этого должен уметь работать в transparent mode.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы