Deus
YouTube ¦ Статьи ¦ Обзоры игр ¦ Ссылки ¦ Архив файлов

Статьи
  1. Deus stat - скрипт сбора статистики по трафику
  2. Установка сервера Apache на FreeBSD
  3. Как создать сервер Team Fortress 2
  4. Как создать сервер Counter-Strike:Source
  5. Русификация Slackware 11.0
  6. Установка Postfix c Cyrus IMAP
  7. NAT на базе natd/ipfw во FreeBSD
  8. NAT на базе iptables в Linux
  9. Как установить Linux через PXE
  10. Создание своего rpm
  11. Консоль через COM-порт для FreeBSD
  12. Как смонтировать usb-flash в качестве swap
  13. АТС NEC NEAX 2000 IPS
  14. Семейство протоколов TCP/IP
  15. Сетевые технологии
  16. Как отсортировать IP-адреса в Excel’e
  17. Сканер Mustek Bear Paw 1200CU Plus в Linux
  18. Схема электроразводки популярных гитар
  19. Микрофонный предусилитель
  20. Как подключить электрогитару к компьютеру
  21. Мои гитары
  22. Баллада о ZooM’e
Обзоры игр
  1. Портативная игростанция (PSP). Продолжение
  2. Тишина нарушена. Обзор серии Silent Hill
  3. Портативная игростанция (PSP)
  4. Speccy навсегда
Ссылки
  1. Различные ресурсы Интернет
  2. Мои работы
Файлы
  1. Архив файлов

    

Пример конфигурации NAT и Firewall на FreeBSD

Что бы поднять NAT и Firewall на FreeBSD надо:

Скомпилировать ядро:
Следующие строки нужно включить в
/usr/src/sys/i386/conf/GENERIC файл конфигурации:

options IPFIREWALL
options IPDIVERT
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=10
options DUMMYNET
options TCP_DROP_SYNFIN

Где 1,2 строки - сама возможность маршрутизации; 3,4 - возможность вести логи и ограничение их списка; 5 - требуется для ведения статистики. 6 - отброс флуд-пакетов.

Переходим в директорию
/usr/src/
make buildkernel KERNCONF=GENERIC
make installkernel KERNCONF=GENERIC

Следующие строки можно к примеру включить в rc.conf файл конфигурации:


hostname="free"
ifconfig_rl0="10.0.0.1"
gateway_enable="YES"
firewall_enable="YES"
firewall_type="open"
natd_enable="YES"
natd_interface="rl0"
natd_flags="-redirect_port tcp 10.0.0.10:80 80"
tcp_extensions="NO"
tcp_drop_synfin="YES"
icmp_drop_redirect="YES"
icmp_log_redirect="YES"
sendmail_enable="NONE"

Для удаленного управления нужно добавить следующую строку:
sshd_enable="YES"
(возможно понадобится скопировать /etc/ssh/ssh_host_dsa_key.pub в
/root/.ssh/authorized_keys и
разрешить логинится удаленно для root в файле /etc/ssh/sshd_config)


Следующие строки можно включить в rc.firewall файл конфигурации (секция "open"):


[Oo][Pp][Ee][Nn])
oif="rl0"
iif="tx0"
oip="132.5.7.172"
iip="10.0.0.1"
lan="10.0.0.0/24"
setup_loopback
# allow all for LAN
${fwcmd} add 500 pass all from ${lan} to ${iip} via ${iif}
${fwcmd} add 550 pass all from ${iip} to ${lan} via ${iif}
# download - 60K upload - 6K for all lan ip’s
${fwcmd} add 600 pipe 1 ip from any to any in via ${oif}
${fwcmd} add 650 pipe 2 ip from any to any out via ${oif}
# for selected ip’s only
# ${fwcmd} add 601 pipe 1 all from any to 10.0.0.10
# ${fwcmd} add 651 pipe 2 all from 10.0.0.10 to any
${fwcmd} pipe 1 config bw 512Kbit/s
${fwcmd} pipe 2 config bw 48Kbit/s
# dns setup
${fwcmd} add 770 pass tcp from any to ${oip} 53 setup
${fwcmd} add 780 pass udp from any domain to any
${fwcmd} add 790 pass udp from any to any domain
# main setup
${fwcmd} add 800 pass tcp from any http,https,20-21,989-990 to any
${fwcmd} add 810 pass tcp from any to any http,https,20-21,989-990
${fwcmd} add 830 pass tcp from any pop3,pop3s,smtp,imap,imaps,aol to any
${fwcmd} add 840 pass tcp from any to any pop3,pop3s,smtp,imap,imaps,aol
${fwcmd} add 65000 deny ip from any to any
;;
Где oip, oif - внешний интерфейс; iip, iif - внутренний; lan - внутренняя сеть.

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

Допустим, нужно применить одно правило к группе ip-адресов, с возможностью добавлять и удалять отдельные адреса / сети. Тогда на помощь приходят таблицы. Создадим таблицу с номером 1 (из командной строки в реальном времени):

# ipfw table 1 add 4.0.0.0/8
# ipfw table 1 add 192.168.0.0/24
# ipfw table 1 add 4.4.6.1

И добавим для нее правило:

# ipfw add 500 allow all from "table(1)" to any

Посмотреть, что находится в таблице можно так:

# ipfw table 1 list

Посмотреть все правила так:

# ipfw show

Удалять что-либо из табицы следует так:

# ipfw table 1 delete 4.4.6.1

Deus 27.03.2008 




Opera!

Проект OpenNET

FreeBSD

Fedora Core 8


Посодействуй
ЯндексЯндекс. ДеньгиХочу такую же кнопку





[Главная] | [Я на YouTube] | [Статьи] | [Обзоры игр] | [Ссылки] | [Файлы] | [Обратная связь]
Этот сайт создан Deus'ом в марте - августе 2005 года.