Рейтинг:1

Переадресация Linux ipv4 не работает должным образом

флаг uy

Я хочу использовать свой Raspberry Pi в качестве промежуточного маршрутизатора для доступа к другим локальным сетям. Что-то вроде следующего.

- â â vpn 10.1.4.x
                                   ✓
маршрутизатор 10.1.1.1 pi4b 10.1.1.42 âââââââ>pc 10.1.1.43
      ✓
      ‒ ... ***
      ✓
      ‒ ... ***
      ✓
      - ... ...

Поэтому я включил переадресацию ipv4 в ядре pi4b.

net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 1
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.all.send_redirects = 1

На пи есть маршрут по умолчанию к роутеру(10.1.1.1). И для ПК маршрут по умолчанию установлен на пи (10.1.1.42).К таблицам маршрутизации роутера доступа не имею, но ничего особенного не предполагаю. Это Редми AX6, SSH недоступен.

Но тогда я не могу получить доступ к Интернету на моем компьютере.

magrathea:~ jeffwhen$ traceroute 223.5.5.5
traceroute до 223.5.5.5 (223.5.5.5), макс. 64 перехода, пакеты по 52 байта
 1 * pi4b (10.1.1.42) 2,248 мс *
 2 сяоцян (10.1.1.1) 2,292 мс 1,317 мс 1,258 мс
 3 * * *
 4 * * *

Что я сделал не так? Любая помощь будет оценена по достоинству.


Еще одна полезная информация: после добавления masquerade в nat РАЗМЕЩЕНИЕ chain, я могу получить доступ к Интернету на своем компьютере. Я думаю, это означает, что компьютер отправляет все через мой Raspberry Pi. Но зачем нужна маскарадность?

vidarlo avatar
флаг ar
Что такое таблица маршрутизации на ПК? Что такое таблица маршрутизации на Pi? Какая таблица маршрутизации на вашем роутере?
Jeffwhen avatar
флаг uy
@vidarlo pc имеет маршрут по умолчанию к pi. И у pi есть маршрут по умолчанию к роутеру. Маршрутизатор, я не могу получить доступ к его таблице маршрутизации. ```
vidarlo avatar
флаг ar
У Pi два интерфейса?
Jeffwhen avatar
флаг uy
@vidarlo Еще нет.
Jeffwhen avatar
флаг uy
Мой план — подключиться к офисной VPN на pi, а затем направить определенный трафик на ссылку vpn путем маскировки. Но я не запускал эти конфигурации. Я полагаю, что сначала мне нужно иметь доступ к Интернету через мой маршрутизатор.
Рейтинг:1
флаг ar

Когда ваш Pi получает пакет, который не обрабатывается напрямую, он, вероятно, выдает перенаправление маршрута ICMP, сообщая вашему ПК напрямую использовать 10.1.1.1. Однако это работает не очень хорошо; это угроза безопасности, поэтому многие современные операционные системы их игнорируют.

Правильное решение - одно из двух:

  • Иметь один маршрутизатор на подсеть
  • Иметь маршрут, явно объявленный на клиенте.

Один маршрутизатор на подсеть

Настройте сеть между вашим Pi и вашим ПК на подсеть, отличную от остальной части вашей локальной сети, например. 10.1.2.0/24.Тогда ваш Pi будет иметь маршрут по умолчанию с gw 10.1.1.1 и 10.1.4.0/24 с некоторым шлюзом.

Любые машины за Pi будут просто иметь 10.1.2.0/24 с Pi в качестве шлюза.

Объявить маршрут на клиенте

Настройте свой Pi так, чтобы он имел IP-адрес в подсети 10.1.1.0/24. Не устанавливайте его в качестве шлюза по умолчанию на любом ПК; все они должны иметь 10.1.1.1.

Добавьте маршрут к 10.1.4.0/24 через Pi. В окнах это можно сделать с помощью

маршрут ДОБАВИТЬ 10.1.4.0 МАСКА 255.255.255.0 10.1.1.42 

Использовать маршрут -p ДОБАВИТЬ... для сохранения маршрута при перезагрузке.

Jeffwhen avatar
флаг uy
Это очень подробно. Спасибо. Поэтому я попытался перехватить перенаправление ICMP в wirehark, используя выражение `icmp.type == 5`. Но я не мог получить ни одного. Почему это?
vidarlo avatar
флаг ar
Я признаю, что это немного выстрел из бедра, основанный на опыте;)

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

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