LINUX.ORG.RU

Как завернуть весь трафик с одного интерфейса на другой?

 ,


0

2

Есть три интерфейса: eth0 (192.168.0.120) смотрит в интернет, eth1 (192.168.61.2) - локальная сеть с клиентами, ppp0 (172.17.2.12) - pptp vpn. Мне нужно, что бы весь трафик, который прилетает на eth1 заворачивался в ppp0 (vpn).

Разрешил форвардинг в sysctl, попробовал добавить такие правила iptables:

iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.61.0/24 -j MASQUERADE
iptables -P FORWARD ACCEPT

Не помогло. Погуглил, попробовал несколько других решений, но они тоже оказались не рабочими.

Как реализовать подобную задачу?

Вопрос 100% банальный, но я не смог найти рабочего решения. Буду признателен за помощь.

Ответ на: комментарий от anonymous_sama

Спасибо!

Нашел еще такое решение (работает):

ip rule add from 192.168.61.3 table 11
ip route add default via 172.17.2.12 table 11

На случай если клиент получит другой IP, добавил в /etc/ppp/ip-up:

IP=`ifconfig ppp0 | grep "inet addr" | head -n 1 | cut -d : -f 2 | cut -d " " -f 1`
ip rule add from 192.168.61.3 table 11
ip route add default via $IP table 11

Но минус решения в том, что на каждого клиента в локалке нужно свой маршрут прописывать.

Vilgelm ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.