The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Переадресация портов"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Настройка Squid и других прокси серверов (Public)
Изначальное сообщение [ Отслеживать ]

"Переадресация портов"  +/
Сообщение от Alexey email(??) on 22-Май-09, 14:10 
Имеется прокся Suse, на ней поднят Squid 2.6, подключена сразу в инет. На клиенских машинах, инет работает через указанный порт и айпишник в свойствах браузера. Решил сделать прозрачный прокси, внес изменения в конфиге squid, включил встроенный браундмауэр на сусе, указал переадресацию портов в нем и через шлюз инет на машинах работает, тоесть без проблем ходить и почта и аська и http. Теперь возникла необходимость, настроить передаресацию поротов, а именно: в офисе стоить эксченж, у хостера прописан в МХ записи  мой айпишник, тоесно нужно что бы почта приходила на проксю и отправляла на эксченж сервер. В принципе почти тоже самое нужно и с радминкой, что бы по порту 4899 из инета, была переадресация на определенный порт компа в офисе. Как это делается и где? Сам линукс изучаю не давно, поэтому многое могу не знать, не судите строго.
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Переадресация портов"  +/
Сообщение от ipmanyak (??) on 22-Май-09, 16:27 
>[оверквотинг удален]
>включил встроенный браундмауэр на сусе, указал переадресацию портов в нем и
>через шлюз инет на машинах работает, тоесть без проблем ходить и
>почта и аська и http. Теперь возникла необходимость, настроить передаресацию поротов,
>а именно: в офисе стоить эксченж, у хостера прописан в МХ
>записи  мой айпишник, тоесно нужно что бы почта приходила на
>проксю и отправляла на эксченж сервер. В принципе почти тоже самое
>нужно и с радминкой, что бы по порту 4899 из инета,
>была переадресация на определенный порт компа в офисе. Как это делается
>и где? Сам линукс изучаю не давно, поэтому многое могу не
>знать, не судите строго.

Это делается правилами firewall iptables и прокси squid тут не при делах.
Iptables Tutorial 1.1.19 на русском языке:
http://www.opennet.ru/docs/RUS/iptables/
ну раз новичок то в помощь тебе онлайн генератор правил iptables
http://easyfwgen.morizot.net/gen/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Переадресация портов"  +/
Сообщение от Alexey email(??) on 27-Май-09, 15:57 
Как оказалось, инет шел через браундмауер самого suse, теперь отключил его, настроил в скрипте для iptables http через suse. Но не могу настроить почту, что делаю не так?


#!/bin/sh
#
INET_IFACE="eth0"
UNPRIPORTS="1024:65535"
iptables -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 25 --sport $UNPRIPORTS -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 25 -j ACCEPT ! --syn
iptables -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 110 --sport $UNPRIPORTS -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 110 -j ACCEPT ! --syn
iptables -t nat -A PREROUTING -i eth1 -d ! 192.168.17.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.17.30:3128

причем
linux-yja4:~ # iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp spt:smtp dpts:1024:65535 flags:!FIN,SYN,RST,ACK/SYN
ACCEPT tcp -- anywhere anywhere tcp spt:pop3 dpts:1024:65535 flags:!FIN,SYN,RST,ACK/SYN

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp spts:1024:65535 dpt:smtp
ACCEPT tcp -- anywhere anywhere tcp spts:1024:65535 dpt:pop3
linux-yja4:~ # service iptables
service: no such service iptables

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Переадресация портов"  +/
Сообщение от reader (ok) on 27-Май-09, 16:12 
>Как оказалось, инет шел через браундмауер самого suse, теперь отключил его, настроил
>в скрипте для iptables http через suse. Но не могу настроить
>почту, что делаю не так?

если имеете ввиду проброс в локалку, то делайте DNAT и SNAT для нее, а фильтровать этот трафик в FORWARD, а не в INPUT/OUTPUT
>[оверквотинг удален]
>
>Chain FORWARD (policy ACCEPT)
>target prot opt source destination
>
>Chain OUTPUT (policy ACCEPT)
>target prot opt source destination
>ACCEPT tcp -- anywhere anywhere tcp spts:1024:65535 dpt:smtp
>ACCEPT tcp -- anywhere anywhere tcp spts:1024:65535 dpt:pop3
>linux-yja4:~ # service iptables
>service: no such service iptables

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Переадресация портов"  +/
Сообщение от Alexey email(??) on 27-Май-09, 16:18 
Имеется ввиду возможность пользователям забирать почту из инета по pop и smtp

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Переадресация портов"  +/
Сообщение от reader (ok) on 27-Май-09, 16:25 
>Имеется ввиду возможность пользователям забирать почту из инета по pop и smtp
>

если клиенты в серой сети, то нужен SNAT и фильтровать в FORWARD

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Переадресация портов"  +/
Сообщение от Alexey email(??) on 27-Май-09, 16:41 
Клиенты в той же сети, что и прокся.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Переадресация портов"  +/
Сообщение от reader (ok) on 27-Май-09, 16:49 
>Клиенты в той же сети, что и прокся.

если 192.168.17.0/24 реально используется, то делайте SNAT для этих портов или для всего, в зависимости от вашего желания и умения пользователями обходить прокси

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Переадресация портов"  +/
Сообщение от Алексей (??) on 27-Май-09, 19:58 
SNAT имеет одну опцию --to-source, которая служит для указания адреса, присваемового пакету. Пример:
# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 171.26.34.251

не очень понятно, что нужно указать, мне же нужно открыть порт, а тут айпишник. А можно ли компу вообще все разрешить в инет?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Переадресация портов"  +/
Сообщение от reader (ok) on 27-Май-09, 20:33 
> SNAT имеет одну опцию --to-source, которая служит для указания адреса, присваемового
>пакету. Пример:
># iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 171.26.34.251
>
>
>не очень понятно, что нужно указать, мне же нужно открыть порт, а
>тут айпишник. А можно ли компу вообще все разрешить в инет?
>

этим правилом вы изменяете адрес отправителя пакета на свой внешний адрес. адресов из 192.168.0.0/16 подсети в инете нет, они для внутреннего использования, поэтому и подменяете чтобы сервер к которому вы хотите обратится знал куда отсылать ответ.
если адрес у вас динамический , то лучше используйте MASQUERADE
http://www.opennet.ru/docs/RUS/iptables/#MASQUERADETARGET

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

рулить, что пропускать, а что нет для транзитных пакетов будите в таблице фильтров в цепочке FORWARD.
разрешить все в инет теоритически можно, но практически это не безопасно и также работа через SNAT накладывает определенные ограничения.
думаю вам нужно прочитать о принципах работы сети, без понимания этого вам будет трудно управлять работой шлюза и сети.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Переадресация портов"  +/
Сообщение от Alexey email(??) on 28-Май-09, 17:45 
У меня статические айпишники в сети, следовательно snat мне более подходит.
Я так понимаю, что указываю eth0 - сетевое подключение локалки, 171.26.34.251 - айпишник инетовский. Верно я понимаю? Мне же в iptables нужно будет указывать не обходимые порты? Тоесть для открытия допустим 25 порта не достаточно одного правила?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Переадресация портов"  +/
Сообщение от reader (ok) on 28-Май-09, 20:01 
>У меня статические айпишники в сети, следовательно snat мне более подходит.
>Я так понимаю, что указываю eth0 - сетевое подключение локалки, 171.26.34.251 -

-o eth0 означает, что правило будет действовать для пакетов уходящих с eth0, в вашем случае на месте eth0 должен быть интерфейс смотрящий на провайдера.

>айпишник инетовский. Верно я понимаю? Мне же в iptables нужно будет
>указывать не обходимые порты? Тоесть для открытия допустим 25 порта не
>достаточно одного правила?

это зависит в каком правиле вы будите использовать критерий "порт 25" и от того какие еще у вас используются правила.
то есть если вы его укажите в правиле с SNAT, то SNAT будет применяться к пакетам которые будут связаны с портом 25. если в таблице фильтров, то в зависимости от политик по умолчанию и других правил. писать правило для 25 порта может не потребоваться , если например разрешено прохождение всех пакетов, может потребоваться правила для обоих направлений, либо скажем для пакетов идущих от клиента в инет на 25 порт указать разрешающее правило, а для разрешения прохождения ответов разрешить пакеты со статусом
-m state --state RELATED,ESTABLISHED
так что все зависит от того как вы захотите реализовать

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Переадресация портов"  +/
Сообщение от Alexey email(??) on 29-Май-09, 13:47 
Тогда наверно правильно опишу задачу и что сделано и работает.
Требуется настроить прокси, для предоставления интернета (на данный момент http, pop, smtp, icq дальше будет видно) пользователям офиса. Стоит suse + squid + iptables. В squid создал файлик где указаны какие айпишники могут исползовать инет, в конфиге iptables (rc.firewall такого файла небыло, создал сам)прописано всего одно правило, которое позволяет использовать прозрачное проксирование. http работает. Теперь тудаже надо добавить почту и аську. Чуть позже, пользователям не нужно будет забирать почту из инета, будет стоять эксченж. Пробывал различные варинаты с почтной, но ничего так и не прокатило.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Переадресация портов"  +/
Сообщение от reader (ok) on 29-Май-09, 14:15 
>Тогда наверно правильно опишу задачу и что сделано и работает.
>Требуется настроить прокси, для предоставления интернета (на данный момент http, pop, smtp,
>icq дальше будет видно) пользователям офиса. Стоит suse + squid +
>iptables. В squid создал файлик где указаны какие айпишники могут исползовать
>инет, в конфиге iptables (rc.firewall такого файла небыло, создал сам)прописано всего
>одно правило, которое позволяет использовать прозрачное проксирование. http работает. Теперь тудаже
>надо добавить почту и аську. Чуть позже, пользователям не нужно будет
>забирать почту из инета, будет стоять эксченж. Пробывал различные варинаты с
>почтной, но ничего так и не прокатило.

у клиентов прописываете шлюз, DNS

на шлюзе (suse)
echo 1 > /proc/sys/net/ipv4/ip_forward
и SNAT , если в FORWARD все разрешено, то должно работать, потом уже можете придумывать фильтры

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Переадресация портов"  +/
Сообщение от Алексей (??) on 29-Май-09, 14:55 
Спасибо большое, вот теперь после добавления этих строк в автозагрузку, почта заработала :)

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth1 -d ! 192.168.17.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.17.30:3128
iptables -t nat -A POSTROUTING -s 192.168.17.0/24 -p tcp --dport 25 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.17.0/24 -p tcp --dport 110 -j MASQUERADE


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "Переадресация портов"  +/
Сообщение от Alexey email(??) on 29-Май-09, 17:30 
> если в FORWARD все разрешено, то должно работать, потом
>уже можете придумывать фильтры

А если мне определенному компу, допустим себе, нужно разрешить весь исходящий трафик, что бы порты не переписывать, будет ли такая схема работать?

iptables -t nat -A POSTROUTING -s 192.168.17.10 -p all --dport -j MASQUERADE

или лучше

iptables -t nat -A POSTROUTING -s 192.168.17.0/24 -p tcp --dport 21-68000 -j MASQUERADE

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "Переадресация портов"  +/
Сообщение от reader (ok) on 29-Май-09, 19:31 
>[оверквотинг удален]
>А если мне определенному компу, допустим себе, нужно разрешить весь исходящий трафик,
>что бы порты не переписывать, будет ли такая схема работать?
>
>iptables -t nat -A POSTROUTING -s 192.168.17.10 -p all --dport -j MASQUERADE
>
>
>или лучше
>
>iptables -t nat -A POSTROUTING -s 192.168.17.0/24 -p tcp --dport 21-68000 -j
>MASQUERADE

пишите без указания портов, а само правило ставьте выше других в SNAT

при -j MASQUERADE и динамическом адресе, так же может понадобится
echo "1" > /proc/sys/net/ipv4/ip_dynaddr

но в целом лучше SNAT делать для всех исходящих через внешний интерфейс, а фильтровать в таблице фильтров в FORWARD, тогда у провайдера уж точно не возникнет вопросов почему от вас приходят пакеты с внутренними адресами

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "Переадресация портов"  +/
Сообщение от Алексей (??) on 31-Май-09, 08:25 
у меня нету динамических адресов, у меня статика.
Вот тут назрел еще вопрос, допустим мне нужно открыть порты почты не всем, а только части народа. Это мне в правилах айпитабса нужно будет каждому добавлять или открыть всем, а уже в squid указать кому давать этот порт?


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "Переадресация портов"  +/
Сообщение от reader (ok) on 31-Май-09, 10:49 
>у меня нету динамических адресов, у меня статика.
>Вот тут назрел еще вопрос, допустим мне нужно открыть порты почты не
>всем, а только части народа. Это мне в правилах айпитабса нужно
>будет каждому добавлять или открыть всем, а уже в squid указать
>кому давать этот порт?

вообще то, squid с почтой не работает

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "Переадресация портов"  +/
Сообщение от Алексей (??) on 01-Июн-09, 09:47 
>>у меня нету динамических адресов, у меня статика.
>>Вот тут назрел еще вопрос, допустим мне нужно открыть порты почты не
>>всем, а только части народа. Это мне в правилах айпитабса нужно
>>будет каждому добавлять или открыть всем, а уже в squid указать
>>кому давать этот порт?
>
>вообще то, squid с почтой не работает

В sqid есть хорошая возможность, указывать в файле айпишники, кому чего, а тут даже диаппазон нельзя указать. Мне допустим нужно открыть почту с 192.168.17.20-192.168.17.60 и 192.168.17.120-192.168.17.130 т.п. как это реализуется или придется каждому свою строчку писать?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20. "Переадресация портов"  +/
Сообщение от reader (ok) on 01-Июн-09, 11:54 
>[оверквотинг удален]
>>>всем, а только части народа. Это мне в правилах айпитабса нужно
>>>будет каждому добавлять или открыть всем, а уже в squid указать
>>>кому давать этот порт?
>>
>>вообще то, squid с почтой не работает
>
>В sqid есть хорошая возможность, указывать в файле айпишники, кому чего, а
>тут даже диаппазон нельзя указать. Мне допустим нужно открыть почту с
>192.168.17.20-192.168.17.60 и 192.168.17.120-192.168.17.130 т.п. как это реализуется или придется каждому свою
>строчку писать?

маски придумали злые люди.
так же можно попробовать как -m iprange --src-range ip-ip работает

http://www.opennet.ru/man.shtml?topic=iptables&russian=0&cat...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру