Инструменты пользователя

Инструменты сайта


wiki:wg-proxy

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
wiki:wg-proxy [2025/08/12 23:34] – [включаем шлюз:] adminwiki:wg-proxy [2025/08/13 20:18] (текущий) – [Настройка логики] admin
Строка 60: Строка 60:
 <code> systemctl enable wg-quick@wg0 <code> systemctl enable wg-quick@wg0
 systemctl start wg-quick@wg0</code> systemctl start wg-quick@wg0</code>
 +
 +====== Настраиваем маршрутизацию для клиентов на шлюзе ======
 +
 +<code>echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-forward.conf</code>
 +
 +<code>iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE</code>
 +
 +Сохраняем конфиг. 
 +<code> apt install iptables-persistent</code>
 +Можно заребутиться для проверки. 
 +
 +Всё, в данный момент шлюз работает, гоняя всё через тоннель. Приступаем к настройке алгоритма, чтобы только указанные сайты шли через тоннель, по списку. 
 +
 +===== Настройка логики =====
 +<code>mkdir /etc/iproute2</code>
 +создаём таблицу маршрутизации
 +<code>echo 200 vpn >> /etc/iproute2/rt_tables</code>
 +добавляем маршрут по этой таблице
 +<code>ip route add default dev wg0 table vpn</code>
 +проверяем:
 +<code>#ip route show table vpn</code>
 +должно быть:
 +''default dev wg0 scope link''
 +
 +добавляем правило для пометки пакетов:
 +<code>iptables -t mangle -A PREROUTING -m set --match-set vpn_sites dst -j MARK --set-mark 42</code>
 +[[iptables_mangle| разбор команды]]
 +
 +добавляем правило, чтобы помеченные пакеты шли через таблицу vpn:
 +<code>ip rule add fwmark 42 table vpn</code>
 +
 +проверяем, что у нас за правила на mangle:
 +<code>sudo iptables -t mangle -L -v -n --line-numbers</code>
 +чтобы удалить дубликаты (если есть):
 +<code>iptables -t mangle -D POSTROUTING 2<code>
 +добавляем NAT для пакетов с меткой "42"
 +<code>iptables -t nat -A POSTROUTING -m mark --mark 42 -o wg0 -j MASQUERADE</code>
 +
 +теперь заполняем таблицу vpn айпишниками нужных сайтов.
 +<code>apt install dnsutils</code> (нам понадобится команда dig для извлечения всех ip из адреса)
 +<code>apt install ipset</code>
 +создаём [[parse_vpn_list|скрипт]] и список сайтов.
 +
 +
 +
 +
 +
 +
  
wiki/wg-proxy.1755041681.txt.gz · Последнее изменение: admin

DokuWiki Appliance - Powered by TurnKey Linux