Руководство системного администратора • третье издание { h h y с п п т п р



Pdf просмотр
страница30/82
Дата12.11.2016
Размер7.94 Mb.
Просмотров12677
Скачиваний0
ТипРуководство
1   ...   26   27   28   29   30   31   32   33   ...   82
Часть II. Роботов сетях
Ниже приведен ряд полных примеров. Мы предполагаем, что интерфейс рррО подключен ка интерфейс e t h O — к локальной сети. Первый набор правил задает прием всех пакетов из локальной сети и удаление тех пакетов, которые поступают от интерфейса рррО и исходные адреса которых попадают в диапазон частных адресов (система NAT). Эти пакеты должны также удаляться в цепочке o u t p u t , так как ненужно, чтобы они проникали в Internet. i p c h a i n s - A I n p u t - i l o - j ACCEPT i p c h a i n s - A i n p u t - i e t h O - j ACCEPT i p c h a i n s - A i n p u t - i p p p O - s 1 9 2 . 1 6 8 . Q . G / 1 6 - j DENY i p c h a i n s - A i n p u t - i p p p O - 8 1 7 2 . 1 6 . 0 . 0 / 1 2 - j DENY i p c h a i n s - A i n p u t - i p p p O - s 1 0 . 0 . 0 . 0 / 8 DENY Чтобы блокировать доступ в Internet через программу telnet (порт 23), но разрешить почтовые соединения и систему SSH (порты 25 и 22 соответственно, необходимо установить следующие правила i p c h a i n 3 - A I n p u t - i р р р О - р t c p — d p o r t 2 3 - j DENY i p c h a i n s - A i n p u t - i p p p O - p t c p — d p o r t 2 3 - j ACCEPT i p c h a i n s - A i n p u t - i p p p O - p t c p — d p o r t 2 3 - j ACCEPT Цепочка i n p u t закапчивается правилом, запрещающим все пакеты, которые небыли разрешены явным образом. Интересно также узнать, кто пытается проникнуть в систему из Internet, поэтому добавим флаг -1 после директивы DENY, чтобы обеспечить регистрацию пакетов, не прошедших данную проверку i p c h a i n s - A i n p u t - i р р р О - j DENY - 1 Наконец, зададим маскирование (система NAT), чтобы не раскрывать частные адреса, применяемые в локальной сети 192.168.1.0/24:" i p c h a i n s - A f o r w a r d - i р р р О - s 1 9 2 . 1 6 8 . 1 . 0 / 2 4 - d ! 1 9 2 . 1 6 8 . 1 . 0 / 2 4 -
D MASQ Здесь указан критерий отбора, согласно которому исходный адрес пакета является локальным, а целевой адрес — внешним (флаг 1 инвертирует смысл проверки. Внутренний трафик, направляющийся локальному узлу, не затрагивается. Поскольку в Linux применяется система РАТ, а не истинная система
NAT, ненужно задавать диапазон внешних адресов для доступа в Шлюз Linux использует свой собственный адрес для всего внешнего трафика, а переключение соединений от внутренних узлов осуществляется на основании номеров портов. Когда привыкаешь к рассмотренной системе записи, программа ipchains начинает казаться разумным способом описания работы брандмауэра, однако привлечение сюда же системы NAT выглядит не очень логичным. Дополнительные примеры брандмауэров, основанных на программе ipchains, можно найти по адресу www.vviley.com/compbooks/sonnenreich. По слухам, программа ipchains будет удалена из ядра Linux после версии 2.2 и заменена новым механизмом фильтрации. Почему эти пакеты ие отвергаются предыдущим правилом Потому что данное правило является частью цепочки forward, а не i n p u t .
Гпово 13. Сети TCP/IP
351

Конфигурирование РРР В Red Hat используется та же реализация протокола РРР, что и во
FreeBSD (это касается версии уровня ядра, а не пользовательского уровня, и конфигурируется она аналогичным образом. Чтобы не повторять даесь ее описание, отошлем читателей к соответствующему разделу параграфа 13.15. Особенности сетевого конфигурирования В отличие от большинства систем, Linux обращает внимание на флага поля TOS (Type of Service — тип обслуживания) IP пакета и быстрее обслуживает пакеты, помеченные как интерактивные (минимальная задержка. Восхитительная возможность К сожалению, умники из Microsoft сделали все для того, чтобы нам пришлось от нее отказаться. Все пакеты, поступающие от Windows 95, 98, NT и 2000, помечаются ках интерактивные независимо от их назначения. системы этого не делают Если шлюз обслуживает смешанную сеть, в которой используется как
UNIX, таки, пакеты всегда будут иметь приоритет. В тоже время в однородной среде производительность заметно повышается. Отменить сортировку пакетов на основании поля TOS можно вовремя компиляции ядра Linux. Нужно просто отключить опцию "IP: use TOS value as routing key". Когда используется маскирование (система NAT), ядро собирает полный пакет из фрагментов, прежде чем перенаправить его, даже если сразу после этого придется заново разбивать пакет на фрагменты. На это уходит несколько циклов работы центрального процессора, однако современные процессоры нвстолько быстры, что подобная потеря времени вряд ли окажется заметной.
Linux позволяет менять МАС-адреса сетевых интерфейсов определенных типов. Мы считаем это ошибкой и не рекомендуем делать ничего подобного.
13.15. Сетевое конфигурирование FreeBSD Во FreeBSD имеются самые современные инструменты из сетевого арсенала два пакета межсетевой защиты (включая систему NAT), две реализации протокола РРР, поддержка протокола T/TCP (представляющего собой достаточно успешную попытку сделать соединения более эМ«г- тивными) и многое другое. Основные сетевые параметры указываются в файле /etc/rc.conf. Стартовые сценарии читают также файл /etc/defaults/rc.conf, в котором задаются стандартные значения большинства переменных. Можно создать файл
/etc/rc.conf.local, в котором будут храниться параметры, специфичные для заданного узла. На самом деле перечисленные файлы представляют собой сценарии, создающие среду для работы других стартовых сценариев. Формат этих файлов одинакова необходимость их существования объясняется тем, что разработчики хотели разделить конфигурационные данные на уровни и хранить их по отдельности. Файл /etc/defaults/гс.сопГ содержит начальные значения для большинства параметров. В файле /etc/rc.conf находятся параметры, которые являются локальными, но, возможно, они общие дая нескольких машин
FreeBSD. Файл rc.conf.local хранит установки, применимые лишь к локальной
352
Чость II. Роботов сетях
машине. Для простоты мы предполагаем, что в системе используются только файлы rc.conf. Модифицировать файл /etc/defaults/rc.conf ненужно. Он полезен тем, что содержит практически полный список переменных, доступных для модификации, наряду с описанием их предназначения, Сточки зрения системного администратора, единственное заметное различие между FreeBSD 3.4 и 40 заключается в том, что стандартное ядро содержит больше драйверов сетевых устройств (общим числом 13), а также имеется встроенная поддержка стандарта IPv6. Базовое конфигурирование Ниже показаны установки, которые нужно сделать в файле rc.conf, чтобы переопределить пустые значения соответствующих переменных, заданные в файле /etc/defaults/rc.conf: ho a t паше" 1шя_уэ л аи адрес"
d e f a u l t r o u t e r » " u m B 3 "
# это обязательно
# конфигурация сетевого устройства
# стандартный шлюз Переменная n e c w o r k _ i n t e r f a c e s по умолчанию равна a u t o , чтобы система могла находить сетевые интерфейсы на этапе начальной загрузки. В эту переменную можно также записать список имеющихся интерфейсов не забудьте включить интерфейс обратной связи. Например n e t w o r k _ i n t e r £ a c e e - " l o O хЮ" Статические маршруты задаются в переменной s t a t i c _ r o u t e s : s t a t i c _ r o u t e e - " b a c k l a n 212" I список статических маршрутов r o u t e _ b a c k l a n - " - n e t 1 0 . 0 . 2 . 0 1 3 2 . 2 3 6 . 2 1 2 . 2 " r o u t e _ 2 1 2 - " - n e t 132.236.212.64 -netmaak 255.255.255.192 й Переменная s t a t i c _ r o u t e s содержит разделенный запятыми список имен маршрутов. Имя маршрута — это произвольная строка, определяющая переменную route_iom, в которой задаются аргумента лля команды route add По умолчанию маршрутизация полностью запрещена. Поэтому в большинстве систем нужно либо указать стандартный маршрут, либо задать стандартные маршруты, либо активизировать демон routed или gated. (По умолчанию база данных N1S тоже отключена) Примерь конфигураций Чтобы вручную сконфигурировать плату и задать стандартный маршрут, необходимо воспользоваться такими командами
» ifconfig хЮ inet 192.108.21.11 netmaak OxffffffOO
« route add default 192.106.21.254
Вторая из показанных команд эквивалентна следующей команде
Ь route add -net 0.0.О.О 192.106.21.254
В отличие от большинства версий команды route, во FreeBSD эта команда требует наличия дефиса перед опцией, задающей тип маршрута (-net или
-host), и не принимает счетчик числа переходов.
Гпово 13. Сети TCP/IP
353
После выполнения указанных выше действий команды ifconfig и netstat -nr выдают такие результаты
% ifconfig хЮ
x l O : £ l a g s = 8 8 4 3 < U P , B R O A D C A S T , R U N N I N G , S I M P L E X , MULTICAST>mtu 15QD i n e t 1 9 2 . 1 0 8 . 2 1 . 1 1 n e t m a s k O x f f f f f f D G b r o a d c a s t 1 9 2 . 1 0 8 . 2 1 . 2 5 5 e t h e r 0 0 ; 6 0 : 9 7 : 9 b : 6 9 ; 9 a
media: 10baseT/UTP < h a l f - d u p l e x > s u p p o r t e d m e d i a : a u t o s e l e c t l O O b a s e T X < f u l l - d u p l e x > l O O b a s e T X
< h a l f - d u p l e x > l O O b a s e T X L O b a s e T / U T P < f u l l d u p l e x > l O b a s e T / U T P l O b a s e T / U T P < h a l f - d u p l e x >
% netntat -nr
R o u t i n g t a b l e s
I n t e r n e t :
D e s t i n a t i o n
G a t e w a y
F l a g s
R e l s
U s e
N e t i f
E x p d e f a u l t
1 9 2 . 1 0 B . 2 1 . 2 5 4
UGSc
0 1 8 x l O
1 2 7 . 0 . D . 1 1 2 7 . 0 . 0 . 1
UH
0 3 l o O
1 9 2 . 1 0 8 . 2 1 l i n k » l
UC
0 0 x l O
1 9 2 . 1 0 8 . 2 1 . 1 8 : 0 : 2 0 : 7 7 : 5 e : a 0
UHLW
2 2 5 8 6
XlO
1 1 6 0 1 9 2 . 1 0 8 . 2 1 . 2 4 6 0 : 3 C : f 2 : f : 4 8 : 0
UHLW
0 0 x l O
3 0 3 1 9 2 . 1 0 8 . 2 1 . 2 5 4
C : 0 : c 1 1 : 8 2 : 8 1
UHLW
1 0 x l o
1 1 2 6
Флати си Св выводе команды netstat -nr говорят о том, что новые маршруты узла (три последние строки) должны быть автоматически сгене- рированы и добавлены в таблицу маршрутизации при выборе локального сетевого маршрута или стандартного маршрута. Обратите внимание на то, что у каждого из новых маршрутов есть срок действия. Необходимость увеличения таблицы маршрутизации объясняется двумя причинами. Первая из них заключается в том, что для маршрутов локальной сети таблица маршрутизации одновременно является таблицей. Обычно это разные таблицы, нов они были объединены, и FreeBSD унаследовала это свойство. Вторая причина та, что FreeBSD пытается сохранять параметры соединений с внешними узлами (например, значение
MTU для соединения, запоминая их в таблице маршрутизации. Тогда при последующих подключениях к тому же самому узлу можно будет повторно использовать эти параметры, ие вычисляя их заново. Когда срок действия записи истекает, оиа удаляется из таблицы маршрутизации. Флаг S в описании стандартного маршрута говорит о том, что это статический маршрут, который не должен удаляться из таблицы. Следующий пример приведен в системе FreeBSD 4.0. где реализован как стек IPv4, таки стек IPv6. В обоих случаях конфигурирование интерфейса осуществляется посредством команды ifconfig:
% ifconfig fxpl
f x p l : f l a g s = 8 9 4 3 < U P , B R O A D C A S T , R U N N I N G , S I M P L E X , M U L T I C A S T > m t u 1 5 0 0 m e t 1 3 5 . 1 9 7 . 1 . 1 1 6 n e t m a s k O x f f f f f f O O b r o a d c a s t 1 3 5 . 1 9 7 . 1 . 2 5 5 i n e t 6 E e B O : : 2 0 8 : c 7 f £ : f e 8 9 : 4 f 0 3 % f x p l p r e f i x l e n 6 4 s c o p e i d 0x2 e t h e r 0 0 : 0 8 : c 7 : 8 9 : 4 f : 0 3 m e d i a : a u t o s e l e c t ( l O O b a s e T X < h a l f d u p l e x > ) s t a t u s : a c t i v e s u p p o r t e d m e d i a ; a u t o s e l e c t l O O b a s e T X < £ u l l - d u p l e x > l O O b a s e T X l O b a s e T / U T P < f u l l - d u p l e x > l O b a s e T / U T P Ч' >354
Чость II. Роботов сетях
Конф игу р и ров ан и е D H C P Во FreeBSD имеется клиент организации ISC. Он конфигуриру- ется посредством файлов rc.conf. Стандартные значения в файле /ete/de- faults/rc.conf таковы d h c p j p r o g r a r r . - ' V s b i n / d h c l i e n t " I Путь к клиенту d h c p f l a g s ^ " " # Флаги, передаваемые клиенту Скорее всего, эти значения правильны менять их требуется только в том случае, когда программа dhclient перемещается в другой каталог или вместо нее подставляется другая программа. Чтобы активизировать протокол D H C P для конкретного интерфейса, добавьте следующую строку в файл /etc/rc.conf: i f c o n f i g _ j w i ' e p $ e # c - " DHCP" # Активизация для данного интерфейса При такой конфигурации программа dhclient будет запущена на этапе начальной загрузки, если существует файл /etc/dhclient.eonf. Эта программа отвечает за получение адреса для интерфейса, задание стандартного маршрута, выбор правильного сервера имени т.д. Файл dhclient.conf — это текстовый конфигурационный файл произвольной формы, напоминающий аналогичный файл пакета BIND или D H C P - сервера ISC. С ним связано слишком много опций и параметров, чтобы все их можно было описать здесь. К счастью, стандартные установки в большинстве случаев подходят, поэтому можно оставить файл пустым. Программа dhclient хранит информацию об арендованных параметрах в файле dhclient.leases, а свой идентификатор процесса — в файле /var/run/dhcli- ent.pid. Дин омическое переконфигурирование и настройка Узнать или задать значение переменной ядра во FreeBSD можно с помощью команды syscll Существуют сотни различных переменных, из которых около 65-ти связаны с конфигурированием сети. Подробное их описание можно получить на тап-странице sysctl(3). Команда sysctl -А выводит список переменных сих текущими значениями. В именах переменных, связанных с конфигурированием сети, присутствует компонент "net". Чтобы отобразить только их. задайте команду sysctl -Л | grep net. Если нужно узнать значение конкретной переменной, укажите ее имя в строке вызова команды sysctl. Например, посредством следующей команды можно определить, поддерживает ли система перенаправление пакетов
% sysctl net.inet.ip.forwarding n e t . i n e t . i p . f o r w a r d i n g : I Значение 1 означает поддержку. Чтобы изменить значение переменной, укажите флаги задайте новое значение через знак равенства
% sudo sysctl -v net. inet. ip. fforwarding=0 n e t . i n e t . i p . f o r w a r d i n g : 1 -> 0 Эта команда отключает перенаправление пакетов
Глово 13. Сети TCP/IP
355
Безопасность, брандмауэры, фильтрация и система В табл. 13.23 описано, как во FreeBSD реализован ряд технологий, касающихся безопасной работы в сети. О них кратко рассказывалось в параграфе 13.9. В третьем столбце указаны переменные, посредством которых можно изменить соответствующую установку, эти переменные должны быть заданы в файле /etc/rc.сопГ, а нес помощью команды sysct).
Тоблица 13.23. Поддержко технологий, связонных с сетевой безопоснсстью, во FreeBSD Технология По умолчанию Переменная файла rc.conf
Перенаправление отключено gateway e n a b l e пакетов
Переадресуюшис принимаются lemp d r o p r e f i x r e c t l пакеты Направленная мар- игнорируется f o r w a r d s o u r c e r o u t e шрутизация и a c c e p t a o u r c e r o u t e
Широковещатель- игнорируются icmp brr.caatecho ные пакеты Имеется также переменная l c m p _ l o g _ r e d l r e c t , посредством которой включается регистрация 1СМР-пахетов. Лучше не применять компьютер, работающий под управлением UNIX или Windows NT), в качестве брандмауэра, особенно в крупной организации, где посети передаются важные данные. Безопаснее и надежнее использовать специализированное оборудование, например систему Cisco PIX. В тоже время программный брандмауэр на базе UNIX подойдет для домашнего компьютера, где пользователь регулярно обновляет систему, устанавливая самые последние "заплаты. Ниже мы опишем два пакета межсетевой зашиты, имеющихся во FreeBSD: Ipfw и IPFilier. Программа Ipfw поддерживает концепцию "фиктивной" сети, посредством которой можно управлять трафиком, задавая ширину полосы пропускания н длину очередей ввода-вывода, в также имитируя задержки и потери. Изначально "фиктивная" сеть была задумана как средство устранения заторов в каналах, но затем нашла много других применений. Сегодня она используется для ограничения ширины канала, занимаемого Web- или трафиком, и для управления загруженностью выделенных линий. Более подробная информация приведена на шап-странице dummynet. С программой ipfw легко работать, а ее синтаксис напоминает синтаксис списков доступа компании Cisco. Чтобы реализовать систему NAT посредством программы Ipfw, воспользуйтесь утилитой natd в каталоге /sbin. Подобно программе ipchains в Linux, программа ipfw вызывается по одному разу для каждого правила фильтрации. Таким образом, брандмауэр реализуется в виде сценария, из которого вызывается последовательность команд ipfw. Ниже показан фрагмент этого файла, который поможет понять синтаксис команды. В данном примере deO — это внешний интерфейс, a e d l — внутренний. Третий параметр каждой строки задает номер правила. Правила обрабатываются по порядку, от младшего к старшему. Этот порядок важен, так как самое первое правило, которому соответствует проверяемый пакет, определяет выполняемое действие.
# Файл программы для Сначала удаляем старые правила Ч' >356
Чость II. Роботов сетях
разрешаем все пакеты от сервера и узла g w . e y a n c k . n e t i p f w add 500 a l l o w ip from 1 2 8 . 1 3 8 . 1 2 9 . 1 3 6 to алу i p f w add 510 a l l o w i p from 2 0 9 . 1 8 0 . 2 5 1 . 5 8 t o any разрешаем входной и выходной трафик SSH
Ipfw add 600 a l l o w t c p from any to any 22 v i a deO i p f w add 605 a l l o w t c p from any 22 to any in v i a deO t Разрешаем пакетам проходить через мост i p f w add 1000 a l l o w udp from 0 . 0 . 0 . 0 2054 to 0 . 0 . 0 . 0 Другие правила разрешают входной и выходной трафик. доступ к внешнему содержимому, запросы и U пакеты для программ traceroute и Quake (это студенческий компьютер. Весь трафик в пределах локальной сети также разрешен. Ведется "черный" список адресатов, обращающихся к серверу с запросами относительно несуществующих узлов. Весь остальной трафик из внешнего мира блокируется. Пакет IPFilter, написанный Дарреном Ридом, заслуживает большего внимания, поскольку он совместим со многими другими версиями UNCX. В него входит программа ipf, конфигурирующая брандмауэр, программа ipfstat. отображающая список инсталлированных правил фильтрации, программа, реализующая систему NAT, и ряд других утилит. Пакет доступен по адресу http://coornbs.anu.edu.au/
avaIon/ip-filier.htrnl Прежде чем начинать работать с пакетом, нужно скомпилировать ядро со следующими параметрам o n IPFILTERLOG Пакет IP Filler проводит четкое разграничение между фильтрацией пакетов и системой NAT, а не смешивает их подобно программе ipchains в Red Hat. На шап-страницах ipf(l) и ipf(S) описан язык задания фильтров и приведено множество примеров.
Протрамма ipf читает файл (по умолчанию это /elc/ipf.rules), в котором заданы правила следующего вида
действие in l o u t [quick] условие.
Параметр действие может принимать следующие значения
• p a s s — принять пакет
• b l o c k — удалить пакет
• l o g — зарегистрировать пакет в системе Syslog;
• c o u n t — вести подсчет пакетов, соответствующих данному правилу. Модификатор q u i c k говорит о том, что заданное действие должно быть выполнено как можно быстрее. Он задан по умолчанию для действий c o u r t и l o g . Обычно правила применяются последовательно и никакие действия не производятся до тех пор, пока не будут проверены все правипа. Если пакет соответствует нескольким правилам, самое последнее правило определяет
выполняемое действие.
Описанное поведение прямо противоположно работе программ ipchains и ipfw, поэтому в Linux брандмауэр работает быстрее, при первом же совпадении обработка пакета прекращается. Программу ipf удобно применять лля реализации так называемого консервативного брандмауэра, в котором самое первое правило запрещает все пакеты, а остальные правила разрешают пакеты конкретных типов.
Гпово 13. Сети TCP/IP
357
В табл. 13.24 даны примеры условий, которые можно задавать в программе ipf. Это лишь вершина айсберга. Полная информация приведена на тап-стра- ниие. посвященной программе ipf.
Тоблица 13.24. Примеры условий в прогро^ме ipf
Уоигеие
on интерфейс
p r o t o протокол
Назначение Отобрать пакеты, соответствующие указанному протоколу или iemp Применить правило к указанному интерфейсу from исходный адрес
Фильтрация и а основании адреса отправителя машинный адрес, сетевой адрес или any to целевой адрес
Фильтрация иа основании адреса получателя машинный адрес, сетевой адрес или any p o r t - номер порта
Фильтрация в соответствии с номером порта, который может быть задан по имени (из файла /etc/services) или номеру вместо знака = может быть любой другой арифметический оператор (<, >. <-, >=) f l a g s спецификация флагов Фильтрация на основании флагов заголовка ТСР-па- кета Давайте повторно реализуем цепочку правил, описанную ранее в параграфе, посвященном Red Hat, нона этот раз вместо программы i p c h a i n s применим программу i p f . Как и раньше, мы предполагаем, что интерфейс рррО — это соединение с Internet, а интерфейс e t h O — локальная плата. Следующие правила разрешают весь локальный трафик и запрещают пакеты, поступающие по частным адресам из внешнего мира pass in on ethO all pass in on lo ail block in quick on pppO from 192.168.0.0/16 CO any block m quick on pppO from 172.16-0.0/12 со any block in quick on pppO from 1C.0.C.0/8 to any Чтобы блокировать пакеты программы telnet, но разрешить почтовые и соединения, воспользуемся такими правилами block in proto tcp from any to any port = 23 pass in on pppO proto tcp from any to any port •= 25 pass in on pppO proto tcp from any to any port 22 Последние два правила должны также включать предложения f l a g s и k e e p - s t a t e , чтобы предотвратить перехват соединений. Обратитесь к параграфу 21.9 и тап-страниие ipf(5), где подробно описано, какие правила нужно задавать и каких записывать. Те, кто работает в операционной системе
OpenBSD, могут просмотреть файл /usr/share/ipf. В нем содержится множество примеров команд ipf и ipnat. Чтобы заработала система NAT, нужно сообщить ядру входные и выходные адреса для привязки, а также диапазон номеров портов, благодаря icmp-type номер
keep state Фильтрация на основании типа и кода ICMP Сохранить информацию о состоянии сеанса обычно это нужно, чтобы отличать рабочие сеансы от новых сеансов з Ъ £ Часть II. Робота в сетях
которым происходит расширение адресного пространства Подробнее о механизме привязки адресов рассказывалось в параграфе 13.4. Синтаксис правил NAT, задаваемых в программе ipnat, напоминает синтаксис правил программы ipf. Эти правила тоже упорядочены, нов обратной последовательности действие выбирается на основании первого
подошедшего правила Вот несколько примеров правил программы ipnat (они задаются в файле ipnat.rules). шар рррО 192.168.1.0/24 -> 128.138,198.0/26 portmap tcp/udp 20000:65000 map ppp0 192.168.1.0/24 -> 128-138.198.0/26
Опять-такн. мы предполагаем, что рррО — это интерфейс доступа в
Internet, а локальным компьютерам назначаются адреса из диапазона частных адресов. Эти правила связывают адреса из сети /24 с адресами сети /26. Поскольку в сеть /26 может входить в четыре раза меньше узлов, чем в сеть
/24, существует вероятность, что в какой-то момент целевых адресов окажется недостаточно. Но предложение p o r t m a p расширяет диапазон адресов, разрешая назначать каждому адресу 45000 различных портов. Первое правило регулирует весь трафик T C P и UDP. ноне затрагивает
ICMP, так как в этом протоколе нет понятия порта. Второе правило задает перехват всех сообщений должна быть сделана попытка вернуть их узлу-отправителю. Если ядро не может однозначно определить, кто должен принять заданное 1СМР-сообщенне. оно осуществляет широковещательную рассылку пакета. Любая машина, которая получит не предназначенный ей пакет, должна удалить его. На домашнем компьютере пользователю может быть предоставлен реальный адрес провайдера или адрес, полученный от сервера провайдера. Если выделяется статический адрес, нужно в строке шар задать для целевого адреса суффикс /32 и достаточно широкий диапазон номеров портов. Если же при каждом подключении адрес назначается заново, воспользуйтесь нотацией 0/32, которая заставит программу ipnat получить адрес непосредственно от сетевого интерфейса. Например, ниже показана строка для случая, когда динамически назначается один единственный адрес. map рррО 192.168.1.&/24 -> 0/32 portmap tcp/udp 20000:65000 Механизм фильтрации пакетов, система NAT и режим регистрации должны активизироваться на этапе начальной загрузки. Соответствующие команды выглядят так. t i p f - Е - F a - f / e t c / I p f . r u l e a
# i p n a t -CF - f / e t c / i p n a t . r u l e a
# ipmon -D -a Флаг -E команды ipf разрешает фильтрацию, флаги -Fa вызывают сброс существующих правил для всех потоков, а флаг -f задает чтение новых правил из файла /etc/ipf.rules. Точно также в случае программы ipnat сначала удаляются старые правила, а затем загружаются новые из файла /etc/ip- nat.rules. Программа ipmon выполняется в качестве демона, отслеживая пакеты, которые регистрируются программой ipf на псевдоустройстве /dev/ipl, и направляя их системе Syslog. По умолчанию FreeBSD предполагает, что в качестве системы фильтрации используется программа ipfw. а не ipf. Нужно придумать новые переменные, которые включали бы фильтрацию программы ipf в файле гс.сопГ и задать



Поделитесь с Вашими друзьями:
1   ...   26   27   28   29   30   31   32   33   ...   82


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал