![]() |
настройка port mapping в squid
Задача в следующем.
локалка 10.125.0.0 необходимо, чтобы клиенты могли ходить на 92.66.34.56 порт 32633. Как реализовать? |
seman, простите за банальный вопрос. Документацию читали?
man squid ? Вобще squid - это кеширующий прокси сервер. port mapping вне зоны ответственности squid. Его задача кешировать(проксировать) трафик. Мапированием портов а, их перенаправлением, занимаются другие пакеты. seman, из вашего сообщения никаким образом не становится ясным, как устроена сеть? 10.125.0.0 - замечательно. 10.*.*.* - это диапазон приватных сетей. 92.66.34.56:32633 по все видимости реальный IP адрес. Пусть клиенты ходят, что им мешает? |
lxa85
Цитата:
поэтому и спрашиваю, так как не знаю какие пакеты за это отвечают. Цитата:
сеть простая. шлюз 10.125.0.150 прокси кольмар на 10.125.0.100, там же dhcp раздает клиентам в диапазоне 10.125.0.104-10.125.0.150 не знаю, что еще здесь нужно пояснять. от клиентов пинг на 92.66.34.56 не идет. С кольмара все прекрасно пингуется. Если я не ошибаюсь все можно решить через конфиг кольмара. acl password proxy_auth REQUIRED acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 1025-65535 # unregistered ports acl CONNECT method CONNECT acl our_networks src 10.125.0.0/24 http_access allow password http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow our_networks http_access deny all это текущий конфиг. достаточно ли здесь прописать в access листе данный порт и ip, чтобы клиенты могли видеть данный ip? |
Цитата:
Цитата:
Верна ли таблица маршрутизации? Шлюз по умолчанию. Цитата:
Цитата:
|
lxa85,
Цитата:
сделал route print с клиента Список интерфейсов 0x1 ........................... MS TCP Loopback interface 0x2 ...00 1a 4d 91 2e c9 ...... Realtek RTL8168/8111 PCI-E Gigabit Ethernet NIC =========================================================================== =========================================================================== Активные маршруты: Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика 0.0.0.0 0.0.0.0 10.125.0.150 10.125.0.107 20 10.125.0.0 255.255.255.0 10.125.0.107 10.125.0.107 20 10.125.0.107 255.255.255.255 127.0.0.1 127.0.0.1 20 10.255.255.255 255.255.255.255 10.125.0.107 10.125.0.107 20 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 224.0.0.0 240.0.0.0 10.125.0.107 10.125.0.107 20 255.255.255.255 255.255.255.255 10.125.0.107 10.125.0.107 1 Основной шлюз: 10.125.0.150 =========================================================================== Постоянные маршруты: Отсутствует 10.125.0.107 - это клиент |
seman,
Цитата:
Цитата:
Цитата:
Как я понимаю, было принято решение, если с кольмара пинг идет, перенаправить коиентов на него, попутно закешировать трафик, и отправить пакеты дальше. Так? ----- Статьи, что мне попались по реализации "прозрачного" прокси сервера, используют iptables(старое название ipchains) для перенаправления запросов и портов. Этим самым я хочу сказать, что portmaping не задача suid. Ссылки на материал: Зона особого внимания: Squid Мини-HOWTO: Прозрачный Прокси-сервер при помощи Squid - Обратите внимание на дату публикации! 2003 год! А сама статья писалась в далеком марте 2000 ного. Bog BOS: Squid (кеширующий прокси для http): установка, настройка и использование |
Цитата:
Цитата:
Цитата:
|
Alan85
Цитата:
данного сервера (92.66.34.56). Завтра выясню точно. предполагаю находится он в сетке провайдера. главное что комп со сквидом его видит. то же самое нужно научить клиентов. раньше когда у провайдера была прописана вся подесть наша, и проксика не было все клиенты свободно могли пинговать данный сервер Цитата:
провайдер прописал приватный 10.125.0.100 для выхода в инет. то бишь где сейчас сквид. Цитата:
|
Цитата:
Вопрос как настроен прокси сервер? - прозрачный или на порт 3128? Пока я вижу два выхода: 1. Дергать провайдера чтобы изменил iptables (или самому) именно для этого адреса и порта (разрешил выход на него) и все это делается на линухе шлюзе. 2. Использовать порт-маппинг у клиента с помощью программ типа httport, freecap . |
Alan85,
Цитата:
Цитата:
|
Цитата:
|
Ребята провайдер меня отшил, поскольку сказал, что на шлюзе ничего не надо настраивать на шлюзе.
сказал что надо настроить ip forwarding или нат на самом сквиде. (или в сквиде настройки посмотреть) Подскажите как это сделать на сусе. Может кто делал. напомню локалка 10.0.120.х шлюз 10.0.120.160 днс провайдера 62.148.ххх.хх нужно получить пинг на 62.148.225.34 свид - 10.120.0.100 со сквида пинг идет на этот сервер нормально, с клиентов - нет. стоит webmin - там смотрел куча настроек по маршрутизации. Помогите плиз настроить. Заранее благодарен. |
Цитата:
Есть еще вариант но не знаю прокатит ли у тебя.. - у всех сменить шлюз на 10.0.120.100 и уже настраивать iptables на линухе где сквид. |
Цитата:
|
Пинг идет с линуховской машины где сквид стоит, а не со сквида это раз. Пинг означает что машина где сквид имеет разрешение проходить через шлюз (настроено на шлюзе) это два. Чтобы разрешить другим проходить через шлюз надо настраивать шлюз это три.
клиентские машины имеют шлюз 10.0.120.160 а не 10.0.120.100 - почему? А у прова надо просить чтото вроде: "прошу предоставить мне доступ к ip 62.148.225.34 с машины ip 10.0.120.xxx " можно еще указать по какому протоколу, порту, кто инициатор соединения (программа внутри сети или снаружи). Если будут слать на сквид (на программу сквид а не линукс что там) то можешь объяснить что это HTTP/FTP прокси и ничего более (NAT не в его компетенции). Возможно они имеют ввиду что полный выход дали для одной машины а дальше сами типа крутитесь - тогда шлюз не верно указан выходит. |
Цитата:
|
http://iptables-tutorial.frozentux.net/
Цитата:
|
Цитата:
как я понял установлен сервер этого мессенгера на 62.148.225.34 (10883) у клиента устанавливаю Ip и порт. и регистрируюсь на сервере. мне главное добиться пинга до 62.148.225.34. потом придут админы мессенгера и сами все сделают. протокол уточну попозже |
Попробуй вот эти команды если помогут надо будет сохранить их...
Я не гуру в iptables (хоть и приходится сталкиваться по работе), если чтото не так поправте Код:
echo "1" > /proc/sys/net/ipv4/ip_forward |
Alan85
что-то не хочет пропускать. вроде после ввода команд не было ошибок. правда возник один глюк. перестал работать инет напрямую и через сквид. много раз перезагружал - впустую. Потом просто перезаписал squid.conf - заработал, но только через сквид. напрямую так и неработает. не понимаю что могло задеть. с учетом некоторых изменений шлюз - 10.125.0.150 сквид - 10.125.0.101 у клиентов шлюз - сквида изменил команды на echo "1" > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s 10.125.0.0/255.255.255.0 -d 62.148.225.34 -j SNAT --to-source 10.25.0.150 iptables -A INPUT -s 10.125.0.0/255.255.255.0 -j ACCEPT iptables -A FORWARD -s 10.125.0.0/255.255.255.0 -d 62.148.225.34 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT |
странно что повлияло на сквид...
может это опечатка : iptables -t nat -A POSTROUTING -s 10.125.0.0/255.255.255.0 -d 62.148.225.34 -j SNAT --to-source 10.25.0.150 На картинке не вижу. а по данным у тебя 10.125.0.150 netstat -n -r тебе ничего нового не даст. Тебе надо смотреть iptables-save - что даст нам текущие настройки фаервола. Кстати они не сохраняются сами по себе (если только чтото такое не стоит что сохраняет) поэтому странно что инет на прямую пропал... еще может быть проблема в том что один интерфейс а не два как обычно на фаерволах. выложи результат iptables-save и попробуй это еще... Код:
echo "1" > /proc/sys/net/ipv4/ip_forward |
Alan85
Цитата:
ок. благодарю. завтра попробую |
Alan85
результат выложил. пинга пока нет от клиента может еще в сквиде надо настройки сделать? у меня там след-е настройки acl manager proto cache_object acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8 acl localnet src 10.125.0.0/24 acl localnet src 192.168.1.0/24 acl SSL_ports port 443 acl Safe_ports port 80 acl Safe_ports port 21 acl Safe_ports port 443 acl Safe_ports port 70 acl Safe_ports port 210 acl Safe_ports port 1025-65535 acl Safe_ports port 280 acl Safe_ports port 488 acl Safe_ports port 591 acl Safe_ports port 777 acl CONNECT method CONNECT acl our_networks proxy_auth REQUIRED http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow our_networks http_access deny all хотя с самого же сервера пинг идет. после перезагрузки iptables-save v1.4.2-rc1: Unable to open /proc/net/ip_tables_names: No such file or directory то бишь как ты и говорил он и не сохраняет. ввел еще раз - безрезультатно. p.s кстати после выполнения всех команд. нет пинга с сервера со сквидом на 62.148.228.34 после удаления записей - все ок. Generated by iptables-save v1.4.2-rc1 on Mon May 11 13:08:25 2009 *nat :PREROUTING ACCEPT [2:142] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [1:84] -A POSTROUTING -s 10.125.0.0/24 -d 62.148.228.34/32 -j SNAT --to-source 10.125.0.150 COMMIT # Completed on Mon May 11 13:08:25 2009 # Generated by iptables-save v1.4.2-rc1 on Mon May 11 13:08:25 2009 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [10:844] -A INPUT -s 10.125.0.0/24 -j ACCEPT -A FORWARD -s 10.125.0.0/24 -d 62.148.228.34/32 -j ACCEPT -A FORWARD -s 62.148.228.34/32 -d 10.125.0.0/24 -j ACCEPT COMMIT # Completed on Mon May 11 13:08:25 2009 |
Цитата:
Попробуй вместо Код:
iptables -t nat -A POSTROUTING -s 10.125.0.0/255.255.255.0 -d 62.148.225.34 -j SNAT --to-source 10.125.0.150 Код:
iptables -t nat -A POSTROUTING -s 10.125.0.xxx -d 62.148.225.34 -j SNAT --to-source 10.125.0.150 и убрать Код:
iptables -A INPUT -s 10.125.0.0/255.255.255.0 -j ACCEPT |
Цитата:
# Generated by iptables-save v1.4.2-rc1 on Thu May 14 15:49:31 2009 *nat :PREROUTING ACCEPT [54:5919] :POSTROUTING ACCEPT [64:14089] :OUTPUT ACCEPT [64:14089] -A POSTROUTING -s 10.125.0.107/32 -d 62.148.228.34/32 -j SNAT --to-source 10.125.0.150 COMMIT # Completed on Thu May 14 15:49:31 2009 # Generated by iptables-save v1.4.2-rc1 on Thu May 14 15:49:31 2009 *filter :INPUT ACCEPT [2467:1375570] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [2680:1511831] -A FORWARD -s 10.125.0.0/24 -d 62.148.228.34/32 -j ACCEPT -A FORWARD -s 62.148.228.34/32 -d 10.125.0.0/24 -j ACCEPT COMMIT # Completed on Thu May 14 15:49:31 2009 когда было с iptables -A INPUT -s 10.125.0.0/255.255.255.0 -j ACCEPT небыло пинга со сквида не на 62.148.228.34, не на другие сайты, по-крайней мере попробЫвал 2 сайта. после удаления строки INPUT - пинг на 62.148.228.34 - есть. но на www.ya.ru - нет. еще смущает префикс у маски -A POSTROUTING -s 10.125.0.107/32 там же 24. почему он так ее здесь поставил. или так должно быть? может это потомучто я вместо iptables -t nat -A POSTROUTING -s 10.125.0.107 -d 62.148.225.34 -j SNAT --to-source 10.125.0.150 набрал iptables -t nat -A POSTROUTING -s 10.125.0.107/255.255.255.0 -d 62.148.225.34 -j SNAT --to-source 10.125.0.150 |
Пример скрипта открывающего проход в инет (без прописания DNS на клиенте полноценного не получат - только по IP)
Код:
#!/bin/sh |
Цитата:
и запустить. так? блин, вот все таки проще было провайдеру в access листе прописать айпи клиента и все!!! |
ну расширение не обязательно но
...#chmod u+x <name> надо потом ... #./<name> ну или вводи вручную - тоже самое Цитата:
|
Цитата:
|
Цитата:
inetsrv:/home/uchdstr/Documents # ./mar bash: ./mar: /bin/sh^M: плохой интерпретатор: Нет такого файла или каталога inetsrv:/home/uchdstr/Documents # что не так делаю? |
пробЫвал ввести вручную
итог - инета вообще не стало. пингов нет. когда пишу iptables -t nat -A POSTROUTING -s 10.125.0.0/24-j SNAT --to-source $INETIP инет пропадает везде и локально и не локально. пишу iptables -t nat -A POSTROUTING -s 10.125.0.107 -j SNAT --to-source $INETIP - все ОК инет работает и пинг идет сс сквида на нужный айпи нормально. но с 10.125.0.107 - все глухо. может какая то особенность сборки suse. ну прям не знаю нашел еще ссылку по сусе. как думаешь в моем случае поможет? http://keir.ru/HOWTO-SuSE_Masquerading.php |
решил проблему с помощью MASQUERADE.
все прошло на ура. спасибо всем за помощь. |
Время: 09:15. |
Время: 09:15.
© OSzone.net 2001-