ISP`s IT Аутсорсинг
Быстрый переход: Главная блога Главная сайта Форум
Если Вы чего то недопоняли или не нашли - задайте
вопрос на нашем форуме и мы попробуем Вам помочь.
Subnets.ru Регистрация IP и Автономных систем mega-net.ru

Архив за Январь 21st, 2009

Добро пожаловать в блог! Надеемся, что Вы еще вернетесь.

В помощь новичкам.

Итак, перед вами встала задача раздать Инет на компы за сервером FreeBSD.

Как и множество других вещей во FreeBSD эту задачу можно решить несколькими способами.

Кратко покажу как это можно сделать используя в кач-ве NAT`а процесс natd.

Запускать natd можно несколькими способами, я покажу тот который обычно использую я сам.

Для работы нам потребуются 2 вещи:

  1. firewall ipfw с его возможностью divert
  2. natd

Для того, чтобы приступить необходимо пересобрать ядро с опциями:

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPDIVERT

Так же можно добавить опции:

options IPFIREWALL_FORWARD
options IPFIREWALL_VERBOSE_LIMIT=1000
options IPFIREWALL_DEFAULT_TO_ACCEPT

Либо подгрузить ipfw как модуль:
/sbin/kldload /boot/kernel/ipfw.ko

Скажем что:

  • сетевая карта в сторону провайдера em0 c IP 10.10.1.2/30
  • сетевая карта в сторону локалки em1 с IP 192.168.1.1/24

Запустим процесс natd:

/sbin/natd -s -m -a 10.10.1.2

Процесс natd должен «висеть» на внешнем интерфейсе ВСЕГДА !

Добавим необходимые правила в ipfw, для того, чтобы трафик попадал в natd:

/sbin/ipfw add 300 divert 8668 ip from any to 10.10.1.2
/sbin/ipfw add 310 divert 8668 ip from 192.168.1.0/24 to any
/sbin/ipfw add 350 allow ip from any to 192.168.1.0/24
/sbin/ipfw add 360 allow ip from 192.168.1.0/24 to any

Этих 4-х правил достаточно, чтобы дать доступ в интернет подсети 192.168.1.0/24.

Для того, что бы после ребута, все это поднялось, можно сделать следущее.

1. отредактировать файл /etc/rc.conf добавив:

firewall_enable=»YES»
firewall_script=»/etc/rc.firewall»
firewall_type=»/usr/local/etc/firewall.conf»
firewall_quiet=»YES»
firewall_logging=»YES»
firewall_flags=»»

2. написать наши правила в /usr/local/etc/firewall.conf:

add 100 allow ip from me to me via lo0
add 105 deny ip from any to any via lo0
add 300 divert 8668 ip from any to 10.10.1.2
add 310 divert 8668 ip from 192.168.1.0/24 to any
add 350 allow ip from any to 192.168.1.0/24
add 360 allow ip from 192.168.1.0/24 to any
add 65000 allow ip from any to any

3. создать файл /usr/local/etc/rc.d/natd.sh:

#!/bin/sh
/sbin/natd -s -m -a 10.10.1.2

4. сделать файл /usr/local/etc/rc.d/natd.sh исполняемым:

/bin/chmod a+x /usr/local/etc/rc.d/natd.sh

Можно поступить и немного по другому, запустив natd на интерфейсе, а не на IP-адресе:

отредактировать файл /etc/rc.conf добавить:

natd_program=»/sbin/natd» # path to natd, if you want a different one.
natd_enable=»YES» # Enable natd (if firewall_enable == YES).
natd_interface=»em0″ # Public interface or IPaddress to use.
natd_flags=»» # Additional flags for natd.

изменить правило номер 300 на:

add 300 divert 8668 ip from any to any via em0

Для полного понимания загляните в мануалы:

man natd
man ipfw
Там есть подробное описание и примеры.

З.Ы. В FreeBSD 7.x можно использовать kernel nat, но лб этом как нить потом или кратко если в разделе "Советы" на сайте.
З.З.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 4, среднее: 4,25 из 5)
Загрузка...
Отправить на почту Отправить на почту

Передомной встала задача — разбить одно большое устройство на 3 VLAN’а, задать одному влану IP адрес и распределить
права доступа.
Для начала потребуется прямой консольный кабель. Если такого нет, то изготовить его не составит труда.

Вот его распайка:

1+6	<->	1+6
2	<->	2
3	<->	3
4	<->	4
5	<->	5
7	<->	7
8	<-> 	8
9	<->	9

Настраивать можно через Hyper Terminal, либо через CRT 5.2.

Требуются следующие параметры доступа:

Порт: Выбираете сами.
Скорость: 9600 бит/с
Биты данных: 8
Четность: Нет
Стоповые биты: 1
Управление потоком: Нет

CLI похож на CLI от оборудования Cisco Systems.

Теперь приступим к настройке:

Входим в режим конфигурирования:
BigIron Router>enable
BigIron Router#configure trminal

задаем пароль суперпользователю, где <str> — строка:
BigIron Router(config)#enable super-user-password <str>

задаем пароль для конфигурирования портов, где <str> — строка:
BigIron Router(config)#enable port-config-password <str>

задаем пароль только для чтения, где <str> — строка:
BigIron Router(config)#enable read-only-password <str>

сохраняем произведенные изменения:
BigIron Router(config)#write memory

Просмотр сохраненной конфигурации:
BigIron Router(config)#write terminal

Теперь создаем VLAN.

NUMBER это номер VLAN (система поумолчанию использует VLAN 1):
BigIron Router(config)#vlan <number>

Добавляем нетегированные порты по принципу номер_слота/порт:
BigIron Router(config-vlan-<number>)#untagged ethernet <SLOT/PoRT>
или
<SLOT/PORT to SLOT/PORT>

BigIron Router(config-vlan-<number>)#router-interface ve <VLAN-number>

указываем, что будем настраивать виртуальный интерфейс:
BigIron Router(config-vlan-<number>)#interface ve <VLAN-number>

Задаем ip адрес и маску для VLAN’а:
BigIron Router(config-vif-<number>)#ip address <IP/CIDR>

Не обязательная строка, но можно указать имя VLAN’а:
BigIron Router(config-vif-<number>)#port-name <str>

Сохраняем настройки:
BigIron Router(config-vif-<number>)#write memory

смотрим настройки:
BigIron Router(config-vif-<number>)#write terminal

выходим и конфигурирования vlan`а:
BigIron Router(config-vif-<number>)#exit

создаем пользователя с именем <str>, определенными привелегиями и паролем (можно создавать и без паролей):
BigIron Router(config)#username <str> privilege <0 READ-WRITE, 4 PORT-CONFIG, 5 READ-ONLY> password <str>

разрешаем запуск вэб-морды на устройстве:
BigIron Router(config)#aaa authentication web-server default local

настраиваем безопасность на доступ к вэб морде, указываю допускаемые/недопускаемые хосты:
BigIron Router(config)#access-list <NumList> <permit/deny> host <IP>
или подсеть:
BigIron Router(config)#access-list <NumList> <permit or deny> <NetIP/CIDR>

BigIron Router(config)#<TypeProtocol> access-group <NumList>

BigIron Router(config)#access-list <NumList> permit host <IP>
BigIron Router(config)#snmp-server community <str> <ro or rw> <NumList>

Ниже я привел свой текст настройки:

BigIron Router>enable
BigIron Router#configure trminal
BigIron Router(config)#enable super-user-password super-ROOT
BigIron Router(config)#enable port-config-password portCFGpas$
BigIron Router(config)#enable read-only-password ropa$s
BigIron Router(config)#write memory
BigIron Router(config)#write terminal

BigIron Router(config)#vlan 2
BigIron Router(config-vlan-2)#untagged ethernet 1/1 to 1/8
BigIron Router(config-vlan-2)#untagged ethernet 2/1 to 2/8
BigIron Router(config-vlan-2)#untagged ethernet 3/3 to 3/16
BigIron Router(config-vlan-2)#router-interface ve 2
BigIron Router(config-vlan-2)#interface ve 2
BigIron Router(config-vif-2)#ip address 10.10.0.1/16
BigIron Router(config-vif-2)#port-name Users
BigIron Router(config-vif-2)#write memory
BigIron Router(config-vif-2)#write terminal

BigIron Router(config)#vlan 3
BigIron Router(config-vlan-3)#untagged ethernet 3/17 to 3/24
BigIron Router(config-vlan-3)#router-interface ve 3
BigIron Router(config-vlan-3)#interface ve 3
BigIron Router(config-vif-3)#ip address 192.168.1.1/24
BigIron Router(config-vif-3)#port-name Users
BigIron Router(config-vif-3)#write memory
BigIron Router(config-vif-3)#write terminal

BigIron Router(config-vif-3)#exit

BigIron Router(config)#username root privilege 0 password superuserpass
BigIron Router(config)#aaa authentication web-server default local
BigIron Router(config)#access-list 1 permit host 10.10.0.2
BigIron Router(config)#access-list 1 permit host 10.10.10.99
BigIron(config)# web access-group 1
BigIron(config)# write memory

BigIron(config)# access-list 25 permit host 10.10.0.2
BigIron(config)# access-list 30 permit host 10.10.0.2
BigIron(config)# snmp-server community public ro 25
BigIron(config)# snmp-server community private rw 30
BigIron(config)# write memory

BigIron(config)# access-list 10 permit host 10.10.10.99
BigIron(config)# access-list 10 permit host 10.10.0.2
BigIron(config)# access-list 10 permit host 10.10.10.2
BigIron(config)# telnet access-group 10
BigIron(config)# write memory

Следует помнить, что при распределении доступа следует указывать только 1 номер листа доступа для одного протокола.
Так же необходимо учесть, что если прописать только те IP-адреса, которые будут иметь доступ к определенным
протоколам, другим адресам в доступе будет отказано.

Ссылки:

P.S. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !
Автор: Андрей
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 1, среднее: 3,00 из 5)
Загрузка...
Отправить на почту Отправить на почту