Есть два vlan’a на mikrotik:
- vlan10 192.168.10.0/24
- vlan11 192.168.11.0/24
- Для 192.168.10.0/24 разрешен NAT через домашнего провайдера.
Настроен хост с linux (alpine) на борту:
- eth0 (vlan10) 192.168.10.5/24 gw 192.168.10.1
- eth1 (vlan11) 192.168.11.5/24
- добавлен маршрут
net 192.168.11.0 netmask 255.255.255.0 gw 192.168.11.1
- tun0 10.52.0.12 (openvpn)
Задача:
- Перенаправить траффик 0.0.0.0/0 vlan’а 11 через хост 192.168.11.5, на котором он будет заворачиваться в vpn-туннель
Что уже пробовал сделать:
- На микротике добавил mangle для траффика сети 192.168.11.0/24 не к локальным адресам
route mark 'nat-vpn'
- Добавлен маршрут 0.0.0.0/0 для
route mark 'nat-vpn'
через 192.168.11.5 - На хосте через iptables организован nat
'iptables -t nat -A POSTROUTING -s 192.168.11.0/24 -o tun0 -j MASQUERADE'
Итоговое решение
- Для сетки 192.168.11.0 назначаем gw 192.168.11.5.
- На хосте 192.168.11.5 правим iptables:
iptables -A INPUT -j ACCEPT -m conntrack --ctstate RELATED,ESTABLISHED
iptables -A OUTPUT -j ACCEPT -o lo
iptables -A OUTPUT -j ACCEPT -o eth0 -d $VPN_IP -p udp -m udp --dport 1198
iptables -A FORWARD -j ACCEPT -i tun0 -o eth1
iptables -A FORWARD -j ACCEPT -i eth1 -o tun0
iptables -A OUTPUT -j ACCEPT -o tun0
iptables -A INPUT -j DROP
iptables -A FORWARD -j DROP
iptables -A OUTPUT -j DROP
iptables -t nat -A POSTROUTING -j MASQUERADE -s 192.168.11.0/24
- На остальных устройствах в 192.168.11.0 добавляем необходимые маршруты в другие сетки через роутер:
ip route add 192.168.30.0/24 via 192.168.11.1 dev eth0