AndryXa Опубликовано: 14 листопада, 2004 Опубликовано: 14 листопада, 2004 Привіт. Раніше всіх пускав через сквід (бо обмежував по швидкості деяких юзерів). Працював непогано, але одна проблема - сквід дає тільки веб серфінг, тобто всякі донкі, емуле, thebat не працюють. Потім підняв нат, все почало працювати (emule, thebat....). Але знов проблема - коли юзери забирають настройки проксі сервера, то вони валять на всій швидкості. Покашо бачу одни вихід - поставити cbq, але тоді втрачаю класні можливості сквіда (кешуваня - шо зменшує наватнаженя каналу, і можливість завантажувати на повній швидкості сторінки які важать до встановленого числа Кб (напр. до 40Кб) ) Підкажіть як обєднати нат і сквід. Дякую.
Slava Опубліковано: 14 листопада, 2004 Опубліковано: 14 листопада, 2004 Вот пример IP сервера 192,168,0,1 Реальный IP от провайдера 202.45.23.78 IP- юзера 192,168,0,2 тогда для коннекта юзера нужен такой скрипт iptables -A FORWARD -s 192,168,0,2 -j ACCEPT iptables -A FORWARD -d 192,168,0,2 -j ACCEPT iptables -t nat -I POSTROUTING 1 -s 192,168,0,2 -j SNAT --to-source 202,45,23,78 iptables -t nat -I INPUT 1 -s 192,168,0,2 -d ! 192.168.0.0/24 -p tcp --dport 80 -j DNAT --to 192,168,0,1:3128 для дисконнекта iptables -D FORWARD -s 192,168,0,2 -j ACCEPT iptables -D FORWARD -d 192,168,0,2 -j ACCEPT iptables -t nat -D POSTROUTING 1 -s 192,168,0,2 -j SNAT --to-source 202,45,23,78 iptables -t nat -D INPUT 1 -s 192,168,0,2 -d ! 192.168.0.0/24 -p tcp --dport 80 -j DNAT --to 192,168,0,1:3128 но в фаерволе нужно прописать iptables -F iptables -t nat -F iptables -t mangle -F iptables -P FORWARD DROP iptables -t mangle -A PREROUTING -d 192.168.0.1 -p tcp --dport 3128 -j DROP /sbin/iptables -F; iptables -t nat -F; iptables -t mangle -F /sbin/iptables -t filter -P FORWARD DROP
AndryXa Опубліковано: 14 листопада, 2004 Автор Опубліковано: 14 листопада, 2004 тогда для коннекта юзера нужен такой скрипт iptables -A FORWARD -s 192,168,0,2 -j ACCEPT iptables -A FORWARD -d 192,168,0,2 -j ACCEPT iptables -t nat -I POSTROUTING 1 -s 192,168,0,2 -j SNAT --to-source 202,45,23,78 iptables -t nat -I INPUT 1 -s 192,168,0,2 -d ! 192.168.0.0/24 -p tcp --dport 80 -j DNAT --to 192,168,0,1:3128 В таблиці NAT нема chain INPUT. Там тільки PREROUTING, OUTPUT, POSTROUTING.
Гость Вадим Опубліковано: 15 листопада, 2004 Опубліковано: 15 листопада, 2004 Привіт! Було б не погано якби ще хтось написав для мене такі ж правила тільки для FreeBSD. Буду дуже вдячний!
Гость Guest Опубліковано: 15 листопада, 2004 Опубліковано: 15 листопада, 2004 тогда для коннекта юзера нужен такой скрипт iptables -A FORWARD -s 192,168,0,2 -j ACCEPT iptables -A FORWARD -d 192,168,0,2 -j ACCEPT iptables -t nat -I POSTROUTING 1 -s 192,168,0,2 -j SNAT --to-source 202,45,23,78 iptables -t nat -I INPUT 1 -s 192,168,0,2 -d ! 192.168.0.0/24 -p tcp --dport 80 -j DNAT --to 192,168,0,1:3128 В таблиці NAT нема chain INPUT. Там тільки PREROUTING, OUTPUT, POSTROUTING. Пакеты идут через шлюз двумя путями 1- через цепочку FORWARD - ТРАНЗИТНЫЕ 2- через локальные приложения в том числе и Squid цепочка INPUT т.е. для того чтобы обединить NAT и Squid нужно учитывать что трафик будет протекать по двум ветвям по одной - это FORWARD по другой это INPUT - входящие пакеты в Squid. если написать так iptables -t nat -I PREROUTING 1 -s 192,168,0,2 -d ! 192.168.0.0/24 -p tcp --dport 80 -j DNAT --to 192,168,0,1:3128 ТО ВЫЛАЗИТ СТРАННЫЙ ГЛЮК - при выполнение дисконнекта остаются незавершенные связи с чем я уже сталкивался. Например идет закачка с помощью FlashGat, выполняется дисконнект но закачка продолжается. на сайт вылезтия нельзя аска не работает, но FlashGat, еслия не обрывается связь докачивает файл до конца или до первого обрыва. поэтому лучше использовать iptables -t nat -I INPUT 1 -s 192,168,0,2 -d ! 192.168.0.0/24 -p tcp --dport 80 -j DNAT --to 192,168,0,1:3128 что сразу же перестает пускать пакеты с Squid. см доку. http://www.opennet.ru/docs/RUS/iptables/index.html
Slava Опубліковано: 15 листопада, 2004 Опубліковано: 15 листопада, 2004 да попробуй тогда iptables -t nat -I OUTPUT 1 -s 192,168,0,2 -d ! 192.168.0.0/24 -p tcp --dport 80 -j DNAT --to 192,168,0,1:3128 должно быть то же самое
TimKa Опубліковано: 16 листопада, 2004 Опубліковано: 16 листопада, 2004 /etc/rc.conf ==== firewall_enable="YES" firewall_logging="YES" firewall_quiet="YES" firewall_script="/usr/local/etc/ipfw/ipfw.conf" natd_enable="YES" natd_flags="-f /usr/local/etc/natd.conf -a <внешний ip адрес> -p 8668" ==== /usr/local/etc/natd.conf ==== use_sockets yes same_ports yes ==== /usr/local/etc/ipfw/ipfw.conf ==== #!/bin/sh # Firewall rulese fwcmd="/sbin/ipfw" $fwcmd -f flush $fwcmd add 100 divert 8668 ip from 192.168.222.0/24 to any via <внешний ip адрес> $fwcmd add 200 divert 8668 ip from 192.168.227.0/24 to any via <внешний ip адрес> $fwcmd add 210 divert 8668 ip from 172.16.16.0/24 to any via <внешний ip адрес> $fwcmd add 300 divert 8668 ip from any to <внешний ip адрес> in recv <внешний ip адрес> дальше правила по вкусу
TimKa Опубліковано: 16 листопада, 2004 Опубліковано: 16 листопада, 2004 забыл про сквид вот для сквида $fwcmd add fwd <ip адрес squid>,3128 tcp from 192.168.222.0/24 to any 80 recv rl0 in $fwcmd add fwd <ip адрес squid>,3128 tcp from 192.168.225.0/24 to any 80 recv ed0 in $fwcmd add fwd <ip адрес squid>,2121 tcp from 192.168.222.0/24 to any 21 recv rl0 in $fwcmd add fwd <ip адрес squid>,2121 tcp from 192.168.225.0/24 to any 21 recv ed0 in
TimKa Опубліковано: 16 листопада, 2004 Опубліковано: 16 листопада, 2004 для заворота фтп трафика на сквид использую frox
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас