Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по FreeBSD (http://forum.oszone.net/forumdisplay.php?f=10)
-   -   Прокси FreeBSD+Squid+Sams+IPFW HELPPP! (http://forum.oszone.net/showthread.php?t=223269)

cherex 19-12-2011 09:31 1817793

Прокси FreeBSD+Squid+Sams+IPFW HELPPP!
 
Уважаемые знатоки, в следующей конфигурации была реализована прокся со связкой FreeBSD+Squid+Sams+IPFW, в данный момент достигнуты все поставленные задачи: ( используется не прозрачная прокся Squid с аутентификацией Логин-Пароль (для контроля и логирования через Sams юзеров), следующее работает в обход прокси Squid по NAT: почта через Outlook, Mail Agent, ICQ, Skype), но не работает Торрент, его нужно пробросить только на мою машину по IP.....

Вопрос: Каким образом можно пробросить порты Торрента на определённый адрес (то есть на мой IP)))), или открыть абсолютно полный доступ по NAT именно на определённый IP в обход прокси.. (Если можно желательно примеры правил и конфигов) Буду очень благодарен ....

Используется FreeBSD 8.1, а нат через natd....

Вот вся конфига:

Ядро собрано для IPFW с опциями:

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_FORWARD
options IPDIVERT
options DUMMYNET
options IPFIREWALL_DEFAULT_TO_ACCEPT

cat /etc/rc.conf

defaultrouter="195.158.31.5"
hostname="squid.lknak.uz"
ifconfig_msk0="inet 195.158.31.6 netmask 255.255.255.252" (это интернет)
ifconfig_rl0="inet 192.168.10.250 netmask 255.255.255.0" (это локальная сеть)
sshd_enable="YES"
apache_enable="YES"
squid_enable="YES"
mysql_enable="YES"
sams_enable="YES"
firewall_enable="YES"
firewall_script="/usr/local/etc/rc.d/ipfw.sh"
firewall_type="SIMPLE"
natd_enable="YES"
natd_interface="msk0"
gateway_enable="YES"
named_enable="YES"


cat /usr/local/etc/rc.d/ipfw.sh

#!/bin/sh

ipfw="/sbin/ipfw -q"

local="192.168.10.0/24" (это локальная сеть)
net="195.158.31.6" (это IP сетевой смотрящей в интернет)

oif="rl0" (это сетевая смотрящая в локальную сеть)
iif="msk0" (это сетевая смотрящая в интернет)

${ipfw} -f flush

${ipfw} add check-state

${ipfw} add 1 allow ip from any to any via lo0

${ipfw} add 2 allow tcp from any 22 to any
${ipfw} add 3 allow tcp from any to any 22

${ipfw} add 4 deny ip from any to 127.0.0.0/8
${ipfw} add 5 deny ip from 127.0.0.0/8 to any

${ipfw} add 6 deny ip from any to 10.0.0.0/8 in via ${iif}
${ipfw} add 7 deny ip from any to 172.16.0.0/12 in via ${iif}
${ipfw} add 8 deny ip from any to 192.168.0.0/16 in via ${iif}
${ipfw} add 9 deny ip from any to 0.0.0.0/8 in via ${iif}

${ipfw} add 10 deny ip from any to 169.254.0.0/16 in via ${iif}
${ipfw} add 11 deny ip from any to 240.0.0.0/4 in via ${iif}
${ipfw} add 12 deny icmp from any to any frag

${ipfw} add 13 deny log icmp from any to 255.255.255.255 in via ${iif}
${ipfw} add 14 deny log icmp from any to 255.255.255.255 out via ${iif}

${ipfw} add 15 fwd 127.0.0.1,3128 tcp from ${local} to any 80 via ${iif}

${ipfw} add 16 divert natd ip from ${local} to any out via ${iif}
${ipfw} add 17 divert natd ip from any to ${net} in via ${iif}

${ipfw} add 18 deny ip from 10.0.0.0/8 to any out via ${iif}
${ipfw} add 19 deny ip from 172.16.0.0/12 to any out via ${iif}
${ipfw} add 20 deny ip from 192.168.0.0/16 to any out via ${iif}
${ipfw} add 21 deny ip from 0.0.0.0/8 to any out via ${iif}

${ipfw} add 22 deny ip from 169.254.0.0/16 to any out via ${iif}
${ipfw} add 23 deny ip from 224.0.0.0/4 to any out via ${iif}
${ipfw} add 24 deny ip from 240.0.0.0/4 to any out via ${iif}

${ipfw} add 25 allow tcp from any to any established

${ipfw} add 26 allow ip from ${net} to any out xmit ${iif}

${ipfw} add 27 allow udp from any 53 to any via ${iif}
${ipfw} add 28 allow udp from any to any 53 via ${iif}
${ipfw} add 29 allow udp from any to any 123 via ${iif}
${ipfw} add 30 allow tcp from any to ${net} 21 via ${iif}

${ipfw} add 31 allow tcp from any to ${net} 49152-65535 via ${iif}

${ipfw} add 32 allow icmp from any to any icmptypes 0,8,11
${ipfw} add 33 allow tcp from any to ${net} 80 via ${iif}
${ipfw} add 34 allow tcp from any to ${net} 143 via ${iif}
${ipfw} add 35 allow tcp from any to ${net} 110 via ${iif}
${ipfw} add 36 allow tcp from any to any via ${oif}
${ipfw} add 37 allow udp from any to any via ${oif}
${ipfw} add 38 allow icmp from any to any via ${oif}
${ipfw} add 39 deny ip from any to any
${ipfw} add 40 allow tcp from any to ${net} 25 via ${iif}

${ipfw} add 41 allow all from ${local} to me 3128
${ipfw} add 42 fwd 127.0.0.1,3128 tcp from ${local} to any dst-port 80,443

${ipfw} add 43 allow tcp from any to ${net} 995 via ${iif}

${ipfw} add 44 allow tcp from any to ${net} 2041 via ${iif}
${ipfw} add 45 allow tcp from any to ${net} 2042 via ${iif}

${ipfw} add 46 allow tcp from any to ${net} 5190 via ${iif}

${ipfw} add 48 allow tcp from any to ${net} 465 via ${iif}
${ipfw} add 49 allow tcp from any to ${net} 993 via ${iif}
${ipfw} add 50 allow tcp from any to ${net} 20 via ${iif}

${ipfw} add 51 allow tcp from any to ${net} 1024 via ${iif}
${ipfw} add 52 allow tcp from any to ${net} 443 via ${iif}


Несудите строго я новичёк в изучении FreeBSD, прошу помощи опытных Админов.... Заранее Спасибо !!!


Время: 16:19.

Время: 16:19.
© OSzone.net 2001-