ICQ через IPTABLES (из локальной сети с ограничение по правам IP)
Модераторы: SLEDopit, Модераторы разделов
-
foxxx
- Сообщения: 21
ICQ через IPTABLES
Hello, парни у меня IPTABLES настроен таким образом, что на конкретный IP в локалке стоят ограничения на выход в интернет. Например:
для 192.168.хх.27 прописано так:
-A POSTROUTING -p all -s 192.168.0.27/255.255.255.255 -d 80.79.30.59 -o ppp0 -j MASQUERADE
т.е. этот IP имеет выход только на почтовый сервер, который у меня стоит в другом городе
мне надо написать ниже строку, в которой я разрешу этому IP польностью использовать аську, а что написать - я не понимаю (т.е. по идее должен быть у аськи свой постоянный IP?)
для 192.168.хх.27 прописано так:
-A POSTROUTING -p all -s 192.168.0.27/255.255.255.255 -d 80.79.30.59 -o ppp0 -j MASQUERADE
т.е. этот IP имеет выход только на почтовый сервер, который у меня стоит в другом городе
мне надо написать ниже строку, в которой я разрешу этому IP польностью использовать аську, а что написать - я не понимаю (т.е. по идее должен быть у аськи свой постоянный IP?)
-
landgraf
- Сообщения: 2143
- Статус: *бунту ненавистник
- ОС: linux
Re: ICQ через IPTABLES
не ниже, а выше надо написать что-то типа
-A POSTROUTING -p tcp --dport 5190 -o ppp0 -j MASQUERADE
ну и разрешение на входящие с флагами ESTABLISHED, RELATED в INPUT
-A POSTROUTING -p tcp --dport 5190 -o ppp0 -j MASQUERADE
ну и разрешение на входящие с флагами ESTABLISHED, RELATED в INPUT
-
foxxx
- Сообщения: 21
-
landgraf
- Сообщения: 2143
- Статус: *бунту ненавистник
- ОС: linux
Re: ICQ через IPTABLES
для "нелюбого" компа
-A POSTROUTING -s 192.168.0.27 -p tcp --dport 5190 -o ppp0 -j MASQUERADE
-A POSTROUTING -s 192.168.0.27 -p tcp --dport 5190 -o ppp0 -j MASQUERADE
-
broom
- Бывший модератор
- Сообщения: 1629
- Статус: мизантроп.ка
- ОС: Gentoo
Re: ICQ через IPTABLES
i Уведомление от модератора broom К РедХату и Федоре тема отношения не имеет, поехали в "Администрирование для начинающих".
but in the darkness, behind your smile, you scream... © Dio
-
foxxx
- Сообщения: 21
-
landgraf
- Сообщения: 2143
- Статус: *бунту ненавистник
- ОС: linux
-
danger08
- Сообщения: 715
- ОС: Linux (CentOS, Ubuntu)
Re: ICQ через IPTABLES
foxxx писал(а): ↑30.07.2009 11:17Hello, парни у меня IPTABLES настроен таким образом, что на конкретный IP в локалке стоят ограничения на выход в интернет. Например:
для 192.168.хх.27 прописано так:
-A POSTROUTING -p all -s 192.168.0.27/255.255.255.255 -d 80.79.30.59 -o ppp0 -j MASQUERADE
т.е. этот IP имеет выход только на почтовый сервер, который у меня стоит в другом городе
мне надо написать ниже строку, в которой я разрешу этому IP польностью использовать аську, а что написать - я не понимаю (т.е. по идее должен быть у аськи свой постоянный IP?)
Стоит начать с того, что не надо маскарадить соединения выборочно. Это повторяется раз за разом, в последнее время обсуждалось несколько раз. Таблица *nat просто не предназначена для этого - читать http://www.opennet.ru/docs/RUS/iptables/
Решение в вашем случае:
Код: Выделить всё
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o ppp0 -j MASQUERADE
...
COMMIT
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
...
# allow 192.168.0.27 -> 80.79.30.59
-A FORWARD -p tcp -s 192.168.0.27 -d 80.79.30.59 -j ACCEPT
-A FORWARD -p udp -s 192.168.0.27 -d 80.79.30.59 -j ACCEPT
# allow 192.168.0.27 -> *:5190 (вроде аська работает по tcp)
-A FORWARD -p tcp -s 192.168.0.27 --dport 5190 -j ACCEPT
...
COMMITЕсли нужно что-то еще разрешить - там уж сами пропишете.
Блогосайт - http://www.fateyev.com
-
foxxx
- Сообщения: 21
Re: ICQ через IPTABLES
Дело в том что настраивал сервер гуру линукса, его щас нет и небудет, потому и спрашиваю у Вас. Раз он так сделал значит не просто же так
-
danger08
- Сообщения: 715
- ОС: Linux (CentOS, Ubuntu)
Re: ICQ через IPTABLES
[--- OFFTOPIC ---]
- Тут что-то не так, - сказал Мюллер и отворил дверь. - Поглядите в домах вокруг...
- Кругом развалины.
- И там посмотрите, - сказал он, - а в общем-то все это настолько глупо, что работать практически невозможно. Мы не сможем понять логику непрофессионала.
- А может, он хитрый профессионал? - сказал седой, закуривая.
- Хитрый профессионал не поехал бы в приют, - хмуро ответил Мюллер и вышел.
(с) Юлиан Семенов. "Семнадцать мгновений весны".
[--- /OFFTOPIC ---]
Блогосайт - http://www.fateyev.com
-
foxxx
- Сообщения: 21
Re: ICQ через IPTABLES
Стоит начать с того, что не надо маскарадить соединения выборочно. Это повторяется раз за разом, в последнее время обсуждалось несколько раз.
У меня маскировка стоит на всех IP, а не выборочно
У меня маскировка стоит на всех IP, а не выборочно
-
danger08
- Сообщения: 715
- ОС: Linux (CentOS, Ubuntu)
Re: ICQ через IPTABLES
Тогда это противоречит [1], в котором маскарад сделан на соединения от определенного IP к определенному ресурсу.
Хорошо, я попытаюсь пояснить, почему делать так не рекомендуется:
1) Допустим, тот человек думал, что если он будет маскарадить только соединения "от-компа-локалки" и "до-удаленного-ресурса" - он надежно закрыл соединения из локалки на нежелательные хосты. Но убрав маскарад исходящих пакетов с интерфейса целиком, тем самым он открыл доступ в вашу локалку со стороны провайдера (теоретически, в сети провайдера можно прописать маршрут на вашу локалку через ваш шлюз, и общаться с вашими компьютерами напрямую, по их реальным адресам в локалке). Введение маскарада для всего интерфейса надежно закроет эту дыру даже в том случае, если правила в *filter будут не совсем безопасны; то что у вас сейчас - это палка о двух концах: "как бы" вы пытаетесь защитить сеть от доступа к внешнему ресурсу, но тем самым правилом не препятствуете доступу извне.
2) Когда нужно добавить разрешение на нужную службу/порт, в вашем случае придется колдовать с гирляндой SNAT-ов, продумывая как они могут влиять друг на друга (а это будет, если будут пересечения в типах протоколов или диапазонов хостов). В правильном решении достаточно одного нового правила, описывающего новое разрешение, и оно не влияет на уже имеющиеся.
Пункт (1), кстати, актуален лишь в том случае, если в *filter нет проверки транзитных входящих соединений (а их, скорее всего, нет - если человек написал такое в NAT-ах).
Вкратце: в вашем случае, NAT-ить надо все, выходящее из интерфейса. А устанавливать, кому можно доходить до NAT-а, надо правилами FORWARD в цепочке *filter.
Блогосайт - http://www.fateyev.com
-
foxxx
- Сообщения: 21
Re: ICQ через IPTABLES
danger08 писал(а): ↑31.07.2009 11:58
Тогда это противоречит [1], в котором маскарад сделан на соединения от определенного IP к определенному ресурсу.
Хорошо, я попытаюсь пояснить, почему делать так не рекомендуется:
1) Допустим, тот человек думал, что если он будет маскарадить только соединения "от-компа-локалки" и "до-удаленного-ресурса" - он надежно закрыл соединения из локалки на нежелательные хосты. Но убрав маскарад исходящих пакетов с интерфейса целиком, тем самым он открыл доступ в вашу локалку со стороны провайдера (теоретически, в сети провайдера можно прописать маршрут на вашу локалку через ваш шлюз, и общаться с вашими компьютерами напрямую, по их реальным адресам в локалке). Введение маскарада для всего интерфейса надежно закроет эту дыру даже в том случае, если правила в *filter будут не совсем безопасны; то что у вас сейчас - это палка о двух концах: "как бы" вы пытаетесь защитить сеть от доступа к внешнему ресурсу, но тем самым правилом не препятствуете доступу извне.
2) Когда нужно добавить разрешение на нужную службу/порт, в вашем случае придется колдовать с гирляндой SNAT-ов, продумывая как они могут влиять друг на друга (а это будет, если будут пересечения в типах протоколов или диапазонов хостов). В правильном решении достаточно одного нового правила, описывающего новое разрешение, и оно не влияет на уже имеющиеся.
Пункт (1), кстати, актуален лишь в том случае, если в *filter нет проверки транзитных входящих соединений (а их, скорее всего, нет - если человек написал такое в NAT-ах).
Вкратце: в вашем случае, NAT-ить надо все, выходящее из интерфейса. А устанавливать, кому можно доходить до NAT-а, надо правилами FORWARD в цепочке *filter.
более менее понятно, могу скинуть сюда код таблицы, только не хотелось бы что бы народ знал что там и как , чтобы болеее понятно Вам было как у меня\ устроенно чтобы подсказать более конкретнотно
-
danger08
- Сообщения: 715
- ОС: Linux (CentOS, Ubuntu)
Re: ICQ через IPTABLES
Можете публичные адреса "забить", типа 80.хх.хх.хх. Посетителям на форуме они все равно ни к чему.
Какие там еще приватные данные могу быть, я не могу представить
Только четко напишите, что именно вы хотите получить. Обрисуйте ситуацию и параметры доступа полностью.
Блогосайт - http://www.fateyev.com