URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 61816
[ Назад ]

Исходное сообщение
"Сокрытие факта маршрутизации на FreeBSD"

Отправлено Srg , 15-Ноя-05 18:13 
Доступ в интернет предоставляется провайдером, который так же содержит большую локальную сеть. Всем выдаются статичные маскарадные IP, привязки по MAC нет, но зато есть программа аутентификации для открытия доступа в интернет (версии для FreeBSD имеется). FreeBSD используется в качестве небольшого домашнего сервера с роутером и позволяет двум домашним ноутбукам  иметь доступ в сеть - здесь всё работает, волнует то, что у провайдера в договоре есть пункт о запрете пользователям создавать прокси-сервера, гейты и т.п, тоесть использовать больше чем один компьютер для выхода в интернет на одном выданном IP. Были уже прецеденты отключения других пользователей за нарушении этого пункта.
Вопрос в том, как скрыть то, что в наличии имеется факт маршрутизации?

Содержание

Сообщения в этом обсуждении
"Сокрытие факта маршрутизации на FreeBSD"
Отправлено Antonio , 15-Ноя-05 18:40 
100% рабочего метода сокрытия нет. Вдаваться в теорию долго (была статья, но я потерял ссылку не неё). Метод с TTL отлавливается, squid (даже с запрещёнными X-Fowarded-For и т.п.) -- тоже. Если коротко -- ловят по характерным признакам пакетов.

Проще всего договориться с провайдером, обычно либо будете платить на 5-10 долларов дороже, либо просто закроют глаза. Главное -- доказать, что ни при каких обстоятельствах вашим канало не воспользуются третьи лица.

P.S. Нормальному провайдеру наплевать, сколько компьютеров у клиента, лишь бы он не перепродавал трафик соседу, условно говоря.


"Сокрытие факта маршрутизации на FreeBSD"
Отправлено Srg , 15-Ноя-05 18:51 
Но хоть немного значит можно завуалировать это?)

Договориться с провайдером не представляется возможным, у него странная политика по этому поводу.


"Сокрытие факта маршрутизации на FreeBSD"
Отправлено toor99 , 15-Ноя-05 18:50 
Если речь идёт не о безлимитном тарифе, то этот "провайдер" очень глупый и очень жадный. В его интересах продавать трафика как можно больше, а не пасти, кто какой прокси поставил, и что к нему подключил.
А отвечая на вопрос - два ноутбука из-за NATа никто никогда не пропасёт. Просто потому, что они создают нагрузку, которую может создать и один комп. Вообще, 1 или 2 - разницы нет, вот 1 и 10 - уже заметить можно...

"Сокрытие факта маршрутизации на FreeBSD"
Отправлено Antonio , 15-Ноя-05 18:57 
>А отвечая на вопрос - два ноутбука из-за NATа никто никогда не
>пропасёт. Просто потому, что они создают нагрузку, которую может создать и
>один комп. Вообще, 1 или 2 - разницы нет, вот 1
>и 10 - уже заметить можно...

http://www.google.ru/search?q=A+Technique+for+Counting+NATte...


"Сокрытие факта маршрутизации на FreeBSD"
Отправлено Srg , 15-Ноя-05 18:58 
Безлимитный, но узкий канал, да ещё и с ограничением трафика в месяц...

Пакеты то, идущие вовне с ноутбука меняются, следовательно провайдер технически может это отследить.



"Сокрытие факта маршрутизации на FreeBSD"
Отправлено toor99 , 15-Ноя-05 23:46 
>Безлимитный, но узкий канал, да ещё и с ограничением трафика в месяц...
>
>
>Пакеты то, идущие вовне с ноутбука меняются, следовательно провайдер технически может это
>отследить.

Технически - может. Но не будет. Уверяю тебя. Я сам работал в такой конторе. Делать больше людям нечего, кроме как анализировать пакеты.


"Сокрытие факта маршрутизации на FreeBSD"
Отправлено AMDmi3 , 15-Ноя-05 19:50 
>Вопрос в том, как скрыть то, что в наличии имеется факт маршрутизации?

Самый надежный способ - это не дать внутренним машинам посылать пакеты в сеть провайдера напрямую. Все пакеты будут исходить с гейта, поэтому по параметрам TCP и IP пакетов ничего определить не получится, разве что анализировать траффик, чем провайдер, я думаю, заниматься не будет. Для того, чтобы с ноутбуков можно было работать с внешней сетью, придется ставить прокси для всех нужных сервисов. HTTP (выключить x-forwarded-for и подменять http-user-agent, чтобы прикинуться браузером под FreeBSD), FTP, кэширующий dns сервер. Если скурпулезно не анализировать траффик, такую схему не обнаружить. Для других служб - есть TCP прокси, но их придется запускать по экземпляру на каждую пару удаленный_хост:порт.
Для остального придется, вероятно, запускать нативный софт на гейте.

Вариант с NAT, конечно, удобнее с точки зрения юзабельности, но нужно переписывать множество полей заголовков TCP/IP пакетов - ttl, timestamp, mss и т.д. Кое-что умеет пакетный фильтр pf (смотреть man на тему scrub). Но это лучше сначала тестировать в своей сети, ибо велик риск ошибиться.

Есть 100% надежный вариант, но для него нужна машина вне сети провайдера, с хорошим каналом, небольшим пингом и реальным адресом (на работе, например). Тогда до нее бросается VPN (например, с помощью openvpn) с гейта и весь траффик перенаправляется через тоннель. (на самом деле для openvpn хватит и одного реального адреса из двух).

Очень надежным выглядит теоретический вариант с прозрачным проксированием всех tcp соединений (и udp пакетов) - но это должно поддерживаться на уровне ядра, реализаций я не видел. Хотя вполне возможно, что что-то такое есть под linux.

Во всех перечисленных случаях, кроме VPN, теоретически можно обнаружить, что вы использете несколько компьютеров, если на ноутбуках у вас стоит не то, что на гейте - будет выглядеть странным, что с FreeBSD хоста идет траффик виндовой ICQ2000. Но это уже паранойя, скорее всего мониторингу подвергается какой-либо один заголовок - IP TTL или TCP timestamp.


"Сокрытие факта маршрутизации на FreeBSD"
Отправлено iasb , 15-Ноя-05 22:05 
я в такой же точно ситуации тупо поставил DLink DI-614 и объяснил провайдеру что мне нужен WiFi. Прописали МАС Длинка, сошлись на том что у меня одна машина и через НАТ все прекрасно работает (реально - 2 машины. Пока они мне ничего доказать не могут. К ним на сайты я не хожу и анализировать трафик - это что-то из области фантастики. На две машины DI-614 - вполне достаточен по производительности.

"Сокрытие факта маршрутизации на FreeBSD"
Отправлено Srg , 15-Ноя-05 22:28 
Мой провайдер предусмотрел это, введя программу для авторизации пользователей. В моём случае надо что бы разделял именно роутер с запущенной программой авторизации.

"Сокрытие факта маршрутизации на FreeBSD"
Отправлено Srg , 15-Ноя-05 22:21 
Спасибо, теперь я буду знать от чего начинать двигаться в этой задаче!)

"Сокрытие факта маршрутизации на FreeBSD"
Отправлено denz , 21-Июн-07 14:46 
>Спасибо, теперь я буду знать от чего начинать двигаться в этой задаче!)
>

В /etc/sysctl.conf

добавляем это:
net.inet.ip.accept_sourceroute=1
net.inet.ip.sourceroute=1

И внешний шлюз при трейсе просто не виден, виден тот чо стоит гв...