Маршрутизатор за маршрутизатором


1

Мое здание кондо предоставляет Wi-Fi. Однако у них есть глупое окно условий обслуживания, которое вы должны принять, прежде чем получить доступ. Я написал скрипт, который может автоматически публиковать в этом окне условия предоставления услуг и предоставлять доступ. Моя проблема в том, что я не могу подключить свой Apple TV, так как у него нет веб-браузера, чтобы принять условия обслуживания.

Поэтому я взял Raspberry Pi и сделал его маршрутизатором NAT. Я подключил Wi-Fi PI к Wi-Fi кондо. Я поставил задачу cron, чтобы запустить скрипт для публикации на маршрутизаторе кондо, чтобы сохранить условия обслуживания. Все отлично работает, пока я не подключил AirPort к Ethernet. Я планирую создать свою собственную сеть Wi-Fi, используя Raspberry Pi в качестве маршрутизатора и AirPort в качестве вторичного маршрутизатора (частная сеть Wi-Fi).

Таким образом, более или менее происходит двойной NAT. Кондо-роутер делает NAT. AirPort использует NAT.

Примерно через минуту использования все отключается. Я думаю, что кондо-роутер блокирует нас. Кондо-маршрутизатор не будет направлять пакеты в Интернет. Это не даст мне IP от DHCP. Кондо-роутер является продуктом WatchGuard.

Возможно ли, что кондо-роутер обнаруживает частную сеть (AirPort) и блокирует мой доступ. Я предполагаю, что они обнаруживают это через двойной NAT, который продолжается. Есть ли способ обмануть маршрутизатор, чтобы он не обнаружил AirPort и не позволил всему этому работать?

Благодарю.

~ Спайсер


1
Вы уверены, что делаете не против ToS?
Гроностай

Какой маршрутизатор дает вашим устройствам ip? Если вы настроили свой raspberry pi в качестве маршрутизатора, это устройство, которое должно раздавать новые номера ip вашим сервисам. И если вы можете отключить dhcp (и NAT) в аэропорту и использовать его только в качестве точки доступа, у вас будет только один NAT. Кроме того, после того, как у вас больше нет доступа ... Малина Пи тоже заблокирована ??
Рик

Когда я читаю TOS, я не вижу ничего, что запрещало бы это. Плюс я владелец в здании кондо. Я считаю это "моим". Я пытался поработать с платой кондо, чтобы убрать окно условий обслуживания с наших роутеров, но плата довольно тупая и меня не слушает.
spicer

Кондо-маршрутизатор дает IP-адрес беспроводной карте на Raspberry Pi. Затем у меня есть статическая настройка сети между Ethernet Raspberry Pi и AirPort. Затем AirPort раздает IP-адреса устройствам через DHCP. Таким образом, устройства получают IP-адрес от AirPort, Airport направляет через NAT через Wi-Fi соединение Raspberry Pi с маршрутизатором кондо. Я проверил все это работает правильно. Кажется, маршрутизатор кондо блокирует наше соединение. Я думаю, что это какая-то защита, встроенная в маршрутизатор.
spicer

Я не уверен, как можно обнаружить маршрутизатор за маршрутизатором. Я знаю, что некоторые вещи делают, но я не совсем понимаю, что они делают, чтобы обнаружить использование двойного NAT. Кроме того, Pi использует какой-то мостовой интерфейс между своим Wi-Fi и Ethernet? Наконец, вы можете использовать другое устройство, скажем, одно, на котором работает OpenWRT? Может быть проще отладить одно устройство, чем два.
Майкл Графф

Ответы:


2

Если ваш Raspberry Pi выполняет NAT, то вам не нужно, чтобы ваша базовая станция AirPort выполняла NAT. Отключить NAT на базовой станции AirPort; на вкладке «Сеть» установите для «Режим маршрутизатора» значение «Выкл. (режим моста)».


Отличная идея. Казалось бы, я делал слишком много NAT. Я настроил его как мост и получил тот же результат. :(
spicer

1

Об использовании прокси:
Да, я думал, что Прокси тоже не будет работать с Apple TV ... но ... это возможно .


Для iptablesкоманды ... вы можете попробовать:

iptables -t mangle -A POSTROUTING -o <wifi> -j TTL --ttl-set 128

(где <wifi>ваш исходящий интерфейс WiFi.)

POSTROUTINGдля трафика, выходящего. ( PREROUTINGтолько для входящего трафика)

Причина этого заключается в том, что вы хотите, чтобы трафик от самого Raspberry PI также был установлен на 127. И если вы сделаете это, ping 127.0.0.1вы можете увидеть, что он может быть установлен на 64.

И если вы установите трафик из вашей сети на 127, а Raspberry PI через некоторое время также использует некоторый трафик (с TTL 64), вы будете пойманы :) (может быть, поэтому это занимает час)

Я еще не смотрел на форсирование более низких портов (и других методов).

ТТЛ-трюк все еще работает целый час (каждый раз)?

В любом случае, я бы также следовал инструкциям Спиффа, чтобы установить (и сохранить) Аэропорт в качестве моста. (двойной NAT не нужен в любом случае)


Прежде всего большое спасибо за вашу помощь в этом. Без твоего руководства я бы давно сдался.
spicer

Поэтому я попробовал то, что вы предложили. Те же результаты :(. Вот мой скрипт для настройки брандмауэра gist.github.com/cloudmanic/8175534 . Видите ли вы что-то не так? Как только маршрутизатор блокирует меня, кажется, он блокирует меня в течение часа. Я собираюсь попробовать идея прокси следующая. Спасибо за ссылки.
spicer

@spicer Прошло много времени с тех пор, как я баловался с iptables;) Насколько я вижу (и тестировал его на виртуальной машине), скрипт должен работать нормально. Я использовал виртуальную машину с Ubuntu, и после выполнения сценария ping (с другой машины) имел TTL 128. Так что есть еще одна проверка. Я искал WatchGuard, но не нашел ничего технического в том, что он проверяет дальше. Самое интересное в Linux - вы можете написать скрипт для изменения вашего MAC и восстановить соединение, когда вы обнаружите потерю интернета (если это все еще час хорошего соединения). Интересно, сколько времени им понадобится, чтобы обнаружить это;)
Рик

@spicer Также, если вы тестируете прокси, возможно, вы могли бы сначала протестировать его в простом формате (через компьютер и squid на PI), и если это работает, вы можете установить «прозрачный прокси». С помощью iptables вы можете перенаправить трафик на этот прокси-сервер, работающий на вашем PI. Смотрите здесь . Таким образом, вам не нужно настраивать всю машину с прокси. (iptables делает это невидимым для вас.) Не уверен (пока), если это работает для всего трафика, но если это работает для порта 80, это начало.
Рик
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.