Рейтинг:0

Перенаправление трафика с интерфейса на интерфейс настройки VPN с помощью iptables

флаг ge

Я пытаюсь добиться чего-то легкого, но, видимо, мне чего-то не хватает.

В моем ящике работает VPN-клиент, который создал тун0 интерфейс. Коробка имеет внешний трафик, исходящий от eth0.

Я хочу перенаправить трафик с eth0 к тун0. Я запускаю следующие команды:

iptables -A FORWARD -i eth0 -o tun0 -s 192.168.100.0/28 -j ПРИНЯТЬ
iptables -A FORWARD -i tun0 -o eth0 -m состояние --state УСТАНОВЛЕНО, СВЯЗАННО -j ПРИНЯТЬ
iptables -t nat -A POSTROUTING -s 192.168.100.0/28 -o tun0 -j MASQUERADE

Обратите внимание, что я выбираю диапазон исходных IP-адресов, потому что хочу пересылать только определенный диапазон.

Бег tcpdump на eth0 интерфейс я вижу трафик, поступающий от машины в диапазоне 192.168.100.0/28 но я не вижу трафика, идущего в тун0.

Переадресация по IP естественно включена.

Я не уверен, что мне действительно не хватает здесь.

IP-конфигурация eth0 является 192.168.10.93/24 пока тун0 является 10.8.8.15/24

√ ip r
по умолчанию через 192.168.10.1 dev eth0 метрика 100
10.8.8.0/24 dev tun0 ссылка на область действия src 10.8.8.15
172.17.0.0/16 dev docker0 ссылка на область действия src 172.17.0.1
172.30.32.0/23 dev hassio scope link src 172.30.32.1
192.168.10.0/24 dev eth0 ссылка на область видимости src 192.168.10.93 метрика 100
флаг ge
Трафик, попадающий в ящик, не имеет пункта назначения «192.168.100.0/28», но имеет источник «192.168.100.0/28». пункт назначения — Интернет.
флаг ge
IP-конфигурация eth0 — 192.168.10.93/24, а tun0 — 10.8.8.15/24.
флаг ge
`~ ip r по умолчанию через 192.168.10.1 dev eth0 метрика 100 10.8.8.0/24 dev tun0 ссылка на область действия src 10.8.8.15 172.17.0.0/16 dev docker0 ссылка на область действия src 172.17.0.1 172.30.32.0/23 dev hassio scope link src 172.30.32.1 192.168.10.0/24 dev eth0 ссылка на область видимости src 192.168.10.93 метрика 100 `
флаг ge
Конечно. добавил необходимые изменения
флаг ge
назначением трафика являются общие внешние IP-адреса Интернета. в основном машина генерирует Интернет-трафик, который перенаправляется на интерфейс eth0 этого блока, а из eth0 должен быть перенаправлен на tun0 и, наконец, в Интернет. самое главное, что трафик уходит с `tun0`, потому что это VPN.
флаг in
Вы говорите о переадресации из `eth0` (интернет) в `tun0`. Я не могу понять, что вы на самом деле хотите куда. Не могли бы вы привести лучший пример пакета, который не работает. Пакет, который должен попасть в Интернет, должен быть перенаправлен на eth0, так как это ваш Интернет.
флаг ge
По сути, это интерфейс «tun0» VPN, поэтому трафик должен поступать в Интернет через «tun0», поэтому он будет казаться замаскированным VPN-соединением. В основном на простом английском языке я пытаюсь сделать следующее: весь входящий трафик на интерфейс eth0 с определенным IP-адресом источника должен перенаправляться в Интернет через интерфейс tun0, чтобы он отображался за VPN-соединением.
флаг in
Можете ли вы подключиться к Интернету через `tun0`? Я думаю, что ваше понимание того, что такое переадресация, неверно. Не могли бы вы подтвердить, что вы уверены в том, что является источником и пунктом назначения в сценариях, о которых вы думаете. Если у вас есть трафик с пунктом назначения «интернет», поступающий через `tun0`, и вы хотите, чтобы он перенаправлялся в интернет, то именно eth0 должен выполнять MASQUERADE, но это не работает с вашим объяснением исходного диапазона.
флаг ge
Хорошо, я рассмотрю все свои предположения и дам вам знать.
флаг ge
Также я рассмотрю этот https://serverfault.com/questions/571801/tunneling-traffic-from-eth0-to-tun0-openvpn-ububtu-12-04, потому что это именно то, чего я пытаюсь достичь. Спасибо, в любом случае
флаг ge
но просто чтобы объяснить вам, потому что я думаю, что понял то, что вы не поняли, машина с интерфейсами `eth0` и `tun0` должна будет работать как форвардер. принимать трафик, поступающий на интерфейс eth0, и направлять его в Интернет через интерфейс tun0.
флаг in
Так что tun0 теперь интернет, а не eth0 Какой IP-адрес шлюза на tun0?
Рейтинг:1
флаг in

Поскольку это, в конце концов, может быть связано с трафиком из 192.168.100.0/28 выйти за тун0 Это может быть решено чем-то вроде:

ip правило добавить из 192.168.100.0/28 поиск 10000
ip route добавить по умолчанию через таблицу ${tun0gwip} 10000

Также сохраните iptables MASQUERADE, который необходим, если только tun0 gw не сможет вернуться в другую вашу сеть.

флаг ge
Спасибо, я попробую и посмотрю, работает ли это. Но мой вопрос заключается в том, что пакеты от eth0 должны быть перенаправлены на tun0. Почему моя команда вперед не работает?
флаг in
iptables не отвечает за маршрутизацию трафика, это работа таблицы маршрутизации.
флаг ge
Я не совсем знаком с командой `ip rule add`, поэтому мне нужно изучить ее, но это то, что я получаю `правило ip добавляет из 192.168.100.0/28 поиска 10000 ip: неверный аргумент '10000' в 'идентификатор таблицы' `
флаг ge
Мне пришлось установить инструмент iproute2. также я нашел точно все необходимые команды, и `iptables` необходим в конце дня, иначе нет NAT. https://unix.stackexchange.com/questions/490662/how-to-route-traffic-from-br0-to-tun0-when-tun0-is-not-the-default-out-of-the
флаг ge
Я собираюсь проголосовать за ваш ответ @NiKiZe, но в моем случае это не совсем правильно. На самом деле без iptables не получится.
флаг in
У вас уже была правильная часть MASQURADE, поэтому вы не включили ее. Будет обновление, чтобы упомянуть об этом.
Рейтинг:0
флаг ge

Это точная комбинация команд, которая решила проблему:

Создайте новую таблицу маршрутов с именем впн под

➤ ~ кошка /etc/iproute2/rt_tables
#
# зарезервированные значения
#
255 местных
254 основных
253 по умолчанию
0 не указано
#
# местный
#
№1 в инр.рухепе
1 впн

а затем запустите:

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

iptables -A FORWARD -i eth0 -o tun0 -s 192.168.100.0/28 -j ПРИНЯТЬ
iptables -A ВПЕРЕД -i tun0 -o eth0 -j ПРИНЯТЬ

iptables -A INPUT -i tun0 -m состояние --state СВЯЗАННО, УСТАНОВЛЕНО -j ПРИНЯТЬ

ip route добавить по умолчанию dev tun0 table vpn
ip route добавить 192.168.100.0/28 dev eth0 table vpn

ip правило добавить из таблицы 192.168.100.0/28 vpn

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.