![]() |
Интернет шлюз на FreeBSD.
Вложений: 1
Здравствуйте уважаемые форумчанине и форумчанки. =)
История не нова, но всеже. Завили к нам в здание 10 мбитный интернет. Сразу возник вопрос это раздать, поделить и себя не обделенным оставить. Решение данного вопроса я возложил на себя. В копилке навыков имеется представление о построении сетей, настройки. Также имеется в копилке настройка файлового сервера на FreeBSD с интеграцией с AD. Сейчас есть интернет пропускной способностью 2 мбит, шлюз на слаке и полная анархия, кто торренты качает, кто Youtube, пока лечится только arp -s ip fake_mac. Дабы чувствовать себя в этой теме как рыба в воде, мною был прочитан вдоль и поперек лисяра , 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. |
У меня все точно так же сделано, кроме VPN.
Цитата:
Цитата:
|
Да, есть DHCP. Щас пытаюсь настроить DDNS. Обложен весь книжками и сотни открытых вкладок. Второй день бьюсь, но никак =\ В книжке написанно настраиваешь ДНС, потом типа делаешь nslookup ya.ru на машине с FreeBSD и приходит ответ Server: my_domain; Address: 127.0.0.1#53; Non-authoritative answer: Other servers. Ну вот не хочет.
Кстати веду блог по моим мучениям http://kyzmi4-freebsd.livejournal.com/ =) |
По пунктам
Цитата:
2 - я поставил pdnsd (есть в портах) - маленький, шустрый, без простыней конфигов. Работает отлично. 3 - VPN не использую, использую статику, т.к. так рапределять кто ВИП, а кто негр - проще. Раделение доступа к ресурсам через фаер или SQUID, причем в последнем можно даже по расписанию (типа всем везде можно в воскресенье и в субботу после 5 вечера, удобно) 4 - зачем? на НАТе? статистику? Хотите знать всё - tcpdump дампите и смотрите, смотрите, смотрите... очень долго смотрите ... :biggrin: |
tcpdump, это да хорошо. Но не получается у моего мозга обрабатывать такое количество информации бегущей строкой =) (кто то наверно скажет про опцию -w tcpdump).
Всетаки не могу немного разобратся с DNS. По моему мнению что я хочу пока добится: 1.) 127.0.0.1 переводится в inet.fms 2.) inet.fms переводится в 127.0.0.1 Подключаю виндовую машину получаю IP 192.168.1.10, делаю nslookup 127.0.0.1 192.168.1.1 получаю: *** Can´t find server name for address 192.168.1.1: Non-existent domain # Оно и понятно, 192.168.1.1 я не настраивал еще зону Server: UnKnown Address: 192.168.1.1 Name: inet.fms Address: 127.0.0.1 Но вот когда я делаю ping inet.fms, не удалось обнаружить узел, хотя поидеи должен меня пропинговать. Мои догадки это то что надо настоить zone inet.fms. Конфиги: named.conf PHP код:
PHP код:
PHP код:
|
Цитата:
Насчет ДНС - я не понял, вам именно полноценный ДНС нужен? Нужно держать имя для белого IP? Или просто чтобы "всё работало"? |
Цитата:
Цитата:
P.S. Целый день пытался впихнуть в видеорегистратор 1996 года с IDE HDD, жесткий SATA через переходник SATA -> IDE, не прокатило. Так и не занимался ДДНС, догадываюсь что объема прочитанного достаточно для настройки, но вот не хватает малюсенького пинка =) С горя заказал себе книгу ¨DNS и BIND¨. |
Цитата:
Цитата:
Жёсткий оффтоп! :laugh: Цитата:
|
Ну вообщем я его победил. Все всем выдается, получается и обновляется.
/etc/hosts PHP код:
Жёсткий оффтоп! P.S. Выглядит также переходник, только чип на нем JM20330. Терзают мутные сомнения что диск SATA II, а переходник SATA -> IDE. |
У меня сделано так:
1) в файрволе открыл доступ все ко всем по 53 порту 2) файл hosts Код:
::1 localhost localhost.*****ru 3) конф файл dhcpd.conf Код:
ddns-update-style interim; Код:
acl "corpnets" { 192.168.3.0/24; 192.168.10.0/24; 127.0.0.1; }; Код:
# Start of rndc.conf |
Цитата:
А немоглибы еще показать ваши файлы зон. Привел host, в ваш вид. Сейчас меня ждет SQUID. =) |
Помогите в решении вопроса с IPFW.
Есть очевидное правило: PHP код:
А вот фиг батенька, проходят три пакета и все, putty на ноутбуке сообщает Connection timed out. tcpdump -ni xl0 port 22: PHP код:
Также с правилом: PHP код:
rc.conf: PHP код:
PHP код:
Извините меня! Должны быть правила для входящего и исходящего. SSH дополнил: ${fwcmd} add allow tcp from me 22 to any И все заработало WWW дополнил: ${fwcmd} add allow tcp from ${oip} to any via ${oif} И тоже все заработало. Но все равно, мне кажется, что где-то проще можно сделать =) |
Цитата:
${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} например |
Да, да товарищь телепат. А еще у меня ядро собрано без 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. Это пока главная задача. |
Цитата:
Чтобы использовать keep-state, сначала надо определить правило с setup, а вот дальнейшие пакеты как раз и пойдут по правилу с keep-state (т.е. первый пакет смотрит правило с sеtup-ом, если все нормально, то в дальнейшем все пакеты этого сеанса идут по правилу с keep-state). Я динамическими правилами не пользуюсь, хватает обычных. Цитата:
PS. нумерация правил таки хорошая вещь ;) |
Цитата:
А почему же у меня работает такое правило: ${fwcmd} add allow tcp from any to me 22 keep-state, а просто ${fwcmd} add allow tcp from any to me 22 ужо не работает? Делаю прокси прозрачным, с подключенной машины пытаюсь выйти в инет. Мне выдается PHP код:
А в cache.log пишет: PHP код:
https://wiki.andrewmercer.net/index....nsparent_Proxy Там помогло, пересобрать сквид с поддержкой всех фаерволов. Нат, не запущен, ибо пока он вообще не нужен. Настроен DHCP, DDNS, IPFW c правилом в конце deny all. |
|
Цитата:
Товарищь телепат, время уже позднее, конфиги на сервере, по ssh у меня рут заблокирован, кофиг ipfw отказывается читаться. Приятного вам вечера с чаем за познанием не познанного. Утром обязательно скину =) |
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Конфиги: rc.firewall.my PHP код:
rc.conf PHP код:
после правила ${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, чтобы самому открыть все что надо. |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Время: 02:52. |
Время: 02:52.
© OSzone.net 2001-