Iptables: фильтрация по доменным именам
Модераторы: SLEDopit, Модераторы разделов
-
Mixer[MsK]
- Сообщения: 315
- ОС: Gentoo Linux
Iptables: фильтрация по доменным именам
Здравствуйте. Хочется странного: есть некий домен - предположим test.ru . У него есть поддомены для клиентских машин - например user1.test.ru , user2.test.ru, user3.test.ru . Причем клиентские машины находятся в разных сетях. Хочется сделать правило для iptables , дабы оно распространялось на все машины, адреса которых резольвятся как поддомены test.ru. В манах ничего похожего не нашел.
Phenom II X4 945 & 2 GB DDR3 > Gentoo 2008.0 > 2.6.30-gentoo-r5 > KDE 4.3.1
Asus eee 1003HAG > eeebuntu 3 Standart(Ubuntu 9.04) > 2.6.28-14 > GNOME 2.26.1
Asus eee 1003HAG > eeebuntu 3 Standart(Ubuntu 9.04) > 2.6.28-14 > GNOME 2.26.1
-
MIX2000
- Сообщения: 58
- ОС: Ubuntu
Re: Iptables: фильтрация по доменным именам
Вроде, iptables не работает на уровне доменных имен. Для отдельных случаев может подойти прозрачный прокси, например SQUID. Еще можно с портами баловаться, или с VPN но это уже, другое дело.
-
butch
- Сообщения: 331
- ОС: :OC
Re: Iptables: фильтрация по доменным именам
как понимаю, заранее неизвестно сколько там будет поддоменов и какие у них будут имена?
наверное нужно курить в сторону разрешения всех поддоменов указанного домена, после чего делать правила для списка полученных хостов.
если заранее известно какие будут домены 3его уровня - то все проще =)
наверное нужно курить в сторону разрешения всех поддоменов указанного домена, после чего делать правила для списка полученных хостов.
если заранее известно какие будут домены 3его уровня - то все проще =)
-
MIX2000
- Сообщения: 58
- ОС: Ubuntu
Re: Iptables: фильтрация по доменным именам
Может получится так, что в подсетях этих хостов окажутся хосты не имеющие отношения к домену, на них правила iptables тоже подействуют.
-
butch
- Сообщения: 331
- ОС: :OC
-
MIX2000
- Сообщения: 58
- ОС: Ubuntu
Re: Iptables: фильтрация по доменным именам
Ну, так, если через iptables правила писать. Не помню, что бы в нем можно было прописывать правила для доменов.
Впрочем если можно, тогда, я не понимаю какие могут быть проблемы: просто пишите правила для домена 2го уровня, по идее, они должны распространятся и на домены более высоких уровней, относящихся к этому домену.
-
butch
- Сообщения: 331
- ОС: :OC
Re: Iptables: фильтрация по доменным именам
MIX2000, вообще в руководстве иптэблс не советуют применять доменные имена для правил.
лично я делаю сначала резолвинг имен, после чего в правила подставляю получившиеся адреса хостов.
такие правила можно обновлять переодически.
я в общем то говорил об этом.
лично я делаю сначала резолвинг имен, после чего в правила подставляю получившиеся адреса хостов.
такие правила можно обновлять переодически.
я в общем то говорил об этом.
-
pelmen
- Сообщения: 1268
- ОС: debian
Re: Iptables: фильтрация по доменным именам
На хостинге (фактически на 1 ип адресе) могут быть разные сайты, и ты сразу на все режешь доступ. Для меня - это не решение
-
danger08
- Сообщения: 715
- ОС: Linux (CentOS, Ubuntu)
Re: Iptables: фильтрация по доменным именам
В iptables нет изящного решения этой проблемы - уровня доменных имен. Оно просто не нужно. Его не для этого делали.
Хотите фильтровать доступ к виртуальным HTTP-хостам - заворачивайте HTTP-трафик на squid, и фильтруйте там.
Для всех остальных протоколов (не-HTTP и иже с ним) - доменные имена не передаются и учитывать их смысла не имеет. Доступ идет по IP-адресу, отресольвенному из запрошенного доменного имени, во всех протоколах (роутер даже не "знает", запросили вы host1.ru или host2.ru, если у них одинаковый IP-адрес).
Блогосайт - http://www.fateyev.com
-
expdot
- Сообщения: 176
- ОС: Fedora 13, Win Vista
Re: Iptables: фильтрация по доменным именам
можно попробовать поиграться с классификатором string
вместо example подставить требуемое доменное имя
Код: Выделить всё
-m string --string "example"вместо example подставить требуемое доменное имя
-
Mixer[MsK]
- Сообщения: 315
- ОС: Gentoo Linux
Re: Iptables: фильтрация по доменным именам
Требуется дать доступ к некоему порту на одной машине для других. Решение на уровне сквида видется гемороем, если честно.
MIX2000 писал(а): ↑17.06.2009 16:29
Ну, так, если через iptables правила писать. Не помню, что бы в нем можно было прописывать правила для доменов.
Впрочем если можно, тогда, я не понимаю какие могут быть проблемы: просто пишите правила для домена 2го уровня, по идее, они должны распространятся и на домены более высоких уровней, относящихся к этому домену.
Эм. Мне казалось, что резольвит доменное имя и использует в правиле полученный IP-адрес, нет?
expdot писал(а): ↑17.06.2009 19:25можно попробовать поиграться с классификатором string
Код: Выделить всё
-m string --string "example"
вместо example подставить требуемое доменное имя
Попробую, спасибо.
Phenom II X4 945 & 2 GB DDR3 > Gentoo 2008.0 > 2.6.30-gentoo-r5 > KDE 4.3.1
Asus eee 1003HAG > eeebuntu 3 Standart(Ubuntu 9.04) > 2.6.28-14 > GNOME 2.26.1
Asus eee 1003HAG > eeebuntu 3 Standart(Ubuntu 9.04) > 2.6.28-14 > GNOME 2.26.1
-
danger08
- Сообщения: 715
- ОС: Linux (CentOS, Ubuntu)
Re: Iptables: фильтрация по доменным именам
Mixer[MsK] писал(а): ↑17.06.2009 21:05
Требуется дать доступ к некоему порту на одной машине для других. Решение на уровне сквида видется гемороем, если честно.
Ну так вот, и разрешайте правилом (указывайте нужный IP и порт в правиле).
Доменные имена придуманы исключительно для удобства людей, доступ везде ведется по IP.
Mixer[MsK] писал(а): ↑17.06.2009 21:05Эм. Мне казалось, что резольвит доменное имя и использует в правиле полученный IP-адрес, нет?
Может ресольвить, да. Но что мешает вам самому отресольвить имя, и подставить полученный IP в правило?
Mixer[MsK] писал(а): ↑17.06.2009 21:05expdot писал(а): ↑17.06.2009 19:25можно попробовать поиграться с классификатором string
Код: Выделить всё
-m string --string "example"
вместо example подставить требуемое доменное имя
Попробую, спасибо.
Вот как раз-таки это решение видится мне геморойным (неизвестно, где косяки вылезут, с использованием шаблона "example").
Блогосайт - http://www.fateyev.com
-
expdot
- Сообщения: 176
- ОС: Fedora 13, Win Vista
-
danger08
- Сообщения: 715
- ОС: Linux (CentOS, Ubuntu)
Re: Iptables: фильтрация по доменным именам
Ничего подобного.
Пакеты, содержащие строку "example" в запросе типа:
Код: Выделить всё
GET / HTTP/1.0
Host: example.comс большой долей вероятности УЖЕ не будут иметь флага NEW (на этом этапе соединение справедливо считается установившимся, и флаг NEW сброшен).
К моменту передачи пакетов с HTTP-заголовками, состояние соединения будет ESTABLISHED.
Блогосайт - http://www.fateyev.com