@Bright144

Как направить трафик из внутреннего интерфейса на внутренний интерфейс, вне зависимости от default getway?

У меня имеется ПК с ОС Ubuntu 22.04 server который установлен wireguard server с интерфейсом wg0 и VPN client с интерфейсом vpn_vpn. ПК сейчас используется в качестве роутера для подсети 192.168.1.0/24(мои устройства).
Интерфейсы ПК:
eth0 с IP 192.168.1.103/24 (c выходом на интернет);
vpn_vpn с IP 10.211.1.90/16
wg0 с IP 172.26.3.155/16
и в ip route по default eth0
default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.103
8.8.8.8 via 10.211.254.254 dev vpn_vpn
.
Теперь мне нужен направить весь трафик wg0 на vpn_vpn не изменяя default eth0 в ip route, как мне это сделать с помощью iptables? Когда мне нужен обычный интернет, ПК будет работать как обычный маршрутизатор с dns через vpn. Когда нужен интернет с VPN, включаю Wireguard client на устройстве и вес трафик будет проходить через VPN не смотря на defaul via 192.168.1.1 dev eth0, вся суть в этом.
  • Вопрос задан
  • 731 просмотр
Решения вопроса 2
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
С помощью iptables вы можете перенаправить трафик, только используя NAT. Это упрощает жизнь, так как не требует настройки маршрутизации на всем пути следования.
Можно также маршрузитировать трафик в зависимости от ip адреса источника, это позволяет сделать iproute2
Ответ написан
@Bright144 Автор вопроса
Добавляешь в таблице nat
iptables -t nat -A POSTROUTING -o vpn_vpn -j MASQUERADE
для интерфейса vpn.
Дальше следуешь по этой инструкции Роутинг и policy-routing в Linux при помощи iproute2. Окажется все было проще.
Вот команды в моем случи:
iptables -t nat -A POSTROUTING -o vpn_vpn -j MASQUERADE 
ip route add default via 10.211.254.254 dev vpn_vpn table 120    #шлюз vpn подключение
ip rule add from 172.26.0.0/16 table 120                         #подсеть wg0

В итоге у меня:
вывод команды ip route show
default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.103
155.155.155.155 via 192.168.1.1 dev eth0                                   #это публичный IP VPN сервера интерфейса vpn_vpn
8.8.8.8 via 10.211.254.254 dev vpn_vpn
10.211.0.0/16 dev vpn_vpn proto kernel scope link src 10.211.1.90
172.26.0.0/16 dev wg0 proto kernel scope link src 172.26.3.155
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.103 metric 100
192.168.1.1 dev eth0 proto dhcp scope link src 192.168.1.103 metric 100

вывод команды ip route show table 120:
default via 10.211.254.254 dev vpn_vpn
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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