Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » FreeBSD - Интернет шлюз на FreeBSD.

Ответить
Настройки темы
FreeBSD - Интернет шлюз на FreeBSD.

Аватара для kyzmi4

Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: kyzmi4
Дата: 22-03-2011
Изображения
Тип файла: jpeg gateway.jpeg
(25.0 Kb, 14 просмотров)
Здравствуйте уважаемые форумчанине и форумчанки.
История не нова, но всеже.
Завили к нам в здание 10 мбитный интернет. Сразу возник вопрос это раздать, поделить и себя не обделенным оставить. Решение данного вопроса я возложил на себя. В копилке навыков имеется представление о построении сетей, настройки. Также имеется в копилке настройка файлового сервера на FreeBSD с интеграцией с AD. Сейчас есть интернет пропускной способностью 2 мбит, шлюз на слаке и полная анархия, кто торренты качает, кто Youtube, пока лечится только arp -s ip fake_mac. Дабы чувствовать себя в этой теме как рыба в воде, мною был прочитан вдоль и поперек лисяра
читать дальше »
http://www.lissyara.su
, handbook и почитанны местные темы. И прежде чем приступать к практическим действиям, хочу спросить у вас, правильно ли я все понял и вник в суть:


Это как я ее назвал схематическая схема.

Как это должно работать:
1) Есть отдел занимающийся оформлением документов, им кроме как 80, 8080,443 и почтовых портов ничего не надо. (Я так сказал ) Все они дружно ходят через прозрачный прокси на сквиде, а почта заворачивает на НАТ. Все остальные порты, весело и непринужденно режутся, кромсаются фаерволом. И мало того будет стоять ограничение по ширине канала, отдадим им 2 мбита.
2) Есть Very Important Person, это начальство и другие. Они создают на своем компе VPN подключение через стандартные функции Окон. И качают, и делают что хотят. Их всех заворачивает на НАТ.

Что будет использоватся:
DCHP - isc-dhcp3-relay Для раздачи IP
DNS - BIND Кеширующий
SQUID - Собственно сама прокси
Rejik - Будем резать, будем бить, в интернет сюда ходить, а сюда не ходить.
SAMS - Посмотреть, другим показать, кто куда лазиит.
Apache, MySQL, PHP 5 - для поддержания веб морды SQUID´a
NAT - еще не определился с программой, изучаю этот вопрос.
IPFW - фаервол, отворот-поворот.
VPN - по протоколу PPTP, программы PoPToP или mpd.

Серия вопросов:
1) Помогите определится с NAT.
2) Нужен ли кеширющий ДНС, если есть прокси?
3) При VPN подключении к серверу создается еще один интерфейс, как с этим справится фаер или же в нем можно будет указать список интерфейсов, а не по одному прописывать. (Вопросом еще не занимался, не гуглил)
4) На Сквиде морда Самс, а на Нате как вести статистику?

К процессу преступлю только недельки через две, не хочу прыгать сразу в прорубь.

В процессе, сборки, установки, настройки буду отписываться из чего потом собирем RTFM.

Отправлено: 11:48, 22-03-2011

 

Аватара для kyzmi4

Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата ashota:
Думаю, все что тут написано, ты с умом переведешь на свою систему, все должно работать. У меня работает. »
У меня тоже работает, спасибо. Конфиги выложил у себя http://kyzmi4-freebsd.livejournal.com/
А немоглибы еще показать ваши файлы зон.
Привел host, в ваш вид.
Сейчас меня ждет SQUID.

Последний раз редактировалось kyzmi4, 31-03-2011 в 11:03.


Отправлено: 10:55, 31-03-2011 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для kyzmi4

Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Помогите в решении вопроса с IPFW.

Есть очевидное правило:
PHP код: Выделить весь код

${fwcmdadd allow tcp from any to me dst-port 22 


Я полагаю его выполнение, что все (0.0.0.0/0) могут подлючится ко мне на порту 22.
А вот фиг батенька, проходят три пакета и все, putty на ноутбуке сообщает Connection timed out.
tcpdump -ni xl0 port 22:
PHP код: Выделить весь код

11:5719.713452 IP 192.168.1.10.8518 192.168.1.1.22Flags [S], seq 1770059954win 65535options [mss 1460,nop,wscale 3,nop,nop,TS val 0 ecr 0,nop,nop,sackOK], lenght 0 


И так 3 раза, счетчик правила щелкает.
Также с правилом:
PHP код: Выделить весь код

${fwcmdadd allow tcp from any to ${oip80 via fxp0 


ОЧень долго мучался с DHCPD, победил.
rc.conf:
PHP код: Выделить весь код

hostname="inet.fms"
keymap="ru.koi8-r.win"
font8x8="koi8-r-8x8"
font8x14="koi8-r-8x14"
font8x16="koi8-r-8x16"
keyrate="fast"
defaultrouter="21x.100.148.53"
firewall_enable="YES"
firewall_script="/etc/rc.firewall.my"
sshd_enable="YES"
named_enable="YES"
#named_flags="-u bind -g wheel"
apache22_enable="YES"
ifconfig_fxp0="inet 21x.100.148.54  netmask 255.255.255.252"
ifconfig_xl0="inet 192.168.1.1 netmask 255.255.255.0"
dhcpd_enable="YES"
dhcpd_ifaces="xl0"
squid_enable="YES" 

rc.firewall.my:
PHP код: Выделить весь код

#!/bin/sh -
fwcmd="/sbin/ipfw"
#Внешний
oif="fxp0"
oip="21x.100.148.54"

#Внутренний
iif="xl0"
iip="192.168.1.1"
MyLan="192.168.1.0/24"

${fwcmd} -f flush

#loop
${fwcmdadd allow all from any to any via lo0

#ICMP
${fwcmdadd allow icmp from any to any icmptype 0,3,4,8,11

#SSH
${fwcmdadd allow tcp from any to me 22

#DNS
${fwcmdadd allow udp from any to any 53
${fwcmdadd allow udp from any 53 to any

#DHCP
${fwcmdadd allow udp from any to any 67 via ${iif}
${
fwcmdadd allow udp from any 68 to any via ${iif}
${
fwcmdadd allow udp from any 67 to any via ${iif}
${
fwcmdadd allow udp from any to any 68 via ${iif}

#WWW
${fwcmdadd allow tcp from any to ${oip80 via ${oif}

#SQID
${fwcmdadd fwd 127.0.0.1,3128 tcp from ${MyLanto any 80 via ${oif

Про сквид я вообще пока не зарекаюсь.

Извините меня!
Должны быть правила для входящего и исходящего.
SSH дополнил:
${fwcmd} add allow tcp from me 22 to any И все заработало
WWW дополнил:
${fwcmd} add allow tcp from ${oip} to any via ${oif} И тоже все заработало.
Но все равно, мне кажется, что где-то проще можно сделать

Последний раз редактировалось kyzmi4, 04-04-2011 в 12:33. Причина: ip роутера спалил


Отправлено: 12:16, 04-04-2011 | #12


Аватара для dmitryst

Ветеран


Сообщения: 7315
Благодарности: 909

Профиль | Отправить PM | Цитировать


Цитата kyzmi4:
Но все равно мне кажется что гдето проше можно сделать »
Номера правил принято ставить явно
${FW} add 10 allow log tcp from any to me 22 via ${out_if}
${FW} add 11 allow tcp from me 22 to any via ${out_if}

например

-------
Осваиваю FreeBSD

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:35, 04-04-2011 | #13


Аватара для kyzmi4

Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Да, да товарищь телепат. А еще у меня ядро собрано без IPFIREWALL_DEFAULT_TO_ACCEPT. Тобишь:
${fwcmd} add allow tcp from any to me 22, будет конектится в одну сторону, но обратно ответа не будет и получим Connection timed out.
Но если добавить правило ${fwcmd} add allow tcp from me 22 to any, то все заработает. Хотя почитав повнимательнее мануал, я узнал о функции keep-state. Но почемуто ${fwcmd} add fwd 127.0.0.1,3128 tcp from ${MyLan} to any 80 via ${oif} keep-state, не работает, то есть работает но страница пишет: Error The requested URL could not be retrieved, Система вернула: (13) Permission denied. Это пока главная задача.

Отправлено: 14:25, 04-04-2011 | #14


Аватара для dmitryst

Ветеран


Сообщения: 7315
Благодарности: 909

Профиль | Отправить PM | Цитировать


Цитата kyzmi4:
Но почемуто ${fwcmd} add fwd 127.0.0.1,3128 tcp from ${MyLan} to any 80 via ${oif} keep-state, не работает, то есть работает но страница пишет: Error The requested URL could not be retrieved, Система вернула: (13) Permission denied. Это пока главная задача. »
невнимательно мануал читали, товарищ коллега
Чтобы использовать keep-state, сначала надо определить правило с setup, а вот дальнейшие пакеты как раз и пойдут по правилу с keep-state (т.е. первый пакет смотрит правило с sеtup-ом, если все нормально, то в дальнейшем все пакеты этого сеанса идут по правилу с keep-state). Я динамическими правилами не пользуюсь, хватает обычных.

Цитата kyzmi4:
${fwcmd} add fwd 127.0.0.1,3128 tcp from ${MyLan} to any 80 via ${oif} keep-state, не работает »
уберите keep-state, тут он вообще не нужен

PS. нумерация правил таки хорошая вещь

-------
Осваиваю FreeBSD

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:05, 04-04-2011 | #15


Аватара для kyzmi4

Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата dmitryst:
уберите keep-state, тут он вообще не нужен »
Ну без него он вообще ничего не делал. ^_^ Теперь хоть страницу с ошибкой выдает.
А почему же у меня работает такое правило:
${fwcmd} add allow tcp from any to me 22 keep-state, а
просто ${fwcmd} add allow tcp from any to me 22 ужо не работает?

Делаю прокси прозрачным, с подключенной машины пытаюсь выйти в инет. Мне выдается

PHP код: Выделить весь код

Error The requested URL could not be retrieved
Система вернула
: (13Permission denied


А в cache.log пишет:
PHP код: Выделить весь код

IpIntercept.cc(250IpfInterceptionNAT open failed : (2No such file or directory

В гугле искал, вроде нашел решение, но он не сработало.
https://wiki.andrewmercer.net/index....nsparent_Proxy
Там помогло, пересобрать сквид с поддержкой всех фаерволов.
Нат, не запущен, ибо пока он вообще не нужен. Настроен DHCP, DDNS, IPFW c правилом в конце deny all.

Отправлено: 22:11, 04-04-2011 | #16


Аватара для dmitryst

Ветеран


Сообщения: 7315
Благодарности: 909

Профиль | Отправить PM | Цитировать


Цитата kyzmi4:
Нат, не запущен, ибо пока он вообще не нужен. »
это как? ))) Что, прям вся сетка со своих 192,168,х,х ломится в интернет, что ли?
Цитата kyzmi4:
Делаю прокси прозрачным, с подключенной машины пытаюсь выйти в инет. Мне выдается »
дайте конфиг ipfw

-------
Осваиваю FreeBSD

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:41, 04-04-2011 | #17


Аватара для kyzmi4

Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата dmitryst:
это как? ))) Что, прям вся сетка со своих 192,168,х,х ломится в интернет, что ли? »
На прозрачный прокси ломится, кроме www им ничего не надо. (Я так сказал ) Конечно потом будет нат, но урезанно до почты и аськи например.

Товарищь телепат, время уже позднее, конфиги на сервере, по ssh у меня рут заблокирован, кофиг ipfw отказывается читаться. Приятного вам вечера с чаем за познанием не познанного. Утром обязательно скину

Отправлено: 22:50, 04-04-2011 | #18


Аватара для dmitryst

Ветеран


Сообщения: 7315
Благодарности: 909

Профиль | Отправить PM | Цитировать


Цитата kyzmi4:
На прозрачный прокси ломится, кроме www им ничего не надо. (Я так сказал ) Конечно потом будет нат, но урезанно до почты и аськи например. »
ну и как, по-вашему, из сети 192,168,1,0 комп пошлет пакет, скажем, 8,8,8,4 и примет его? (Хотя, спорить не буду, я уже тоже в отключке, завтра с утра вырублю НАТ и посмотрим, кто куда через прокси пойдет...)
Цитата kyzmi4:
Приятного вам вечера с чаем за познанием не познанного. »
спасибо, взаимно.
Цитата kyzmi4:
конфиги на сервере, по ssh у меня рут заблокирован, кофиг ipfw отказывается читаться. »
вот и оно, непознанное! НЕ РАБОТАЙТЕ ОТ РУТА!!! Заведите себе пользователя с неадекватным логином и таким же паролем, пропишите в sudo.conf - и все. Зашел юзером, sudo -i - рут!

-------
Осваиваю FreeBSD

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:31, 05-04-2011 | #19


Аватара для kyzmi4

Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата dmitryst:
вот и оно, непознанное! НЕ РАБОТАЙТЕ ОТ РУТА!!! Заведите себе пользователя с неадекватным логином и таким же паролем, пропишите в sudo.conf - и все. Зашел юзером, sudo -i - рут! »
Не, я чего-то там в конфигах накосипорил. Вообщем хотел, чтобы залогинится можно только под юзером, а потом sudo и пароль рута ввести.
Цитата dmitryst:
завтра с утра вырублю НАТ и посмотрим, кто куда через прокси пойдет... »
Жду

Конфиги:
rc.firewall.my
PHP код: Выделить весь код

#!/bin/sh -
fwcmd="/sbin/ipfw"
#Интернет
oif="fxp0"
oip="21x.100.148.54"

#Локалка
iif="xl0"
iip="192.168.1.1"
MyLan="192.168.1.0/24"

${fwcmd} -f flush
${fwcmdadd check-state

#Loop
${fwcmdadd allow all from any to any via lo0

#Я тут король
#${fwcmd} add allow tcp from me to any out via ${oif} setup keep-state uid root

#ICMP
${fwcmdadd allow icmp from any to any icmptype 0,3,4,8,11

#SSH
${fwcmdadd allow tcp from any to me 22 keep-state

#DNS
${fwcmdadd allow udp from any to any 53
${fwcmdadd allow udp from any 53 to any

#DHCP
${fwcmdadd allow udp from any to any 67 via ${iif}
${
fwcmdadd allow udp from any 68 to any via ${iif}
${
fwcmdadd allow udp from any 67 to any via ${iif}
${
fwcmdadd allow udp from any to any 68 via ${iif}

#WWW
${fwcmdadd allow tcp from any to ${oip80 via ${oifkeep-state
#${fwcmd} add allow tcp from ${oip} 80 to any via ${oif}

#SQID
${fwcmdadd fwd 127.0.0.1,3128 tcp from ${MyLanto any 80 via ${iifkeep-state

#Iperf
${fwcmdadd allow tcp from any to me 5002 via ${oif}
${
fwcmdadd allow tcp from me 5002 to any via ${oif

Только не надо пристреливать меня сразу

rc.conf
PHP код: Выделить весь код

hostname="inet.fms"
keymap="ru.koi8-r.win"
font8x8="koi8-r-8x8"
font8x14="koi8-r-8x14"
font8x16="koi8-r-8x16"
keyrate="fast"
defaultrouter="21x.100.148.53"
firewall_enable="YES"
firewall_script="/etc/rc.firewall.my"
sshd_enable="YES"
named_enable="YES"
#named_flags="-u bind -g wheel"
apache22_enable="YES"
ifconfig_fxp0="inet 21x.100.148.54  netmask 255.255.255.252"
ifconfig_xl0="inet 192.168.1.1 netmask 255.255.255.0"
dhcpd_enable="YES"
dhcpd_ifaces="xl0"
squid_enable="YES" 

UPDATE:
после правила ${fwcmd} add fwd 127.0.0.1,3128 tcp from ${MyLan} to any 80 via ${iif}, добавил ${fwcmd} add allow all from any to any и все заработало. Но теперь получается я весь открыт. =\ Где то я пропустил образовательный процесс, ведь мне надо чтобы по умолчанию все закрыто было, вот и собрал без IPFIREWALL_DEFAULT_TO_ACCEPT, чтобы самому открыть все что надо.

Последний раз редактировалось kyzmi4, 05-04-2011 в 12:14.


Отправлено: 10:49, 05-04-2011 | #20



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » FreeBSD - Интернет шлюз на FreeBSD.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
FreeBSD - Шлюз FreeBSD в VMware freemanlutsk Общий по FreeBSD 12 01-10-2009 06:01
FreeBSD - Шлюз на FREEBSD 7 admin666 Общий по FreeBSD 1 13-04-2009 22:35
FreeBSD - шлюз на FreeBSD 4.8 не могу подключить к сети провайдера Mai Общий по FreeBSD 8 19-11-2007 05:38
FreeBSD как шлюз в интернет vertall Общий по FreeBSD 18 13-08-2007 08:43
Шлюз на FreeBSD Guest Общий по FreeBSD 17 02-09-2004 08:06




 
Переход