Вопрос о прозрачном прокси

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
ADRE
майор
Сообщения: 2645
Зарегистрирован: 2007-07-26 8:53:49
Контактная информация:

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение ADRE » 2011-01-24 19:34:08

Гость писал(а):пальцем в небо - самый ходовой метод написание фаерволов у новичков и не только)
так что заставить прочитать что то, новички и не только - воспринимают как оскорбление

вы по делу говорите! по делу! что как мне изменить что бы все работало!?!?

:ROFL: :ROFL:
мой любимый метод... :pardon:
--
можно попробовать kldload на самом деле можно посмотреть тут:
http://www.lissyara.su/articles/freebsd ... bout_ipfw/ - конечно опечатки есть - но для понимания не кретично.
http://www.lissyara.su/articles/freebsd/tuning/ipfw/ - тоже для понимания.
http://www.lissyara.su/articles/freebsd ... /ipfw_nat/
ну и конечно же.
http://freebsdhowto.com/Ipfw-Advanced-S ... -HOWTO.txt
http://dbaspot.com/forums/bsd-freebsd-m ... -ipfw.html
хендбук реккомендует:

Код: Выделить всё

#!/bin/sh
################ Start of IPFW rules file ###############################
# Flush out the list before we begin.
ipfw -q -f flush

# Set rules command prefix
cmd="ipfw -q add"
skip="skipto 800"
pif="rl0"     # public interface name of NIC
              # facing the public Internet

#################################################################
# No restrictions on Inside LAN Interface for private network
# Change xl0 to your LAN NIC interface name
#################################################################
$cmd 005 allow all from any to any via xl0

#################################################################
# No restrictions on Loopback Interface
#################################################################
$cmd 010 allow all from any to any via lo0

#################################################################
# check if packet is inbound and nat address if it is
#################################################################
$cmd 014 divert natd ip from any to any in via $pif

#################################################################
# Allow the packet through if it has previous been added to the
# the "dynamic" rules table by a allow keep-state statement.
#################################################################
$cmd 015 check-state

#################################################################
# Interface facing Public Internet (Outbound Section)
# Check session start requests originating from behind the
# firewall on the private network or from this gateway server
# destined for the public Internet.
#################################################################

# Allow out access to my ISP's Domain name server.
# x.x.x.x must be the IP address of your ISP's DNS
# Dup these lines if your ISP has more than one DNS server
# Get the IP addresses from /etc/resolv.conf file
$cmd 020 $skip tcp from any to x.x.x.x 53 out via $pif setup keep-state

# Allow out non-secure standard www function
$cmd 040 $skip tcp from any to any 80 out via $pif setup keep-state

# Allow out secure www function https over TLS SSL
$cmd 050 $skip tcp from any to any 443 out via $pif setup keep-state

# Allow out send & get email function
$cmd 060 $skip tcp from any to any 25 out via $pif setup keep-state
$cmd 061 $skip tcp from any to any 110 out via $pif setup keep-state

# Allow out FreeBSD (make install & CVSUP) functions
# Basically give user root "GOD" privileges.
$cmd 070 $skip tcp from me to any out via $pif setup keep-state uid root

# Allow out ping
$cmd 080 $skip icmp from any to any out via $pif keep-state

# Allow out secure FTP, Telnet, and SCP
# This function is using SSH (secure shell)
$cmd 110 $skip tcp from any to any 22 out via $pif setup keep-state

# Allow ntp time server
$cmd 130 $skip udp from any to any 123 out via $pif keep-state

#################################################################
# Interface facing Public Internet (Inbound Section)
# Check packets originating from the public Internet
# destined for this gateway server or the private network.
#################################################################

# Deny all inbound traffic from non-routable reserved address spaces
$cmd 300 deny all from 192.168.0.0/16  to any in via $pif  #RFC 1918 private IP
$cmd 301 deny all from 172.16.0.0/12   to any in via $pif  #RFC 1918 private IP
$cmd 302 deny all from 10.0.0.0/8      to any in via $pif  #RFC 1918 private IP
$cmd 303 deny all from 127.0.0.0/8     to any in via $pif  #loopback
$cmd 304 deny all from 0.0.0.0/8       to any in via $pif  #loopback
$cmd 305 deny all from 169.254.0.0/16  to any in via $pif  #DHCP auto-config
$cmd 306 deny all from 192.0.2.0/24    to any in via $pif  #reserved for docs
$cmd 307 deny all from 204.152.64.0/23 to any in via $pif  #Sun cluster
$cmd 308 deny all from 224.0.0.0/3     to any in via $pif  #Class D & E multicast

# Deny ident
$cmd 315 deny tcp from any to any 113 in via $pif

# Deny all Netbios service. 137=name, 138=datagram, 139=session
# Netbios is MS/Windows sharing services.
# Block MS/Windows hosts2 name server requests 81
$cmd 320 deny tcp from any to any 137 in via $pif
$cmd 321 deny tcp from any to any 138 in via $pif
$cmd 322 deny tcp from any to any 139 in via $pif
$cmd 323 deny tcp from any to any 81  in via $pif

# Deny any late arriving packets
$cmd 330 deny all from any to any frag in via $pif

# Deny ACK packets that did not match the dynamic rule table
$cmd 332 deny tcp from any to any established in via $pif

# Allow in secure FTP, Telnet, and SCP from public Internet
$cmd 380 allow tcp from any to me 22 in via $pif setup limit src-addr 2

# Reject & Log all unauthorized incoming connections from the public Internet
$cmd 400 deny log all from any to any in via $pif

# Reject & Log all unauthorized out going connections to the public Internet
$cmd 450 deny log all from any to any out via $pif

# This is skipto location for outbound stateful rules
$cmd 800 divert natd ip from any to any out via $pif
$cmd 801 allow ip from any to any

# Everything else is denied by default
# deny and log all packets that fell through to see what they are
$cmd 999 deny log all from any to any
################ End of IPFW rules file ############################### 
//del

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-26 10:43:02

После 5-6 пересборок ядра (сам не понял почему, но несколько раз ставился GENERIC хотя я и компилил и инсталил свое ядро, в конечном итоге просто внес изменения в дженерик, ) с параметрами

Код: Выделить всё

options <------>IPFIREWALL
options <------>IPFIREWALL_VERBOSE
options <------>IPFIREWALL_VERBOSE_LIMIT=100
options <------>IPFIREWALL_FORWARD
options <------>IPDIVERT
options <------>DUMMYNET
options <------>IPFIREWALL_NAT
options <------>LIBALIAS
все запустилось.

Но на клиенет вообще перестал работать интернет:
rc.conf:

Код: Выделить всё

ifconfig_vr0="inet 172.17.32.110  netmask 255.255.255.0"
ifconfig_rl0="inet 192.168.1.1 netmask 255.255.255.0"
gateway_enable="YES"
defaultrouter="172.17.32.252"
sshd_enable="YES"
hostname="bsdgate.local"
firewall_enable="YES"
firewall_type="/etc/firewall"
apache_enable="YES"
squid_enable="YES"
mysql_enable="YES"
/etc/firewall:

Код: Выделить всё

add 1000 fwd 127.0.0.1,3128 tcp from 192.168.1.0/24 to not me 80
add 1040 allow ip from any to any via rl0
add 1045 allow ip from any to any 22 keep-state
add 1047 allow ip from any to any 80 keep-state
add 1048 allow ip from any to any 53 keep-state
add 1049 allow ICMP from any to any keep-state
nat 1 config if vr0 reset same_ports deny_in
add 1060 nat 1 ip from any to any via vr0
ipfw show

Код: Выделить всё

bsdgate# ipfw show
00100  52   5498 allow ip from any to any via lo0
00200   0      0 deny ip from any to 127.0.0.0/8
00300   0      0 deny ip from 127.0.0.0/8 to any
00400   0      0 deny ip from any to ::1
00500   0      0 deny ip from ::1 to any
00600   0      0 allow ipv6-icmp from :: to ff02::/16
00700   0      0 allow ipv6-icmp from fe80::/10 to fe80::/10
00800   0      0 allow ipv6-icmp from fe80::/10 to ff02::/16
00900   0      0 allow ipv6-icmp from any to any ip6 icmp6types 1
01000   0      0 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136
01000  31   5595 fwd 127.0.0.1,3128 tcp from 192.168.1.0/24 to not me dst-port 80
01000   0      0 fwd 127.0.0.1,3128 tcp from 192.168.1.0/24 to not me dst-port 80
01040  87  14154 allow ip from any to any via rl0
01040   0      0 allow ip from any to any via rl0
01040   0      0 allow ip from any to any via rl0
01045 968 135280 allow ip from any to any dst-port 22 keep-state
01045   0      0 allow ip from any to any dst-port 22 keep-state
01045   0      0 allow ip from any to any dst-port 22 keep-state
01047  48   2592 allow ip from any to any dst-port 80 keep-state
01047   0      0 allow ip from any to any dst-port 80 keep-state
01047   0      0 allow ip from any to any dst-port 80 keep-state
01048  48   4335 allow ip from any to any dst-port 53 keep-state
01048   0      0 allow ip from any to any dst-port 53 keep-state
01048   0      0 allow ip from any to any dst-port 53 keep-state
01049  12    784 allow icmp from any to any keep-state
01060 835  82140 nat 1 ip from any to any via vr0
01060   2    168 nat 1 ip from any to any via vr0
01060   0      0 nat 1 ip from any to any via vr0
65535   2    168 deny ip from any to any
Не соображу, почему так, нат перестал работать?

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-26 16:17:18

Никто не подскажет ? :(


snorlov
подполковник
Сообщения: 3929
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение snorlov » 2011-01-28 13:03:58

uvetrom писал(а):Как бы ап :(
У меня дурацкий конечно вопрос, а зачем вам прозрачный прокси, что вы от него хотите поиметь? Можно просто поставить шлюз с натом и радоваться жизни, для начала...

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-28 13:12:07

Прокси - ограничивать доступ пользователей к сетям.... по айпи, по доменным именам и прочее, просмотр статистики, например sarg или sams.
Прозрачный прокси, что бы пользователи, не могли тупо снять галочку в експлорере и сидеть без всяки ограничений(2-3 компа в доп. офисе, домен ставить нет смысла).
Как бы так...

Шлюз с натом, как бы не вопрос. До всех теледвижений с прозрачным прокси, все работало. Но в последний прекрасный момент, когда я подключил IPFIREWALL_FORWARD, все поломалось. Выше я описывал ситуацию.

snorlov
подполковник
Сообщения: 3929
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение snorlov » 2011-01-28 13:23:11

Дык можно и не включать форвардинг, а просто блокировать всех на 80-том порту, ну снимут они галочку и дырку от бублика получат....
Т.е., пусть на внутреннем интерфейсе висит web с информацией о статистике, ну а в файере пишешь нечто

Код: Выделить всё

allow all from localnet to me 80 via rl0
disable all from localnet to any 80 via rl0

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-28 13:27:49

Ну да, все гениальное просто :)
Осталось только нат починить.

snorlov
подполковник
Сообщения: 3929
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение snorlov » 2011-01-28 13:41:43

uvetrom писал(а):Ну да, все гениальное просто :)
Осталось только нат починить.
На самом деле не все так радужнои просто , приведенный мной пример показывает как блокировать 80 порт, а их, точнее сервисов, как мы знаем гораздо больше...

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-28 13:46:58

Ну то МЫ, а то они...

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-28 13:47:21

Если до понедельника не соображу почему перестал работать, попробую все сделать с нуля.

snorlov
подполковник
Сообщения: 3929
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение snorlov » 2011-01-28 14:07:16

А вообще какая у вас

Код: Выделить всё

uname -a
И не надо генерить свое ядро, возьмите generic и добавьте в /boot/loader.conf

Код: Выделить всё

libalias_load="yes"
ipfw_load="yes"
ipfw_nat_load="yes"
dummynet_load="yes"
ipdivert_load="yes"
/etc/rc.conf

Код: Выделить всё

ifconfig...=...
ifconfig...=..
defaultrouter=...
gateway_enable="yes"
firewall_enable="yes"
firewall_nat_enable="yes"
firewall_nat_interface= внешний интерфейс
firewall_type="OPEN"
При этом задействуется стандартный скрипт правил из файла /etc/rc.firewall с выбором OPEN, в нем много примеров его и курочьте
если берете 8-ку, то там надо еще прописать переменную /etc/sysctl.conf

Код: Выделить всё

net.inet.ip.fw.one_pass=0
либо прописать самым верхнем правилом

Код: Выделить всё

ipfw disable one_pass
Самый главный совет почитайте про tcp/ip и ipfw, статья на сайте есть, без понимания этого будетет стучаться об стену...

uvetrom
мл. сержант
Сообщения: 80
Зарегистрирован: 2010-02-10 16:35:13

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение uvetrom » 2011-01-28 14:17:19

У меня эта статья Терминуса как настольная книга уже, вечером не почитаю - спать не лягу .... жаль что разума от этого не прибавляется.
У меня 8.1. В понедельник попробую начать с нуля, ибо мне кажется, что то, что я тут накрутил восстановление не подлежит...
Спасибо всем за помощь!

Аватара пользователя
vadim64
майор
Сообщения: 2101
Зарегистрирован: 2009-09-17 15:15:26
Откуда: Засратовец

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение vadim64 » 2011-01-28 14:28:44

советую до 8.2RC обновиться перед эксперементами
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.

snorlov
подполковник
Сообщения: 3929
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение snorlov » 2011-01-28 14:38:53

vadim64 писал(а):советую до 8.2RC обновиться перед эксперементами
А зачем, там ведь и баги могут всплыть... тем более наверное все с диска ставит... Я бы понял, если железо не поддерживалось или еще что-то, а так... разве что для тренировки, но у него же другая задача...

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение FreeBSP » 2011-01-28 16:20:54

некоторые баги (в частности one_pass и что-то с утилитой ipfw) как раз закрыты там
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
vadim64
майор
Сообщения: 2101
Зарегистрирован: 2009-09-17 15:15:26
Откуда: Засратовец

Re: Вопрос о прозрачном прокси

Непрочитанное сообщение vadim64 » 2011-01-28 21:37:30

FreeBSP писал(а):некоторые баги (в частности one_pass и что-то с утилитой ipfw) как раз закрыты там
+1 :smile:
Поздравляем победителя нашей викторины!
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.