Re: Перенаправить трафик в домашней сети через линукс хост
От: Really-Yaris Швеция  
Дата: 24.10.18 06:54
Оценка: 2 (1)
Здравствуйте, A13x, Вы писали:

A>Хочется в домашней сети перенаправить весь трафик через единственный линукс хост, цель — запрет определенных адресов, а также запрет на внешний интернет для определенных устройств в сети — желательно на основе белого списка. В идеале сделать так, чтобы лишь часть заранее явно указанных устройств имела доступ к внешнему интернету, а остальные — только к локалке (т.е. друг к другу). Все устройства которые хочется иметь возможность (раз)блокировать будут подключаться только по wifi.


A>В наличии — Intel NUC с установленным Debian, который и хочется использовать как gateway, ethernet router, docsis modem (через который собственно осуществляется коннект к интернету) и wifi router. В теоретическом багаже — знание линукса на уровне уверенного пользователя coreutils, знание сетей на уровне application developer'a.


A>Есть понимание, что для озвученного выше на Gateway нужно следующее squid который собственно и будет обрабатывать трафик, DNS server для возможности конфигурирования сетевых имен, DHCP server для раздачи IP.


A>Собственно вопрос: в голове у меня пока нет "ментальной модели" как все это хозяйство заставить работать. Есть время и желание разобраться поглубже, но не настолько чтобы на это потратить чуть больше нескольких вечеров.


A>Если кто-то делал подобное — пните в правильном направлении, поделитесь пожалуйста куда "копать"? Для начала достаточно хотя бы примитивного проксирования трафика с белым списком доступа к интернету.


A>Какое железо помимо озвученного выше требуется чтобы собрать требуемую конфигурацию?

A>Самое главное — как wifi modem должен быть подключен к gateway чтобы весь трафик шел через этот gateway?
A>Какие ключевые вещи нужно изучить чтобы собрать такую конфигурацию?

По железу — если предположить, что интерфейс в DOCSIS есть в Gateway как-то, то вроде всё есть. У меня ещё в конфигурации есть свитч, но это для NAS и телевизора.

WiFi-router переключить в режим Access Point и проводом в Gateway воткнуть, в DHCP-lease выдавать в качестве default gateway адрес Gateway, тогда автоматически всё, что через WiFi, пойдёт через Gateway. На самом Gateway настройка доступа может делаться через iptables, DNS, squid или объединение этих вариантов. Может оказаться, что трафик между локальными девайсами в этом случае идёт через Gateway, встречались мне такие тупые AP.
Либо WiFi-router оставить как есть, а его uplink воткнуть в Gateway, тогда может немного усложниться задача в плане IP подсетей (если Client-WiFi и WiFi-Gateway будут разные), но всё равно достаточно просто. Трафик между локальными девайсами тогда останется в WiFi-router.
Автоматический "заворот" HTTP(S) в Squid можно сделать с помощью Iptables, если не предполагается ни для каких устройств "прямого" доступа к сайтам (что может понадобиться для обновлений, например).

Насчёт Squid — могу сказать, что не так давно пытался с помощью squid (на OpenBSD, правда) настроить фильтрацию Youtube (ограничить некоторые клипы), но не преуспел — либо youtube отваливался через n минут, либо был доступ ко всему. Прочее SSL/TLS проксирование работало на ура. Возможно, это мои кривые руки и недостаток знаний.
Viso gero, Yaris
Re: Перенаправить трафик в домашней сети через линукс хост
От: Sheridan Россия  
Дата: 27.10.18 19:45
Оценка: 2 (1)
Здравствуйте, A13x, Вы писали:

A>Если кто-то делал подобное — пните в правильном направлении, поделитесь пожалуйста куда "копать"? Для начала достаточно хотя бы примитивного проксирования трафика с белым списком доступа к интернету.


A>Какое железо помимо озвученного выше требуется чтобы собрать требуемую конфигурацию?

A>Самое главное — как wifi modem должен быть подключен к gateway чтобы весь трафик шел через этот gateway?
A>Какие ключевые вещи нужно изучить чтобы собрать такую конфигурацию?

Сделай этот линупссервер шлюзом.
1. Нужны сетевухи в количестве количество_провайдеров+1 (локалка).
2. adsl в бридж, pppoe соединение поднимай на шлюзе. Вообще, все интерфейсы в инторнеты поднимай так, чтобы на шлюзе были внешние ip адреса (а не на модемах).
3. роутер с вайфаем не делай бриджем, а покупай дешовый adsl модем и подключай об него. А роутер с вайфаем настраивай так, чтобы там отключить всё роутерное, оставить только вайфай и подключай к локалке не через wan.
4. На шлюзе поднимай прокси(нопример 3proxy)-dhcpd-bind и прочие торы с vpn, настраивай iptables и маршрутизацию в нужную тебе сторону (нопример по расписанию скачивай ркн листы откуда нибудь и роуть их сквозь тор или свой vpn), поднимай мониторинг и прочие нужности.

про wifi modem еще раз: настраивай только wifi на нём. Отключай дхсп-бинд и прочее. Делай из него простую точку доступа и размещай за шлюзом.
Matrix has you...
Перенаправить трафик в домашней сети через линукс хост
От: A13x США  
Дата: 23.10.18 23:21
Оценка:
Хочется в домашней сети перенаправить весь трафик через единственный линукс хост, цель — запрет определенных адресов, а также запрет на внешний интернет для определенных устройств в сети — желательно на основе белого списка. В идеале сделать так, чтобы лишь часть заранее явно указанных устройств имела доступ к внешнему интернету, а остальные — только к локалке (т.е. друг к другу). Все устройства которые хочется иметь возможность (раз)блокировать будут подключаться только по wifi.

В наличии — Intel NUC с установленным Debian, который и хочется использовать как gateway, ethernet router, docsis modem (через который собственно осуществляется коннект к интернету) и wifi router. В теоретическом багаже — знание линукса на уровне уверенного пользователя coreutils, знание сетей на уровне application developer'a.

Есть понимание, что для озвученного выше на Gateway нужно следующее squid который собственно и будет обрабатывать трафик, DNS server для возможности конфигурирования сетевых имен, DHCP server для раздачи IP.

Собственно вопрос: в голове у меня пока нет "ментальной модели" как все это хозяйство заставить работать. Есть время и желание разобраться поглубже, но не настолько чтобы на это потратить чуть больше нескольких вечеров.

Если кто-то делал подобное — пните в правильном направлении, поделитесь пожалуйста куда "копать"? Для начала достаточно хотя бы примитивного проксирования трафика с белым списком доступа к интернету.

Какое железо помимо озвученного выше требуется чтобы собрать требуемую конфигурацию?
Самое главное — как wifi modem должен быть подключен к gateway чтобы весь трафик шел через этот gateway?
Какие ключевые вещи нужно изучить чтобы собрать такую конфигурацию?
Re[2]: Перенаправить трафик в домашней сети через линукс хост
От: aik Австралия  
Дата: 27.10.18 21:27
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>2. adsl в бридж, pppoe соединение поднимай на шлюзе. Вообще, все интерфейсы в инторнеты поднимай так, чтобы на шлюзе были внешние ip адреса (а не на модемах).


Эх, все то вам бы купить чего нибудь ненужного. Модем покупать не обязательно, если текущий модем разрешает vlan так, чтоб часть портов бриджить с adsl, а оставшееся с wifi интерфейсом модема.
Re[3]: Перенаправить трафик в домашней сети через линукс хост
От: Sheridan Россия  
Дата: 27.10.18 21:41
Оценка:
Здравствуйте, aik, Вы писали:

S>>2. adsl в бридж, pppoe соединение поднимай на шлюзе. Вообще, все интерфейсы в инторнеты поднимай так, чтобы на шлюзе были внешние ip адреса (а не на модемах).


aik>Эх, все то вам бы купить чего нибудь ненужного. Модем покупать не обязательно, если текущий модем разрешает vlan так, чтоб часть портов бриджить с adsl, а оставшееся с wifi интерфейсом модема.


Можно и так. Пускай топикстартер сам выберет, что ему проще. Рисовать маршруты или потратить несколько пару рублей на тупой адсл-модем
Matrix has you...
Re[4]: Перенаправить трафик в домашней сети через линукс хост
От: aik Австралия  
Дата: 27.10.18 21:53
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Можно и так. Пускай топикстартер сам выберет, что ему проще. Рисовать маршруты или потратить несколько пару рублей на тупой адсл-модем


Какие ещё маршруты, зачем? Ну и тупой модем может и линию держать на все, как говорится, деньги, зачем добавлять потенциальное говножелезо в картину без нужды?
Re: Перенаправить трафик в домашней сети через линукс хост
От: vsb Казахстан  
Дата: 27.10.18 22:46
Оценка:
Трафик направляется через параметр gateway в клиентском устройстве. Надо или вручную настраивать параметры сети или использовать свой DHCP-сервер с кастомными настройками. Роутинг это обычный FORWARD. По IP-адресам там блокировать на уровне iptables можно. Если надо блокировать на уровне сайтов, надёжно это делать можно только с помощью MITM, для этого надо установить свой доверенный корневой сертификат на клиентские устройства, если это какой-нибудь телевизор, там такого функционала может и не быть.
Re[5]: Перенаправить трафик в домашней сети через линукс хост
От: Sheridan Россия  
Дата: 28.10.18 09:10
Оценка:
Здравствуйте, aik, Вы писали:

S>>Можно и так. Пускай топикстартер сам выберет, что ему проще. Рисовать маршруты или потратить несколько пару рублей на тупой адсл-модем

aik>Какие ещё маршруты, зачем? Ну и тупой модем может и линию держать на все, как говорится, деньги, зачем добавлять потенциальное говножелезо в картину без нужды?

Ты бы сначала у топикстартера спросил — он понимает о чом ты или нет, а потом лез бы ко мне.
Matrix has you...
Re[2]: Перенаправить трафик в домашней сети через линукс хост
От: A13x США  
Дата: 28.10.18 21:20
Оценка:
Здравствуйте, Really-Yaris, Вы писали:

RY>Здравствуйте, A13x, Вы писали:


A>>...


Спасибо. Пока у меня затык на настройке iptables на стороне gateway --- Lan Modem --> (eth0) Gateway (eth1) -> Internet Modem, а именно для правил, чтобы трафик идущий на eth0 прокидывался на eth1.

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

Если интересно экспериментирую пока так: на линукс-сервере поднял virtual bridged network через docker network (таким образом эмулирую связку Gateway->Internet Modem) — это у меня пока альтернатива приобретению второй ethernet карточки или подключению usb ethernet.
Re[2]: Перенаправить трафик в домашней сети через линукс хост
От: A13x США  
Дата: 28.10.18 21:38
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Здравствуйте, A13x, Вы писали:

...

Спасибо!

Было бы очень интересно услышать каким образом настраивать iptables на стороне gateway — пока просто хочется прокидывать трафик с сетевой карты через которую подключается wifi модем+lan роутер на сетевую карту которая собственно подключается к интернет модему.

Пытался настроить методом тыка по туториалу иллюстрирующему примерно такую же конфигурацию как и у меня — но очень скоро понял, что так дело не пойдет и следующим шагом попробую что-нибудь вроде этого.
Re[2]: Перенаправить трафик в домашней сети через линукс хост
От: A13x США  
Дата: 28.10.18 21:47
Оценка:
Здравствуйте, vsb, Вы писали:

vsb> ... Если надо блокировать на уровне сайтов, надёжно это делать можно только с помощью MITM, для этого надо установить свой доверенный корневой сертификат на клиентские устройства, если это какой-нибудь телевизор, там такого функционала может и не быть.


Хм, а нельзя ли этого же добиться с помощью dns server на gateway? То есть не пытаться прослушать трафик с установкой чего-то вроде squid-as-MITM, а давать "фейковые" ip для блокируемых сайтов?

Т.е. так — предположим условный youtube заблокирован, на gateway установлен bind, который при попытке коннекта клиентское приложение пытается законнектится к youtube дает dns адрес внутреннего сайта отдающего страницу указывающую, что доступ ограничен.
Re[3]: Перенаправить трафик в домашней сети через линукс хост
От: Sheridan Россия  
Дата: 29.10.18 08:29
Оценка:
Здравствуйте, A13x, Вы писали:


A>Было бы очень интересно услышать каким образом настраивать iptables на стороне gateway — пока просто хочется прокидывать трафик с сетевой карты через которую подключается wifi модем+lan роутер на сетевую карту которая собственно подключается к интернет модему.

Начни с чего нибудь типа этого или в гуголе "linux gateway setup"
Matrix has you...
Re[3]: Докер??? о0
От: Sheridan Россия  
Дата: 29.10.18 09:30
Оценка:
Здравствуйте, A13x, Вы писали:

A>Если интересно экспериментирую пока так: на линукс-сервере поднял virtual bridged network через docker network (таким образом эмулирую связку Gateway->Internet Modem) — это у меня пока альтернатива приобретению второй ethernet карточки или подключению usb ethernet.

Докер? зачем докер? Докер тут не нужен совершенно.
Поднимай бинд, дхцп, выполняй echo 1 > /proc/sys/net/ipv4/ip_forward, поднима й прокси, тор, впн и так далее. Докер тебе будет только мешать, так как тебе придётся помимо вышеописанного еще заниматься роутом трафика между контейнерами и хостом.
Matrix has you...
Re[3]: Перенаправить трафик в домашней сети через линукс хос
От: vsb Казахстан  
Дата: 29.10.18 10:21
Оценка:
Здравствуйте, A13x, Вы писали:

vsb>> ... Если надо блокировать на уровне сайтов, надёжно это делать можно только с помощью MITM, для этого надо установить свой доверенный корневой сертификат на клиентские устройства, если это какой-нибудь телевизор, там такого функционала может и не быть.


A>Хм, а нельзя ли этого же добиться с помощью dns server на gateway? То есть не пытаться прослушать трафик с установкой чего-то вроде squid-as-MITM, а давать "фейковые" ip для блокируемых сайтов?


Кстати да, можно. Фейковые не обязательно, просто отдавать NXDOMAIN, чтобы браузер уже не пробовал никуда соединяться, лишние микросекунды сэкономятся. Что-то я затупил, я как раз так рекламу режу.

A>Т.е. так — предположим условный youtube заблокирован, на gateway установлен bind, который при попытке коннекта клиентское приложение пытается законнектится к youtube дает dns адрес внутреннего сайта отдающего страницу указывающую, что доступ ограничен.
Отредактировано 29.10.2018 10:22 vsb . Предыдущая версия .
Re[4]: Докер??? о0
От: A13x США  
Дата: 11.11.18 09:41
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Здравствуйте, A13x, Вы писали:


A>>Если интересно экспериментирую пока так: на линукс-сервере поднял virtual bridged network через docker network (таким образом эмулирую связку Gateway->Internet Modem) — это у меня пока альтернатива приобретению второй ethernet карточки или подключению usb ethernet.

S>Докер? зачем докер? Докер тут не нужен совершенно.
S>Поднимай бинд, дхцп...

Да, все верно, это исключительно для экспериментов, которые, впрочем, увели меня несколько в сторону.
Re[4]: Перенаправить трафик в домашней сети через линукс хост
От: A13x США  
Дата: 11.11.18 10:08
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Здравствуйте, A13x, Вы писали:



A>>Было бы очень интересно услышать каким образом настраивать iptables на стороне gateway — пока просто хочется прокидывать трафик с сетевой карты через которую подключается wifi модем+lan роутер на сетевую карту которая собственно подключается к интернет модему.

S>Начни с чего нибудь типа этого или в гуголе "linux gateway setup"

Спасибо, дельная статья.

Для тех, кто как и я пробует экспериментировать с настройкой сетевое конфигурации могу порекомендовать virtualbox для экспериментов. Он поддерживает эмуляцию всего, что может потребоваться для реализации такой или намного более сложной конфигурации. Shallow клонирование базовой vm-ки позволяет поднять нужную конфигурацию из нескольких нодов за секунды и требует мизерных системных ресурсов. Вот эта статья оказалась полезной.

По осям — экспериментировал с freebsd, centos и debian — и как относительному чайнику в сетях чисто субъективно debian out of the box показался гораздо более удобным и приятным в работе, чем остальные.

Ну и напоследок в моем случае оказалось, что желаемая минимальная настройка достигается штатными средствами advanced tomato, который замечательно работал с моим wifi роутером, так что для желающих повторить подобное я бы в первую очередь посоветовал начать с advanced tomato про возможности.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.