<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://k.psu.ru/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Moiseevvi</id>
		<title>wiki - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="https://k.psu.ru/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Moiseevvi"/>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Moiseevvi"/>
		<updated>2026-04-07T17:09:46Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=IPv6_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=469</id>
		<title>IPv6 (обзор и примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=IPv6_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=469"/>
				<updated>2023-03-13T04:48:52Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Делегирование префиксов через DHCPv6-PD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Структура адреса IPv6==&lt;br /&gt;
&lt;br /&gt;
 2001:0DB8:3C4D:7777:0260:3EFF:FE15:9501 /64&lt;br /&gt;
 |-------------|----|------------------|&lt;br /&gt;
   global      subnet   interface-id&lt;br /&gt;
&lt;br /&gt;
При этом части глобального префикса имеют следующие порции&lt;br /&gt;
&lt;br /&gt;
200 - IANA&lt;br /&gt;
&lt;br /&gt;
10D - registrar&lt;br /&gt;
&lt;br /&gt;
B8 - ISP&lt;br /&gt;
&lt;br /&gt;
3C4D - ISP's customer/site&lt;br /&gt;
&lt;br /&gt;
Конечным пользователям рекомендуется использовать подсети /64, как стандарт.&lt;br /&gt;
&lt;br /&gt;
Мультикаст адреса начинаются на FF&lt;br /&gt;
 FF00::/8&lt;br /&gt;
&lt;br /&gt;
Лупбэк ipv6&lt;br /&gt;
 ::1&lt;br /&gt;
&lt;br /&gt;
Link-local адреса. Используются на линке для связи с соседним устройством. Дальше маршрутизатора не проходят.&lt;br /&gt;
 FE80::X /10&lt;br /&gt;
&lt;br /&gt;
Нулевой и последний адрес в сети можно использовать для хостов, т.к. в ipv6 нет броадкаста.&lt;br /&gt;
&lt;br /&gt;
Поскольку броадкаста нет, любой интерфейс ipv6 обязан зарегистрироваться в служебных мультикаст группах:&lt;br /&gt;
 FF02::1 - All Nodes&lt;br /&gt;
Адрес &amp;quot;все узлы&amp;quot; используется вместо броадкаста.&lt;br /&gt;
&lt;br /&gt;
 FF02:0:0:0:0:1:FF00::/104 - Solicited Node&lt;br /&gt;
к этому адресу справа дописывают 24 младших бита юникаст адреса интерфейса.&lt;br /&gt;
Адрес &amp;quot;запрошенный узел&amp;quot; создается для каждого юникаст адреса интерфейса и используется в процессе Neighbor Discovery.&lt;br /&gt;
&lt;br /&gt;
ULA адреса&lt;br /&gt;
FD00::/8 -  Unique Local Address&lt;br /&gt;
&lt;br /&gt;
== Scopes ==&lt;br /&gt;
&lt;br /&gt;
== NDP ==&lt;br /&gt;
Вместо ARP протокола используется Neighbor Discovery Protocol - NDP (RFC4861). При поиске мак-адреса хоста ipv6 запускает ICMPv6 Nighbor Solicitation сообщение. Удаленный узел на него отвечает. Результаты ND кладутся в кэш.&lt;br /&gt;
&lt;br /&gt;
== IPv6 на маршрутизаторах cisco IOS ==&lt;br /&gt;
&lt;br /&gt;
Включить ipv6 маршрутизацию (по-умолчанию выключена)&lt;br /&gt;
 ipv6 unicast-routing&lt;br /&gt;
&lt;br /&gt;
Задать ipv6-адрес на интерфейсе&lt;br /&gt;
int fa 0/0&lt;br /&gt;
   ipv6 address 2001:DB8:3C4D:7777::123/64&lt;br /&gt;
&lt;br /&gt;
Задать адрес в формате EUI-64&lt;br /&gt;
&lt;br /&gt;
 int fa 0/0&lt;br /&gt;
   ipv6 address 2001:DB8:3C4D:7777::/64 eui-64&lt;br /&gt;
В данном примере на интерфейс назначится глобально-маршрутизируемый адрес:&lt;br /&gt;
из пула IANA - 200, тестовый регистратор - 10D, провайдер B8, клиент - 3С4В, подсеть - 7777, длина префикса /64, идентификатор интерфейса будет назначен как EUI-64 (дополненный мак-адрес).&lt;br /&gt;
&lt;br /&gt;
В ipv6 нет броадкаст адресов, зато каждый ipv6 интерфейс автоматически участвует в нескольких мультикаст группах&lt;br /&gt;
 sh ipv6 int fa 0/0&lt;br /&gt;
&lt;br /&gt;
Просмотр таблицы ipv6 маршрутов&lt;br /&gt;
 sh ipv6 route&lt;br /&gt;
Как и в случае с ipv4, туда автоматом попадают directly connected сети.&lt;br /&gt;
&lt;br /&gt;
Пинг обычный&lt;br /&gt;
 ping 2001:DB8:3C4D:7777:260:3EFF:FE15:9501&lt;br /&gt;
&lt;br /&gt;
Посмотреть кэш соответствий IPv6-MAC можно командой&lt;br /&gt;
 sh ipv6 neighbor&lt;br /&gt;
&lt;br /&gt;
Статические маршруты прописываются, как обычно, в формате префикс-шлюз:&lt;br /&gt;
 ipv6 route 2001:DB8:3C4D:10::/64 2001:DB8:3C4D:7777:230:A3FF:FE60:8101&lt;br /&gt;
&lt;br /&gt;
== OSPFv3 ==&lt;br /&gt;
Для запуска OSPFv3 в ipv6 требуется включать ospf глобально и на интерфейсах. Router-id требуется указать вручную, если на маршрутизаторе нет ipv4 адресов.&lt;br /&gt;
 ipv6 router ospf 777&lt;br /&gt;
  router-id 7.7.7.0&lt;br /&gt;
  passive-interfase fa0/1&lt;br /&gt;
&lt;br /&gt;
Чтобы сеть анонсировалась, надо на интерфейсе указать принадлежность ospf процессу и area.&lt;br /&gt;
Чтобы с интерфейса не рассылались анонсы, этот интерфейс надо прописать как passive при настройке ospf процесса.&lt;br /&gt;
&lt;br /&gt;
 int fa 0/0&lt;br /&gt;
  ipv6 ospf 777 area 0&lt;br /&gt;
 int fa 0/1&lt;br /&gt;
  ipv6 ospf 777 area 0&lt;br /&gt;
&lt;br /&gt;
== DNS для IPv6==&lt;br /&gt;
&lt;br /&gt;
AAAA&lt;br /&gt;
&lt;br /&gt;
== Автоконфигурация ==&lt;br /&gt;
&lt;br /&gt;
 ipv6 general-prefix&lt;br /&gt;
&lt;br /&gt;
NDP&lt;br /&gt;
&lt;br /&gt;
DAD - Duplicate Address Detection&lt;br /&gt;
&lt;br /&gt;
SLAAC&lt;br /&gt;
&lt;br /&gt;
DHCPv6 - можно задать адрес, но нет концепции шлюза.  Можно выдать адрес DNS-сервера.&lt;br /&gt;
&lt;br /&gt;
DHCPv6-PD - делегирование префикса: клиент получает в свое распоряжение префикс из диапазона провайдера, провайдер автоматом устанавливает статический маршрут на этого клиента.&lt;br /&gt;
&lt;br /&gt;
RA - анонс маршрутизатора: указывает клиенту префикс сети, в котором он находится. Можно разрешить или запретить использование клиентом DHCPv6/SLAAC. Нельзя выдать адрес DNS-сервера.&lt;br /&gt;
&lt;br /&gt;
RD&lt;br /&gt;
&lt;br /&gt;
== Делегирование префиксов через DHCPv6-PD ==&lt;br /&gt;
&lt;br /&gt;
На раздающем роутере необходимо создать родительский пул адресов и указать размерность префиксов для выдачи клиентам:&lt;br /&gt;
&lt;br /&gt;
 ISP(config)#ipv6 local pool GLOBAL_POOL 2001:DB8:1100::/40 48&lt;br /&gt;
&lt;br /&gt;
Создать пул с параметрами адресов, выдаваемых клиентам, сославшись на глобальный пул префиксов:&lt;br /&gt;
&lt;br /&gt;
 ISP(config)#ipv6 dhcp pool CUSTOMERS&lt;br /&gt;
 ISP(config-dhcpv6)#prefix-delegation pool GLOBAL_POOL&lt;br /&gt;
 ISP(config-dhcpv6)#dns-server 2001:4860:4860::8888&lt;br /&gt;
&lt;br /&gt;
Привязать пул к интерфейсу, к которому подключены клиенты:&lt;br /&gt;
&lt;br /&gt;
 ISP(config)#interface GigabitEthernet 0/1&lt;br /&gt;
 ISP(config-if)#ipv6 address 2001:DB8:0:1::1/64&lt;br /&gt;
 ISP(config-if)#ipv6 dhcp server CUSTOMERS&lt;br /&gt;
&lt;br /&gt;
На принимающем роутере, на аплинке необходимо настроить IP адрес (можно через автоконфигурацию) и указать, что требуется в клиентском режиме запросить по DHCP делегирование префикса. Указать под каким именем сохранить информацию о полученном префиксе:&lt;br /&gt;
&lt;br /&gt;
 C1(config)#interface GigabitEthernet 0/1&lt;br /&gt;
 C1(config-if)#ipv6 dhcp client pd ISP_PREFIX&lt;br /&gt;
 C1(config-if)#ipv6 address autoconfig default&lt;br /&gt;
&lt;br /&gt;
На нисходящем линке в сторону клиентов указать из какого префикса настроить себе адрес. Указать правую половину адреса для самого интерфейса, левая половина будет взята из делегированного нам префикса:&lt;br /&gt;
&lt;br /&gt;
 C1(config)#interface GigabitEthernet 0/2&lt;br /&gt;
 C1(config-if)#ipv6 address ISP_PREFIX ::1:0:0:0:1/64&lt;br /&gt;
&lt;br /&gt;
Важно: вышестоящий и нижестоящий роутеры должны обладать маршрутной информацией. Не на всех версиях IOS это происходит автоматически.&lt;br /&gt;
&lt;br /&gt;
== Методы миграции на IPv6 ==&lt;br /&gt;
&lt;br /&gt;
Dual-stack&lt;br /&gt;
&lt;br /&gt;
tunnels&lt;br /&gt;
&lt;br /&gt;
NAT64, NAT46&lt;br /&gt;
&lt;br /&gt;
DNS64&lt;br /&gt;
&lt;br /&gt;
== sh ipv6 int vlan XX==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  IPv6 is enabled, link-local address is FE80::6262:6BFF:FEE2:5757&lt;br /&gt;
  No Virtual link-local address(es):&lt;br /&gt;
  Global unicast address(es):&lt;br /&gt;
    2022:BBB:88:2::1, subnet is 2022:BBB:88:2::/64&lt;br /&gt;
  Joined group address(es):&lt;br /&gt;
    FF02::1&lt;br /&gt;
    FF02::2&lt;br /&gt;
    FF02::1:2&lt;br /&gt;
    FF02::1:FF00:1&lt;br /&gt;
    FF02::1:FFE2:5757&lt;br /&gt;
  MTU is 1500 bytes&lt;br /&gt;
  ICMP error messages limited to one every 100 milliseconds&lt;br /&gt;
  ICMP redirects are enabled&lt;br /&gt;
  ICMP unreachables are sent&lt;br /&gt;
  Input features: Verify Unicast Reverse-Path, QoS classify, QoS actions&lt;br /&gt;
  Output features: HW Shortcut Installation&lt;br /&gt;
 IPv6 verify source reachable-via rx&lt;br /&gt;
   370 verification drop(s) (process), 1302114 (CEF)&lt;br /&gt;
   0 suppressed verification drop(s) (process), 0 (CEF)&lt;br /&gt;
  Service-policy input: police-outbound&lt;br /&gt;
  ND DAD is enabled, number of DAD attempts: 1&lt;br /&gt;
  ND reachable time is 30000 milliseconds&lt;br /&gt;
  ND advertised reachable time is 0 milliseconds&lt;br /&gt;
  ND advertised retransmit interval is 0 milliseconds&lt;br /&gt;
  ND router advertisements are sent every 5 seconds&lt;br /&gt;
  ND router advertisements live for 1800 seconds&lt;br /&gt;
  ND advertised default router preference is High&lt;br /&gt;
  Hosts use DHCP to obtain routable addresses.&lt;br /&gt;
  Hosts use DHCP to obtain other configuration.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Well-known IPv6 multicast addressesAddress	Description&lt;br /&gt;
ff02::1	All nodes on the local network segment&lt;br /&gt;
ff02::2	All routers on the local network segment&lt;br /&gt;
ff02::5	OSPFv3 All SPF routers&lt;br /&gt;
ff02::6	OSPFv3 All DR routers&lt;br /&gt;
ff02::8	IS-IS for IPv6 routers&lt;br /&gt;
ff02::9	RIP routers&lt;br /&gt;
ff02::a	EIGRP routers&lt;br /&gt;
ff02::d	PIM routers&lt;br /&gt;
ff02::16	MLDv2 reports (defined in RFC 3810)&lt;br /&gt;
ff02::1:2	All DHCP servers and relay agents on the local network segment (defined in RFC 3315)&lt;br /&gt;
ff02::1:3	All LLMNR hosts on the local network segment (defined in RFC 4795)&lt;br /&gt;
ff05::1:3	All DHCP servers on the local network site (defined in RFC 3315)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] [[категория:Сети]] [[категория:Cisco]] [[категория:IPv6]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=IPv6_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=468</id>
		<title>IPv6 (обзор и примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=IPv6_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=468"/>
				<updated>2023-03-13T04:22:33Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Делегирование префиксов через DHCPv6-PD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Структура адреса IPv6==&lt;br /&gt;
&lt;br /&gt;
 2001:0DB8:3C4D:7777:0260:3EFF:FE15:9501 /64&lt;br /&gt;
 |-------------|----|------------------|&lt;br /&gt;
   global      subnet   interface-id&lt;br /&gt;
&lt;br /&gt;
При этом части глобального префикса имеют следующие порции&lt;br /&gt;
&lt;br /&gt;
200 - IANA&lt;br /&gt;
&lt;br /&gt;
10D - registrar&lt;br /&gt;
&lt;br /&gt;
B8 - ISP&lt;br /&gt;
&lt;br /&gt;
3C4D - ISP's customer/site&lt;br /&gt;
&lt;br /&gt;
Конечным пользователям рекомендуется использовать подсети /64, как стандарт.&lt;br /&gt;
&lt;br /&gt;
Мультикаст адреса начинаются на FF&lt;br /&gt;
 FF00::/8&lt;br /&gt;
&lt;br /&gt;
Лупбэк ipv6&lt;br /&gt;
 ::1&lt;br /&gt;
&lt;br /&gt;
Link-local адреса. Используются на линке для связи с соседним устройством. Дальше маршрутизатора не проходят.&lt;br /&gt;
 FE80::X /10&lt;br /&gt;
&lt;br /&gt;
Нулевой и последний адрес в сети можно использовать для хостов, т.к. в ipv6 нет броадкаста.&lt;br /&gt;
&lt;br /&gt;
Поскольку броадкаста нет, любой интерфейс ipv6 обязан зарегистрироваться в служебных мультикаст группах:&lt;br /&gt;
 FF02::1 - All Nodes&lt;br /&gt;
Адрес &amp;quot;все узлы&amp;quot; используется вместо броадкаста.&lt;br /&gt;
&lt;br /&gt;
 FF02:0:0:0:0:1:FF00::/104 - Solicited Node&lt;br /&gt;
к этому адресу справа дописывают 24 младших бита юникаст адреса интерфейса.&lt;br /&gt;
Адрес &amp;quot;запрошенный узел&amp;quot; создается для каждого юникаст адреса интерфейса и используется в процессе Neighbor Discovery.&lt;br /&gt;
&lt;br /&gt;
ULA адреса&lt;br /&gt;
FD00::/8 -  Unique Local Address&lt;br /&gt;
&lt;br /&gt;
== Scopes ==&lt;br /&gt;
&lt;br /&gt;
== NDP ==&lt;br /&gt;
Вместо ARP протокола используется Neighbor Discovery Protocol - NDP (RFC4861). При поиске мак-адреса хоста ipv6 запускает ICMPv6 Nighbor Solicitation сообщение. Удаленный узел на него отвечает. Результаты ND кладутся в кэш.&lt;br /&gt;
&lt;br /&gt;
== IPv6 на маршрутизаторах cisco IOS ==&lt;br /&gt;
&lt;br /&gt;
Включить ipv6 маршрутизацию (по-умолчанию выключена)&lt;br /&gt;
 ipv6 unicast-routing&lt;br /&gt;
&lt;br /&gt;
Задать ipv6-адрес на интерфейсе&lt;br /&gt;
int fa 0/0&lt;br /&gt;
   ipv6 address 2001:DB8:3C4D:7777::123/64&lt;br /&gt;
&lt;br /&gt;
Задать адрес в формате EUI-64&lt;br /&gt;
&lt;br /&gt;
 int fa 0/0&lt;br /&gt;
   ipv6 address 2001:DB8:3C4D:7777::/64 eui-64&lt;br /&gt;
В данном примере на интерфейс назначится глобально-маршрутизируемый адрес:&lt;br /&gt;
из пула IANA - 200, тестовый регистратор - 10D, провайдер B8, клиент - 3С4В, подсеть - 7777, длина префикса /64, идентификатор интерфейса будет назначен как EUI-64 (дополненный мак-адрес).&lt;br /&gt;
&lt;br /&gt;
В ipv6 нет броадкаст адресов, зато каждый ipv6 интерфейс автоматически участвует в нескольких мультикаст группах&lt;br /&gt;
 sh ipv6 int fa 0/0&lt;br /&gt;
&lt;br /&gt;
Просмотр таблицы ipv6 маршрутов&lt;br /&gt;
 sh ipv6 route&lt;br /&gt;
Как и в случае с ipv4, туда автоматом попадают directly connected сети.&lt;br /&gt;
&lt;br /&gt;
Пинг обычный&lt;br /&gt;
 ping 2001:DB8:3C4D:7777:260:3EFF:FE15:9501&lt;br /&gt;
&lt;br /&gt;
Посмотреть кэш соответствий IPv6-MAC можно командой&lt;br /&gt;
 sh ipv6 neighbor&lt;br /&gt;
&lt;br /&gt;
Статические маршруты прописываются, как обычно, в формате префикс-шлюз:&lt;br /&gt;
 ipv6 route 2001:DB8:3C4D:10::/64 2001:DB8:3C4D:7777:230:A3FF:FE60:8101&lt;br /&gt;
&lt;br /&gt;
== OSPFv3 ==&lt;br /&gt;
Для запуска OSPFv3 в ipv6 требуется включать ospf глобально и на интерфейсах. Router-id требуется указать вручную, если на маршрутизаторе нет ipv4 адресов.&lt;br /&gt;
 ipv6 router ospf 777&lt;br /&gt;
  router-id 7.7.7.0&lt;br /&gt;
  passive-interfase fa0/1&lt;br /&gt;
&lt;br /&gt;
Чтобы сеть анонсировалась, надо на интерфейсе указать принадлежность ospf процессу и area.&lt;br /&gt;
Чтобы с интерфейса не рассылались анонсы, этот интерфейс надо прописать как passive при настройке ospf процесса.&lt;br /&gt;
&lt;br /&gt;
 int fa 0/0&lt;br /&gt;
  ipv6 ospf 777 area 0&lt;br /&gt;
 int fa 0/1&lt;br /&gt;
  ipv6 ospf 777 area 0&lt;br /&gt;
&lt;br /&gt;
== DNS для IPv6==&lt;br /&gt;
&lt;br /&gt;
AAAA&lt;br /&gt;
&lt;br /&gt;
== Автоконфигурация ==&lt;br /&gt;
&lt;br /&gt;
 ipv6 general-prefix&lt;br /&gt;
&lt;br /&gt;
NDP&lt;br /&gt;
&lt;br /&gt;
DAD - Duplicate Address Detection&lt;br /&gt;
&lt;br /&gt;
SLAAC&lt;br /&gt;
&lt;br /&gt;
DHCPv6 - можно задать адрес, но нет концепции шлюза.  Можно выдать адрес DNS-сервера.&lt;br /&gt;
&lt;br /&gt;
DHCPv6-PD - делегирование префикса: клиент получает в свое распоряжение префикс из диапазона провайдера, провайдер автоматом устанавливает статический маршрут на этого клиента.&lt;br /&gt;
&lt;br /&gt;
RA - анонс маршрутизатора: указывает клиенту префикс сети, в котором он находится. Можно разрешить или запретить использование клиентом DHCPv6/SLAAC. Нельзя выдать адрес DNS-сервера.&lt;br /&gt;
&lt;br /&gt;
RD&lt;br /&gt;
&lt;br /&gt;
== Делегирование префиксов через DHCPv6-PD ==&lt;br /&gt;
&lt;br /&gt;
На раздающем роутере необходимо создать родительский пул адресов и указать размерность префиксов для выдачи клиентам:&lt;br /&gt;
&lt;br /&gt;
 ISP(config)#ipv6 local pool GLOBAL_POOL 2001:DB8:1100::/40 48&lt;br /&gt;
&lt;br /&gt;
Создать пул с параметрами адресов, выдаваемых клиентам, сославшись на глобальный пул префиксов:&lt;br /&gt;
&lt;br /&gt;
 ISP(config)#ipv6 dhcp pool CUSTOMERS&lt;br /&gt;
 ISP(config-dhcpv6)#prefix-delegation pool GLOBAL_POOL&lt;br /&gt;
 ISP(config-dhcpv6)#dns-server 2001:4860:4860::8888&lt;br /&gt;
&lt;br /&gt;
Привязать пул к интерфейсу, к которому подключены клиенты:&lt;br /&gt;
&lt;br /&gt;
 ISP(config)#interface GigabitEthernet 0/1&lt;br /&gt;
 ISP(config-if)#ipv6 address 2001:DB8:0:1::1/64&lt;br /&gt;
 ISP(config-if)#ipv6 dhcp server CUSTOMERS&lt;br /&gt;
&lt;br /&gt;
На принимающем роутере, на аплинке необходимо настроить IP адрес (можно через автоконфигурацию) и указать, что требуется в клиентском режиме запросить по DHCP делегирование префикса. Указать под каким именем сохранить информацию о полученном префиксе:&lt;br /&gt;
&lt;br /&gt;
 C1(config)#interface GigabitEthernet 0/1&lt;br /&gt;
 C1(config-if)#ipv6 dhcp client pd ISP_PREFIX&lt;br /&gt;
 C1(config-if)#ipv6 address autoconfig default&lt;br /&gt;
&lt;br /&gt;
На нисходящем линке в сторону клиентов указать из какого префикса настроить себе адрес. Указать правую половину адреса для самого интерфейса, левая половина будет взята из делегированного нам префикса:&lt;br /&gt;
&lt;br /&gt;
 C1(config)#interface GigabitEthernet 0/2&lt;br /&gt;
 C1(config-if)#ipv6 address ISP_PREFIX ::1:0:0:0:1/64&lt;br /&gt;
&lt;br /&gt;
== Методы миграции на IPv6 ==&lt;br /&gt;
&lt;br /&gt;
Dual-stack&lt;br /&gt;
&lt;br /&gt;
tunnels&lt;br /&gt;
&lt;br /&gt;
NAT64, NAT46&lt;br /&gt;
&lt;br /&gt;
DNS64&lt;br /&gt;
&lt;br /&gt;
== sh ipv6 int vlan XX==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  IPv6 is enabled, link-local address is FE80::6262:6BFF:FEE2:5757&lt;br /&gt;
  No Virtual link-local address(es):&lt;br /&gt;
  Global unicast address(es):&lt;br /&gt;
    2022:BBB:88:2::1, subnet is 2022:BBB:88:2::/64&lt;br /&gt;
  Joined group address(es):&lt;br /&gt;
    FF02::1&lt;br /&gt;
    FF02::2&lt;br /&gt;
    FF02::1:2&lt;br /&gt;
    FF02::1:FF00:1&lt;br /&gt;
    FF02::1:FFE2:5757&lt;br /&gt;
  MTU is 1500 bytes&lt;br /&gt;
  ICMP error messages limited to one every 100 milliseconds&lt;br /&gt;
  ICMP redirects are enabled&lt;br /&gt;
  ICMP unreachables are sent&lt;br /&gt;
  Input features: Verify Unicast Reverse-Path, QoS classify, QoS actions&lt;br /&gt;
  Output features: HW Shortcut Installation&lt;br /&gt;
 IPv6 verify source reachable-via rx&lt;br /&gt;
   370 verification drop(s) (process), 1302114 (CEF)&lt;br /&gt;
   0 suppressed verification drop(s) (process), 0 (CEF)&lt;br /&gt;
  Service-policy input: police-outbound&lt;br /&gt;
  ND DAD is enabled, number of DAD attempts: 1&lt;br /&gt;
  ND reachable time is 30000 milliseconds&lt;br /&gt;
  ND advertised reachable time is 0 milliseconds&lt;br /&gt;
  ND advertised retransmit interval is 0 milliseconds&lt;br /&gt;
  ND router advertisements are sent every 5 seconds&lt;br /&gt;
  ND router advertisements live for 1800 seconds&lt;br /&gt;
  ND advertised default router preference is High&lt;br /&gt;
  Hosts use DHCP to obtain routable addresses.&lt;br /&gt;
  Hosts use DHCP to obtain other configuration.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Well-known IPv6 multicast addressesAddress	Description&lt;br /&gt;
ff02::1	All nodes on the local network segment&lt;br /&gt;
ff02::2	All routers on the local network segment&lt;br /&gt;
ff02::5	OSPFv3 All SPF routers&lt;br /&gt;
ff02::6	OSPFv3 All DR routers&lt;br /&gt;
ff02::8	IS-IS for IPv6 routers&lt;br /&gt;
ff02::9	RIP routers&lt;br /&gt;
ff02::a	EIGRP routers&lt;br /&gt;
ff02::d	PIM routers&lt;br /&gt;
ff02::16	MLDv2 reports (defined in RFC 3810)&lt;br /&gt;
ff02::1:2	All DHCP servers and relay agents on the local network segment (defined in RFC 3315)&lt;br /&gt;
ff02::1:3	All LLMNR hosts on the local network segment (defined in RFC 4795)&lt;br /&gt;
ff05::1:3	All DHCP servers on the local network site (defined in RFC 3315)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] [[категория:Сети]] [[категория:Cisco]] [[категория:IPv6]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=IPv6_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=467</id>
		<title>IPv6 (обзор и примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=IPv6_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=467"/>
				<updated>2023-03-13T04:21:48Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Делегирование префиксов через DHCPv6-PD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Структура адреса IPv6==&lt;br /&gt;
&lt;br /&gt;
 2001:0DB8:3C4D:7777:0260:3EFF:FE15:9501 /64&lt;br /&gt;
 |-------------|----|------------------|&lt;br /&gt;
   global      subnet   interface-id&lt;br /&gt;
&lt;br /&gt;
При этом части глобального префикса имеют следующие порции&lt;br /&gt;
&lt;br /&gt;
200 - IANA&lt;br /&gt;
&lt;br /&gt;
10D - registrar&lt;br /&gt;
&lt;br /&gt;
B8 - ISP&lt;br /&gt;
&lt;br /&gt;
3C4D - ISP's customer/site&lt;br /&gt;
&lt;br /&gt;
Конечным пользователям рекомендуется использовать подсети /64, как стандарт.&lt;br /&gt;
&lt;br /&gt;
Мультикаст адреса начинаются на FF&lt;br /&gt;
 FF00::/8&lt;br /&gt;
&lt;br /&gt;
Лупбэк ipv6&lt;br /&gt;
 ::1&lt;br /&gt;
&lt;br /&gt;
Link-local адреса. Используются на линке для связи с соседним устройством. Дальше маршрутизатора не проходят.&lt;br /&gt;
 FE80::X /10&lt;br /&gt;
&lt;br /&gt;
Нулевой и последний адрес в сети можно использовать для хостов, т.к. в ipv6 нет броадкаста.&lt;br /&gt;
&lt;br /&gt;
Поскольку броадкаста нет, любой интерфейс ipv6 обязан зарегистрироваться в служебных мультикаст группах:&lt;br /&gt;
 FF02::1 - All Nodes&lt;br /&gt;
Адрес &amp;quot;все узлы&amp;quot; используется вместо броадкаста.&lt;br /&gt;
&lt;br /&gt;
 FF02:0:0:0:0:1:FF00::/104 - Solicited Node&lt;br /&gt;
к этому адресу справа дописывают 24 младших бита юникаст адреса интерфейса.&lt;br /&gt;
Адрес &amp;quot;запрошенный узел&amp;quot; создается для каждого юникаст адреса интерфейса и используется в процессе Neighbor Discovery.&lt;br /&gt;
&lt;br /&gt;
ULA адреса&lt;br /&gt;
FD00::/8 -  Unique Local Address&lt;br /&gt;
&lt;br /&gt;
== Scopes ==&lt;br /&gt;
&lt;br /&gt;
== NDP ==&lt;br /&gt;
Вместо ARP протокола используется Neighbor Discovery Protocol - NDP (RFC4861). При поиске мак-адреса хоста ipv6 запускает ICMPv6 Nighbor Solicitation сообщение. Удаленный узел на него отвечает. Результаты ND кладутся в кэш.&lt;br /&gt;
&lt;br /&gt;
== IPv6 на маршрутизаторах cisco IOS ==&lt;br /&gt;
&lt;br /&gt;
Включить ipv6 маршрутизацию (по-умолчанию выключена)&lt;br /&gt;
 ipv6 unicast-routing&lt;br /&gt;
&lt;br /&gt;
Задать ipv6-адрес на интерфейсе&lt;br /&gt;
int fa 0/0&lt;br /&gt;
   ipv6 address 2001:DB8:3C4D:7777::123/64&lt;br /&gt;
&lt;br /&gt;
Задать адрес в формате EUI-64&lt;br /&gt;
&lt;br /&gt;
 int fa 0/0&lt;br /&gt;
   ipv6 address 2001:DB8:3C4D:7777::/64 eui-64&lt;br /&gt;
В данном примере на интерфейс назначится глобально-маршрутизируемый адрес:&lt;br /&gt;
из пула IANA - 200, тестовый регистратор - 10D, провайдер B8, клиент - 3С4В, подсеть - 7777, длина префикса /64, идентификатор интерфейса будет назначен как EUI-64 (дополненный мак-адрес).&lt;br /&gt;
&lt;br /&gt;
В ipv6 нет броадкаст адресов, зато каждый ipv6 интерфейс автоматически участвует в нескольких мультикаст группах&lt;br /&gt;
 sh ipv6 int fa 0/0&lt;br /&gt;
&lt;br /&gt;
Просмотр таблицы ipv6 маршрутов&lt;br /&gt;
 sh ipv6 route&lt;br /&gt;
Как и в случае с ipv4, туда автоматом попадают directly connected сети.&lt;br /&gt;
&lt;br /&gt;
Пинг обычный&lt;br /&gt;
 ping 2001:DB8:3C4D:7777:260:3EFF:FE15:9501&lt;br /&gt;
&lt;br /&gt;
Посмотреть кэш соответствий IPv6-MAC можно командой&lt;br /&gt;
 sh ipv6 neighbor&lt;br /&gt;
&lt;br /&gt;
Статические маршруты прописываются, как обычно, в формате префикс-шлюз:&lt;br /&gt;
 ipv6 route 2001:DB8:3C4D:10::/64 2001:DB8:3C4D:7777:230:A3FF:FE60:8101&lt;br /&gt;
&lt;br /&gt;
== OSPFv3 ==&lt;br /&gt;
Для запуска OSPFv3 в ipv6 требуется включать ospf глобально и на интерфейсах. Router-id требуется указать вручную, если на маршрутизаторе нет ipv4 адресов.&lt;br /&gt;
 ipv6 router ospf 777&lt;br /&gt;
  router-id 7.7.7.0&lt;br /&gt;
  passive-interfase fa0/1&lt;br /&gt;
&lt;br /&gt;
Чтобы сеть анонсировалась, надо на интерфейсе указать принадлежность ospf процессу и area.&lt;br /&gt;
Чтобы с интерфейса не рассылались анонсы, этот интерфейс надо прописать как passive при настройке ospf процесса.&lt;br /&gt;
&lt;br /&gt;
 int fa 0/0&lt;br /&gt;
  ipv6 ospf 777 area 0&lt;br /&gt;
 int fa 0/1&lt;br /&gt;
  ipv6 ospf 777 area 0&lt;br /&gt;
&lt;br /&gt;
== DNS для IPv6==&lt;br /&gt;
&lt;br /&gt;
AAAA&lt;br /&gt;
&lt;br /&gt;
== Автоконфигурация ==&lt;br /&gt;
&lt;br /&gt;
 ipv6 general-prefix&lt;br /&gt;
&lt;br /&gt;
NDP&lt;br /&gt;
&lt;br /&gt;
DAD - Duplicate Address Detection&lt;br /&gt;
&lt;br /&gt;
SLAAC&lt;br /&gt;
&lt;br /&gt;
DHCPv6 - можно задать адрес, но нет концепции шлюза.  Можно выдать адрес DNS-сервера.&lt;br /&gt;
&lt;br /&gt;
DHCPv6-PD - делегирование префикса: клиент получает в свое распоряжение префикс из диапазона провайдера, провайдер автоматом устанавливает статический маршрут на этого клиента.&lt;br /&gt;
&lt;br /&gt;
RA - анонс маршрутизатора: указывает клиенту префикс сети, в котором он находится. Можно разрешить или запретить использование клиентом DHCPv6/SLAAC. Нельзя выдать адрес DNS-сервера.&lt;br /&gt;
&lt;br /&gt;
RD&lt;br /&gt;
&lt;br /&gt;
== Делегирование префиксов через DHCPv6-PD ==&lt;br /&gt;
&lt;br /&gt;
На раздающем роутере необходимо создать родительский пул адресов и указать размерность префиксов для выдачи клиентам:&lt;br /&gt;
&lt;br /&gt;
 ISP(config)#ipv6 local pool GLOBAL_POOL 2001:DB8:1100::/40 48&lt;br /&gt;
&lt;br /&gt;
Создать пул с параметрами адресов, выдаваемых клиентам, сославшись на глобальный пул префиксов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ISP(config)#ipv6 dhcp pool CUSTOMERS&lt;br /&gt;
ISP(config-dhcpv6)#prefix-delegation pool GLOBAL_POOL&lt;br /&gt;
ISP(config-dhcpv6)#dns-server 2001:4860:4860::8888&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Привязать пул к интерфейсу, к которому подключены клиенты:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ISP(config)#interface GigabitEthernet 0/1&lt;br /&gt;
ISP(config-if)#ipv6 address 2001:DB8:0:1::1/64&lt;br /&gt;
ISP(config-if)#ipv6 dhcp server CUSTOMERS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На принимающем роутере, на аплинке необходимо настроить IP адрес (можно через автоконфигурацию) и указать, что требуется в клиентском режиме запросить по DHCP делегирование префикса. Указать под каким именем сохранить информацию о полученном префиксе:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;C1(config)#interface GigabitEthernet 0/1&lt;br /&gt;
C1(config-if)#ipv6 dhcp client pd ISP_PREFIX&lt;br /&gt;
C1(config-if)#ipv6 address autoconfig default&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На нисходящем линке в сторону клиентов указать из какого префикса настроить себе адрес. Указать правую половину адреса для самого интерфейса, левая половина будет взята из делегированного нам префикса:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;C1(config)#interface GigabitEthernet 0/2&lt;br /&gt;
C1(config-if)#ipv6 address ISP_PREFIX ::1:0:0:0:1/64&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Методы миграции на IPv6 ==&lt;br /&gt;
&lt;br /&gt;
Dual-stack&lt;br /&gt;
&lt;br /&gt;
tunnels&lt;br /&gt;
&lt;br /&gt;
NAT64, NAT46&lt;br /&gt;
&lt;br /&gt;
DNS64&lt;br /&gt;
&lt;br /&gt;
== sh ipv6 int vlan XX==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  IPv6 is enabled, link-local address is FE80::6262:6BFF:FEE2:5757&lt;br /&gt;
  No Virtual link-local address(es):&lt;br /&gt;
  Global unicast address(es):&lt;br /&gt;
    2022:BBB:88:2::1, subnet is 2022:BBB:88:2::/64&lt;br /&gt;
  Joined group address(es):&lt;br /&gt;
    FF02::1&lt;br /&gt;
    FF02::2&lt;br /&gt;
    FF02::1:2&lt;br /&gt;
    FF02::1:FF00:1&lt;br /&gt;
    FF02::1:FFE2:5757&lt;br /&gt;
  MTU is 1500 bytes&lt;br /&gt;
  ICMP error messages limited to one every 100 milliseconds&lt;br /&gt;
  ICMP redirects are enabled&lt;br /&gt;
  ICMP unreachables are sent&lt;br /&gt;
  Input features: Verify Unicast Reverse-Path, QoS classify, QoS actions&lt;br /&gt;
  Output features: HW Shortcut Installation&lt;br /&gt;
 IPv6 verify source reachable-via rx&lt;br /&gt;
   370 verification drop(s) (process), 1302114 (CEF)&lt;br /&gt;
   0 suppressed verification drop(s) (process), 0 (CEF)&lt;br /&gt;
  Service-policy input: police-outbound&lt;br /&gt;
  ND DAD is enabled, number of DAD attempts: 1&lt;br /&gt;
  ND reachable time is 30000 milliseconds&lt;br /&gt;
  ND advertised reachable time is 0 milliseconds&lt;br /&gt;
  ND advertised retransmit interval is 0 milliseconds&lt;br /&gt;
  ND router advertisements are sent every 5 seconds&lt;br /&gt;
  ND router advertisements live for 1800 seconds&lt;br /&gt;
  ND advertised default router preference is High&lt;br /&gt;
  Hosts use DHCP to obtain routable addresses.&lt;br /&gt;
  Hosts use DHCP to obtain other configuration.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Well-known IPv6 multicast addressesAddress	Description&lt;br /&gt;
ff02::1	All nodes on the local network segment&lt;br /&gt;
ff02::2	All routers on the local network segment&lt;br /&gt;
ff02::5	OSPFv3 All SPF routers&lt;br /&gt;
ff02::6	OSPFv3 All DR routers&lt;br /&gt;
ff02::8	IS-IS for IPv6 routers&lt;br /&gt;
ff02::9	RIP routers&lt;br /&gt;
ff02::a	EIGRP routers&lt;br /&gt;
ff02::d	PIM routers&lt;br /&gt;
ff02::16	MLDv2 reports (defined in RFC 3810)&lt;br /&gt;
ff02::1:2	All DHCP servers and relay agents on the local network segment (defined in RFC 3315)&lt;br /&gt;
ff02::1:3	All LLMNR hosts on the local network segment (defined in RFC 4795)&lt;br /&gt;
ff05::1:3	All DHCP servers on the local network site (defined in RFC 3315)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] [[категория:Сети]] [[категория:Cisco]] [[категория:IPv6]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=IPv6_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=466</id>
		<title>IPv6 (обзор и примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=IPv6_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=466"/>
				<updated>2023-03-13T04:09:26Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Делегирование префиксов через DHCPv6-PD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Структура адреса IPv6==&lt;br /&gt;
&lt;br /&gt;
 2001:0DB8:3C4D:7777:0260:3EFF:FE15:9501 /64&lt;br /&gt;
 |-------------|----|------------------|&lt;br /&gt;
   global      subnet   interface-id&lt;br /&gt;
&lt;br /&gt;
При этом части глобального префикса имеют следующие порции&lt;br /&gt;
&lt;br /&gt;
200 - IANA&lt;br /&gt;
&lt;br /&gt;
10D - registrar&lt;br /&gt;
&lt;br /&gt;
B8 - ISP&lt;br /&gt;
&lt;br /&gt;
3C4D - ISP's customer/site&lt;br /&gt;
&lt;br /&gt;
Конечным пользователям рекомендуется использовать подсети /64, как стандарт.&lt;br /&gt;
&lt;br /&gt;
Мультикаст адреса начинаются на FF&lt;br /&gt;
 FF00::/8&lt;br /&gt;
&lt;br /&gt;
Лупбэк ipv6&lt;br /&gt;
 ::1&lt;br /&gt;
&lt;br /&gt;
Link-local адреса. Используются на линке для связи с соседним устройством. Дальше маршрутизатора не проходят.&lt;br /&gt;
 FE80::X /10&lt;br /&gt;
&lt;br /&gt;
Нулевой и последний адрес в сети можно использовать для хостов, т.к. в ipv6 нет броадкаста.&lt;br /&gt;
&lt;br /&gt;
Поскольку броадкаста нет, любой интерфейс ipv6 обязан зарегистрироваться в служебных мультикаст группах:&lt;br /&gt;
 FF02::1 - All Nodes&lt;br /&gt;
Адрес &amp;quot;все узлы&amp;quot; используется вместо броадкаста.&lt;br /&gt;
&lt;br /&gt;
 FF02:0:0:0:0:1:FF00::/104 - Solicited Node&lt;br /&gt;
к этому адресу справа дописывают 24 младших бита юникаст адреса интерфейса.&lt;br /&gt;
Адрес &amp;quot;запрошенный узел&amp;quot; создается для каждого юникаст адреса интерфейса и используется в процессе Neighbor Discovery.&lt;br /&gt;
&lt;br /&gt;
ULA адреса&lt;br /&gt;
FD00::/8 -  Unique Local Address&lt;br /&gt;
&lt;br /&gt;
== Scopes ==&lt;br /&gt;
&lt;br /&gt;
== NDP ==&lt;br /&gt;
Вместо ARP протокола используется Neighbor Discovery Protocol - NDP (RFC4861). При поиске мак-адреса хоста ipv6 запускает ICMPv6 Nighbor Solicitation сообщение. Удаленный узел на него отвечает. Результаты ND кладутся в кэш.&lt;br /&gt;
&lt;br /&gt;
== IPv6 на маршрутизаторах cisco IOS ==&lt;br /&gt;
&lt;br /&gt;
Включить ipv6 маршрутизацию (по-умолчанию выключена)&lt;br /&gt;
 ipv6 unicast-routing&lt;br /&gt;
&lt;br /&gt;
Задать ipv6-адрес на интерфейсе&lt;br /&gt;
int fa 0/0&lt;br /&gt;
   ipv6 address 2001:DB8:3C4D:7777::123/64&lt;br /&gt;
&lt;br /&gt;
Задать адрес в формате EUI-64&lt;br /&gt;
&lt;br /&gt;
 int fa 0/0&lt;br /&gt;
   ipv6 address 2001:DB8:3C4D:7777::/64 eui-64&lt;br /&gt;
В данном примере на интерфейс назначится глобально-маршрутизируемый адрес:&lt;br /&gt;
из пула IANA - 200, тестовый регистратор - 10D, провайдер B8, клиент - 3С4В, подсеть - 7777, длина префикса /64, идентификатор интерфейса будет назначен как EUI-64 (дополненный мак-адрес).&lt;br /&gt;
&lt;br /&gt;
В ipv6 нет броадкаст адресов, зато каждый ipv6 интерфейс автоматически участвует в нескольких мультикаст группах&lt;br /&gt;
 sh ipv6 int fa 0/0&lt;br /&gt;
&lt;br /&gt;
Просмотр таблицы ipv6 маршрутов&lt;br /&gt;
 sh ipv6 route&lt;br /&gt;
Как и в случае с ipv4, туда автоматом попадают directly connected сети.&lt;br /&gt;
&lt;br /&gt;
Пинг обычный&lt;br /&gt;
 ping 2001:DB8:3C4D:7777:260:3EFF:FE15:9501&lt;br /&gt;
&lt;br /&gt;
Посмотреть кэш соответствий IPv6-MAC можно командой&lt;br /&gt;
 sh ipv6 neighbor&lt;br /&gt;
&lt;br /&gt;
Статические маршруты прописываются, как обычно, в формате префикс-шлюз:&lt;br /&gt;
 ipv6 route 2001:DB8:3C4D:10::/64 2001:DB8:3C4D:7777:230:A3FF:FE60:8101&lt;br /&gt;
&lt;br /&gt;
== OSPFv3 ==&lt;br /&gt;
Для запуска OSPFv3 в ipv6 требуется включать ospf глобально и на интерфейсах. Router-id требуется указать вручную, если на маршрутизаторе нет ipv4 адресов.&lt;br /&gt;
 ipv6 router ospf 777&lt;br /&gt;
  router-id 7.7.7.0&lt;br /&gt;
  passive-interfase fa0/1&lt;br /&gt;
&lt;br /&gt;
Чтобы сеть анонсировалась, надо на интерфейсе указать принадлежность ospf процессу и area.&lt;br /&gt;
Чтобы с интерфейса не рассылались анонсы, этот интерфейс надо прописать как passive при настройке ospf процесса.&lt;br /&gt;
&lt;br /&gt;
 int fa 0/0&lt;br /&gt;
  ipv6 ospf 777 area 0&lt;br /&gt;
 int fa 0/1&lt;br /&gt;
  ipv6 ospf 777 area 0&lt;br /&gt;
&lt;br /&gt;
== DNS для IPv6==&lt;br /&gt;
&lt;br /&gt;
AAAA&lt;br /&gt;
&lt;br /&gt;
== Автоконфигурация ==&lt;br /&gt;
&lt;br /&gt;
 ipv6 general-prefix&lt;br /&gt;
&lt;br /&gt;
NDP&lt;br /&gt;
&lt;br /&gt;
DAD - Duplicate Address Detection&lt;br /&gt;
&lt;br /&gt;
SLAAC&lt;br /&gt;
&lt;br /&gt;
DHCPv6 - можно задать адрес, но нет концепции шлюза.  Можно выдать адрес DNS-сервера.&lt;br /&gt;
&lt;br /&gt;
DHCPv6-PD - делегирование префикса: клиент получает в свое распоряжение префикс из диапазона провайдера, провайдер автоматом устанавливает статический маршрут на этого клиента.&lt;br /&gt;
&lt;br /&gt;
RA - анонс маршрутизатора: указывает клиенту префикс сети, в котором он находится. Можно разрешить или запретить использование клиентом DHCPv6/SLAAC. Нельзя выдать адрес DNS-сервера.&lt;br /&gt;
&lt;br /&gt;
RD&lt;br /&gt;
&lt;br /&gt;
== Делегирование префиксов через DHCPv6-PD ==&lt;br /&gt;
&lt;br /&gt;
На раздающем роутере необходимо создать родительский пул адресов и указать размерность префиксов для выдачи клиентам:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ISP(config)#ipv6 local pool GLOBAL_POOL 2001:DB8:1100::/40 48&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Создать пул с параметрами адресов, выдаваемых клиентам, сославшись на глобальный пул префиксов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ISP(config)#ipv6 dhcp pool CUSTOMERS&lt;br /&gt;
ISP(config-dhcpv6)#prefix-delegation pool GLOBAL_POOL&lt;br /&gt;
ISP(config-dhcpv6)#dns-server 2001:4860:4860::8888&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Привязать пул к интерфейсу, к которому подключены клиенты:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ISP(config)#interface GigabitEthernet 0/1&lt;br /&gt;
ISP(config-if)#ipv6 address 2001:DB8:0:1::1/64&lt;br /&gt;
ISP(config-if)#ipv6 dhcp server CUSTOMERS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На принимающем роутере, на аплинке необходимо настроить IP адрес (можно через автоконфигурацию) и указать, что требуется в клиентском режиме запросить по DHCP делегирование префикса. Указать под каким именем сохранить информацию о полученном префиксе:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;C1(config)#interface GigabitEthernet 0/1&lt;br /&gt;
C1(config-if)#ipv6 dhcp client pd ISP_PREFIX&lt;br /&gt;
C1(config-if)#ipv6 address autoconfig default&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На нисходящем линке в сторону клиентов указать из какого префикса настроить себе адрес. Указать правую половину адреса для самого интерфейса, левая половина будет взята из делегированного нам префикса:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;C1(config)#interface GigabitEthernet 0/2&lt;br /&gt;
C1(config-if)#ipv6 address ISP_PREFIX ::1:0:0:0:1/64&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Методы миграции на IPv6 ==&lt;br /&gt;
&lt;br /&gt;
Dual-stack&lt;br /&gt;
&lt;br /&gt;
tunnels&lt;br /&gt;
&lt;br /&gt;
NAT64, NAT46&lt;br /&gt;
&lt;br /&gt;
DNS64&lt;br /&gt;
&lt;br /&gt;
== sh ipv6 int vlan XX==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  IPv6 is enabled, link-local address is FE80::6262:6BFF:FEE2:5757&lt;br /&gt;
  No Virtual link-local address(es):&lt;br /&gt;
  Global unicast address(es):&lt;br /&gt;
    2022:BBB:88:2::1, subnet is 2022:BBB:88:2::/64&lt;br /&gt;
  Joined group address(es):&lt;br /&gt;
    FF02::1&lt;br /&gt;
    FF02::2&lt;br /&gt;
    FF02::1:2&lt;br /&gt;
    FF02::1:FF00:1&lt;br /&gt;
    FF02::1:FFE2:5757&lt;br /&gt;
  MTU is 1500 bytes&lt;br /&gt;
  ICMP error messages limited to one every 100 milliseconds&lt;br /&gt;
  ICMP redirects are enabled&lt;br /&gt;
  ICMP unreachables are sent&lt;br /&gt;
  Input features: Verify Unicast Reverse-Path, QoS classify, QoS actions&lt;br /&gt;
  Output features: HW Shortcut Installation&lt;br /&gt;
 IPv6 verify source reachable-via rx&lt;br /&gt;
   370 verification drop(s) (process), 1302114 (CEF)&lt;br /&gt;
   0 suppressed verification drop(s) (process), 0 (CEF)&lt;br /&gt;
  Service-policy input: police-outbound&lt;br /&gt;
  ND DAD is enabled, number of DAD attempts: 1&lt;br /&gt;
  ND reachable time is 30000 milliseconds&lt;br /&gt;
  ND advertised reachable time is 0 milliseconds&lt;br /&gt;
  ND advertised retransmit interval is 0 milliseconds&lt;br /&gt;
  ND router advertisements are sent every 5 seconds&lt;br /&gt;
  ND router advertisements live for 1800 seconds&lt;br /&gt;
  ND advertised default router preference is High&lt;br /&gt;
  Hosts use DHCP to obtain routable addresses.&lt;br /&gt;
  Hosts use DHCP to obtain other configuration.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Well-known IPv6 multicast addressesAddress	Description&lt;br /&gt;
ff02::1	All nodes on the local network segment&lt;br /&gt;
ff02::2	All routers on the local network segment&lt;br /&gt;
ff02::5	OSPFv3 All SPF routers&lt;br /&gt;
ff02::6	OSPFv3 All DR routers&lt;br /&gt;
ff02::8	IS-IS for IPv6 routers&lt;br /&gt;
ff02::9	RIP routers&lt;br /&gt;
ff02::a	EIGRP routers&lt;br /&gt;
ff02::d	PIM routers&lt;br /&gt;
ff02::16	MLDv2 reports (defined in RFC 3810)&lt;br /&gt;
ff02::1:2	All DHCP servers and relay agents on the local network segment (defined in RFC 3315)&lt;br /&gt;
ff02::1:3	All LLMNR hosts on the local network segment (defined in RFC 4795)&lt;br /&gt;
ff05::1:3	All DHCP servers on the local network site (defined in RFC 3315)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] [[категория:Сети]] [[категория:Cisco]] [[категория:IPv6]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=IPv6_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=465</id>
		<title>IPv6 (обзор и примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=IPv6_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=465"/>
				<updated>2023-03-13T04:08:29Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Делегирование префиксов через DHCPv6-PD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Структура адреса IPv6==&lt;br /&gt;
&lt;br /&gt;
 2001:0DB8:3C4D:7777:0260:3EFF:FE15:9501 /64&lt;br /&gt;
 |-------------|----|------------------|&lt;br /&gt;
   global      subnet   interface-id&lt;br /&gt;
&lt;br /&gt;
При этом части глобального префикса имеют следующие порции&lt;br /&gt;
&lt;br /&gt;
200 - IANA&lt;br /&gt;
&lt;br /&gt;
10D - registrar&lt;br /&gt;
&lt;br /&gt;
B8 - ISP&lt;br /&gt;
&lt;br /&gt;
3C4D - ISP's customer/site&lt;br /&gt;
&lt;br /&gt;
Конечным пользователям рекомендуется использовать подсети /64, как стандарт.&lt;br /&gt;
&lt;br /&gt;
Мультикаст адреса начинаются на FF&lt;br /&gt;
 FF00::/8&lt;br /&gt;
&lt;br /&gt;
Лупбэк ipv6&lt;br /&gt;
 ::1&lt;br /&gt;
&lt;br /&gt;
Link-local адреса. Используются на линке для связи с соседним устройством. Дальше маршрутизатора не проходят.&lt;br /&gt;
 FE80::X /10&lt;br /&gt;
&lt;br /&gt;
Нулевой и последний адрес в сети можно использовать для хостов, т.к. в ipv6 нет броадкаста.&lt;br /&gt;
&lt;br /&gt;
Поскольку броадкаста нет, любой интерфейс ipv6 обязан зарегистрироваться в служебных мультикаст группах:&lt;br /&gt;
 FF02::1 - All Nodes&lt;br /&gt;
Адрес &amp;quot;все узлы&amp;quot; используется вместо броадкаста.&lt;br /&gt;
&lt;br /&gt;
 FF02:0:0:0:0:1:FF00::/104 - Solicited Node&lt;br /&gt;
к этому адресу справа дописывают 24 младших бита юникаст адреса интерфейса.&lt;br /&gt;
Адрес &amp;quot;запрошенный узел&amp;quot; создается для каждого юникаст адреса интерфейса и используется в процессе Neighbor Discovery.&lt;br /&gt;
&lt;br /&gt;
ULA адреса&lt;br /&gt;
FD00::/8 -  Unique Local Address&lt;br /&gt;
&lt;br /&gt;
== Scopes ==&lt;br /&gt;
&lt;br /&gt;
== NDP ==&lt;br /&gt;
Вместо ARP протокола используется Neighbor Discovery Protocol - NDP (RFC4861). При поиске мак-адреса хоста ipv6 запускает ICMPv6 Nighbor Solicitation сообщение. Удаленный узел на него отвечает. Результаты ND кладутся в кэш.&lt;br /&gt;
&lt;br /&gt;
== IPv6 на маршрутизаторах cisco IOS ==&lt;br /&gt;
&lt;br /&gt;
Включить ipv6 маршрутизацию (по-умолчанию выключена)&lt;br /&gt;
 ipv6 unicast-routing&lt;br /&gt;
&lt;br /&gt;
Задать ipv6-адрес на интерфейсе&lt;br /&gt;
int fa 0/0&lt;br /&gt;
   ipv6 address 2001:DB8:3C4D:7777::123/64&lt;br /&gt;
&lt;br /&gt;
Задать адрес в формате EUI-64&lt;br /&gt;
&lt;br /&gt;
 int fa 0/0&lt;br /&gt;
   ipv6 address 2001:DB8:3C4D:7777::/64 eui-64&lt;br /&gt;
В данном примере на интерфейс назначится глобально-маршрутизируемый адрес:&lt;br /&gt;
из пула IANA - 200, тестовый регистратор - 10D, провайдер B8, клиент - 3С4В, подсеть - 7777, длина префикса /64, идентификатор интерфейса будет назначен как EUI-64 (дополненный мак-адрес).&lt;br /&gt;
&lt;br /&gt;
В ipv6 нет броадкаст адресов, зато каждый ipv6 интерфейс автоматически участвует в нескольких мультикаст группах&lt;br /&gt;
 sh ipv6 int fa 0/0&lt;br /&gt;
&lt;br /&gt;
Просмотр таблицы ipv6 маршрутов&lt;br /&gt;
 sh ipv6 route&lt;br /&gt;
Как и в случае с ipv4, туда автоматом попадают directly connected сети.&lt;br /&gt;
&lt;br /&gt;
Пинг обычный&lt;br /&gt;
 ping 2001:DB8:3C4D:7777:260:3EFF:FE15:9501&lt;br /&gt;
&lt;br /&gt;
Посмотреть кэш соответствий IPv6-MAC можно командой&lt;br /&gt;
 sh ipv6 neighbor&lt;br /&gt;
&lt;br /&gt;
Статические маршруты прописываются, как обычно, в формате префикс-шлюз:&lt;br /&gt;
 ipv6 route 2001:DB8:3C4D:10::/64 2001:DB8:3C4D:7777:230:A3FF:FE60:8101&lt;br /&gt;
&lt;br /&gt;
== OSPFv3 ==&lt;br /&gt;
Для запуска OSPFv3 в ipv6 требуется включать ospf глобально и на интерфейсах. Router-id требуется указать вручную, если на маршрутизаторе нет ipv4 адресов.&lt;br /&gt;
 ipv6 router ospf 777&lt;br /&gt;
  router-id 7.7.7.0&lt;br /&gt;
  passive-interfase fa0/1&lt;br /&gt;
&lt;br /&gt;
Чтобы сеть анонсировалась, надо на интерфейсе указать принадлежность ospf процессу и area.&lt;br /&gt;
Чтобы с интерфейса не рассылались анонсы, этот интерфейс надо прописать как passive при настройке ospf процесса.&lt;br /&gt;
&lt;br /&gt;
 int fa 0/0&lt;br /&gt;
  ipv6 ospf 777 area 0&lt;br /&gt;
 int fa 0/1&lt;br /&gt;
  ipv6 ospf 777 area 0&lt;br /&gt;
&lt;br /&gt;
== DNS для IPv6==&lt;br /&gt;
&lt;br /&gt;
AAAA&lt;br /&gt;
&lt;br /&gt;
== Автоконфигурация ==&lt;br /&gt;
&lt;br /&gt;
 ipv6 general-prefix&lt;br /&gt;
&lt;br /&gt;
NDP&lt;br /&gt;
&lt;br /&gt;
DAD - Duplicate Address Detection&lt;br /&gt;
&lt;br /&gt;
SLAAC&lt;br /&gt;
&lt;br /&gt;
DHCPv6 - можно задать адрес, но нет концепции шлюза.  Можно выдать адрес DNS-сервера.&lt;br /&gt;
&lt;br /&gt;
DHCPv6-PD - делегирование префикса: клиент получает в свое распоряжение префикс из диапазона провайдера, провайдер автоматом устанавливает статический маршрут на этого клиента.&lt;br /&gt;
&lt;br /&gt;
RA - анонс маршрутизатора: указывает клиенту префикс сети, в котором он находится. Можно разрешить или запретить использование клиентом DHCPv6/SLAAC. Нельзя выдать адрес DNS-сервера.&lt;br /&gt;
&lt;br /&gt;
RD&lt;br /&gt;
&lt;br /&gt;
== Делегирование префиксов через DHCPv6-PD ==&lt;br /&gt;
&lt;br /&gt;
На раздающем роутере необходимо создать родительский пул адресов и указать размерность префиксов для выдачи клиентам:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ISP(config)#ipv6 local pool GLOBAL_POOL 2001:DB8:1100::/40 48&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Создать пул с параметрами адресов, выдаваемых клиентам, сославшись на глобальный пул префиксов:&lt;br /&gt;
&lt;br /&gt;
ISP(config)#ipv6 dhcp pool CUSTOMERS&lt;br /&gt;
ISP(config-dhcpv6)#prefix-delegation pool GLOBAL_POOL&lt;br /&gt;
ISP(config-dhcpv6)#dns-server 2001:4860:4860::8888&lt;br /&gt;
&lt;br /&gt;
Привязать пул к интерфейсу, к которому подключены клиенты:&lt;br /&gt;
&lt;br /&gt;
ISP(config)#interface GigabitEthernet 0/1&lt;br /&gt;
ISP(config-if)#ipv6 address 2001:DB8:0:1::1/64&lt;br /&gt;
ISP(config-if)#ipv6 dhcp server CUSTOMERS&lt;br /&gt;
&lt;br /&gt;
На принимающем роутере, на аплинке необходимо настроить IP адрес (можно через автоконфигурацию) и указать, что требуется в клиентском режиме запросить по DHCP делегирование префикса. Указать под каким именем сохранить информацию о полученном префиксе:&lt;br /&gt;
&lt;br /&gt;
C1(config)#interface GigabitEthernet 0/1&lt;br /&gt;
C1(config-if)#ipv6 dhcp client pd ISP_PREFIX&lt;br /&gt;
C1(config-if)#ipv6 address autoconfig default&lt;br /&gt;
&lt;br /&gt;
На даунлинке в сторону клиентов указать из какого префикса настроить себе адрес. Указать правую половину адреса дл самого интерфейса, левая половина будет взята из делегированного нам префикса:&lt;br /&gt;
&lt;br /&gt;
C1(config)#interface GigabitEthernet 0/2&lt;br /&gt;
C1(config-if)#ipv6 address ISP_PREFIX ::1:0:0:0:1/64&lt;br /&gt;
&lt;br /&gt;
== Методы миграции на IPv6 ==&lt;br /&gt;
&lt;br /&gt;
Dual-stack&lt;br /&gt;
&lt;br /&gt;
tunnels&lt;br /&gt;
&lt;br /&gt;
NAT64, NAT46&lt;br /&gt;
&lt;br /&gt;
DNS64&lt;br /&gt;
&lt;br /&gt;
== sh ipv6 int vlan XX==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  IPv6 is enabled, link-local address is FE80::6262:6BFF:FEE2:5757&lt;br /&gt;
  No Virtual link-local address(es):&lt;br /&gt;
  Global unicast address(es):&lt;br /&gt;
    2022:BBB:88:2::1, subnet is 2022:BBB:88:2::/64&lt;br /&gt;
  Joined group address(es):&lt;br /&gt;
    FF02::1&lt;br /&gt;
    FF02::2&lt;br /&gt;
    FF02::1:2&lt;br /&gt;
    FF02::1:FF00:1&lt;br /&gt;
    FF02::1:FFE2:5757&lt;br /&gt;
  MTU is 1500 bytes&lt;br /&gt;
  ICMP error messages limited to one every 100 milliseconds&lt;br /&gt;
  ICMP redirects are enabled&lt;br /&gt;
  ICMP unreachables are sent&lt;br /&gt;
  Input features: Verify Unicast Reverse-Path, QoS classify, QoS actions&lt;br /&gt;
  Output features: HW Shortcut Installation&lt;br /&gt;
 IPv6 verify source reachable-via rx&lt;br /&gt;
   370 verification drop(s) (process), 1302114 (CEF)&lt;br /&gt;
   0 suppressed verification drop(s) (process), 0 (CEF)&lt;br /&gt;
  Service-policy input: police-outbound&lt;br /&gt;
  ND DAD is enabled, number of DAD attempts: 1&lt;br /&gt;
  ND reachable time is 30000 milliseconds&lt;br /&gt;
  ND advertised reachable time is 0 milliseconds&lt;br /&gt;
  ND advertised retransmit interval is 0 milliseconds&lt;br /&gt;
  ND router advertisements are sent every 5 seconds&lt;br /&gt;
  ND router advertisements live for 1800 seconds&lt;br /&gt;
  ND advertised default router preference is High&lt;br /&gt;
  Hosts use DHCP to obtain routable addresses.&lt;br /&gt;
  Hosts use DHCP to obtain other configuration.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Well-known IPv6 multicast addressesAddress	Description&lt;br /&gt;
ff02::1	All nodes on the local network segment&lt;br /&gt;
ff02::2	All routers on the local network segment&lt;br /&gt;
ff02::5	OSPFv3 All SPF routers&lt;br /&gt;
ff02::6	OSPFv3 All DR routers&lt;br /&gt;
ff02::8	IS-IS for IPv6 routers&lt;br /&gt;
ff02::9	RIP routers&lt;br /&gt;
ff02::a	EIGRP routers&lt;br /&gt;
ff02::d	PIM routers&lt;br /&gt;
ff02::16	MLDv2 reports (defined in RFC 3810)&lt;br /&gt;
ff02::1:2	All DHCP servers and relay agents on the local network segment (defined in RFC 3315)&lt;br /&gt;
ff02::1:3	All LLMNR hosts on the local network segment (defined in RFC 4795)&lt;br /&gt;
ff05::1:3	All DHCP servers on the local network site (defined in RFC 3315)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] [[категория:Сети]] [[категория:Cisco]] [[категория:IPv6]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=IPv6_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=464</id>
		<title>IPv6 (обзор и примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=IPv6_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=464"/>
				<updated>2023-03-13T04:07:55Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Автоконфигурация */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Структура адреса IPv6==&lt;br /&gt;
&lt;br /&gt;
 2001:0DB8:3C4D:7777:0260:3EFF:FE15:9501 /64&lt;br /&gt;
 |-------------|----|------------------|&lt;br /&gt;
   global      subnet   interface-id&lt;br /&gt;
&lt;br /&gt;
При этом части глобального префикса имеют следующие порции&lt;br /&gt;
&lt;br /&gt;
200 - IANA&lt;br /&gt;
&lt;br /&gt;
10D - registrar&lt;br /&gt;
&lt;br /&gt;
B8 - ISP&lt;br /&gt;
&lt;br /&gt;
3C4D - ISP's customer/site&lt;br /&gt;
&lt;br /&gt;
Конечным пользователям рекомендуется использовать подсети /64, как стандарт.&lt;br /&gt;
&lt;br /&gt;
Мультикаст адреса начинаются на FF&lt;br /&gt;
 FF00::/8&lt;br /&gt;
&lt;br /&gt;
Лупбэк ipv6&lt;br /&gt;
 ::1&lt;br /&gt;
&lt;br /&gt;
Link-local адреса. Используются на линке для связи с соседним устройством. Дальше маршрутизатора не проходят.&lt;br /&gt;
 FE80::X /10&lt;br /&gt;
&lt;br /&gt;
Нулевой и последний адрес в сети можно использовать для хостов, т.к. в ipv6 нет броадкаста.&lt;br /&gt;
&lt;br /&gt;
Поскольку броадкаста нет, любой интерфейс ipv6 обязан зарегистрироваться в служебных мультикаст группах:&lt;br /&gt;
 FF02::1 - All Nodes&lt;br /&gt;
Адрес &amp;quot;все узлы&amp;quot; используется вместо броадкаста.&lt;br /&gt;
&lt;br /&gt;
 FF02:0:0:0:0:1:FF00::/104 - Solicited Node&lt;br /&gt;
к этому адресу справа дописывают 24 младших бита юникаст адреса интерфейса.&lt;br /&gt;
Адрес &amp;quot;запрошенный узел&amp;quot; создается для каждого юникаст адреса интерфейса и используется в процессе Neighbor Discovery.&lt;br /&gt;
&lt;br /&gt;
ULA адреса&lt;br /&gt;
FD00::/8 -  Unique Local Address&lt;br /&gt;
&lt;br /&gt;
== Scopes ==&lt;br /&gt;
&lt;br /&gt;
== NDP ==&lt;br /&gt;
Вместо ARP протокола используется Neighbor Discovery Protocol - NDP (RFC4861). При поиске мак-адреса хоста ipv6 запускает ICMPv6 Nighbor Solicitation сообщение. Удаленный узел на него отвечает. Результаты ND кладутся в кэш.&lt;br /&gt;
&lt;br /&gt;
== IPv6 на маршрутизаторах cisco IOS ==&lt;br /&gt;
&lt;br /&gt;
Включить ipv6 маршрутизацию (по-умолчанию выключена)&lt;br /&gt;
 ipv6 unicast-routing&lt;br /&gt;
&lt;br /&gt;
Задать ipv6-адрес на интерфейсе&lt;br /&gt;
int fa 0/0&lt;br /&gt;
   ipv6 address 2001:DB8:3C4D:7777::123/64&lt;br /&gt;
&lt;br /&gt;
Задать адрес в формате EUI-64&lt;br /&gt;
&lt;br /&gt;
 int fa 0/0&lt;br /&gt;
   ipv6 address 2001:DB8:3C4D:7777::/64 eui-64&lt;br /&gt;
В данном примере на интерфейс назначится глобально-маршрутизируемый адрес:&lt;br /&gt;
из пула IANA - 200, тестовый регистратор - 10D, провайдер B8, клиент - 3С4В, подсеть - 7777, длина префикса /64, идентификатор интерфейса будет назначен как EUI-64 (дополненный мак-адрес).&lt;br /&gt;
&lt;br /&gt;
В ipv6 нет броадкаст адресов, зато каждый ipv6 интерфейс автоматически участвует в нескольких мультикаст группах&lt;br /&gt;
 sh ipv6 int fa 0/0&lt;br /&gt;
&lt;br /&gt;
Просмотр таблицы ipv6 маршрутов&lt;br /&gt;
 sh ipv6 route&lt;br /&gt;
Как и в случае с ipv4, туда автоматом попадают directly connected сети.&lt;br /&gt;
&lt;br /&gt;
Пинг обычный&lt;br /&gt;
 ping 2001:DB8:3C4D:7777:260:3EFF:FE15:9501&lt;br /&gt;
&lt;br /&gt;
Посмотреть кэш соответствий IPv6-MAC можно командой&lt;br /&gt;
 sh ipv6 neighbor&lt;br /&gt;
&lt;br /&gt;
Статические маршруты прописываются, как обычно, в формате префикс-шлюз:&lt;br /&gt;
 ipv6 route 2001:DB8:3C4D:10::/64 2001:DB8:3C4D:7777:230:A3FF:FE60:8101&lt;br /&gt;
&lt;br /&gt;
== OSPFv3 ==&lt;br /&gt;
Для запуска OSPFv3 в ipv6 требуется включать ospf глобально и на интерфейсах. Router-id требуется указать вручную, если на маршрутизаторе нет ipv4 адресов.&lt;br /&gt;
 ipv6 router ospf 777&lt;br /&gt;
  router-id 7.7.7.0&lt;br /&gt;
  passive-interfase fa0/1&lt;br /&gt;
&lt;br /&gt;
Чтобы сеть анонсировалась, надо на интерфейсе указать принадлежность ospf процессу и area.&lt;br /&gt;
Чтобы с интерфейса не рассылались анонсы, этот интерфейс надо прописать как passive при настройке ospf процесса.&lt;br /&gt;
&lt;br /&gt;
 int fa 0/0&lt;br /&gt;
  ipv6 ospf 777 area 0&lt;br /&gt;
 int fa 0/1&lt;br /&gt;
  ipv6 ospf 777 area 0&lt;br /&gt;
&lt;br /&gt;
== DNS для IPv6==&lt;br /&gt;
&lt;br /&gt;
AAAA&lt;br /&gt;
&lt;br /&gt;
== Автоконфигурация ==&lt;br /&gt;
&lt;br /&gt;
 ipv6 general-prefix&lt;br /&gt;
&lt;br /&gt;
NDP&lt;br /&gt;
&lt;br /&gt;
DAD - Duplicate Address Detection&lt;br /&gt;
&lt;br /&gt;
SLAAC&lt;br /&gt;
&lt;br /&gt;
DHCPv6 - можно задать адрес, но нет концепции шлюза.  Можно выдать адрес DNS-сервера.&lt;br /&gt;
&lt;br /&gt;
DHCPv6-PD - делегирование префикса: клиент получает в свое распоряжение префикс из диапазона провайдера, провайдер автоматом устанавливает статический маршрут на этого клиента.&lt;br /&gt;
&lt;br /&gt;
RA - анонс маршрутизатора: указывает клиенту префикс сети, в котором он находится. Можно разрешить или запретить использование клиентом DHCPv6/SLAAC. Нельзя выдать адрес DNS-сервера.&lt;br /&gt;
&lt;br /&gt;
RD&lt;br /&gt;
&lt;br /&gt;
== Делегирование префиксов через DHCPv6-PD ==&lt;br /&gt;
&lt;br /&gt;
На раздающем роутере необходимо создать родительский пул адресов и указать размерность префиксов для выдачи клиентам:&lt;br /&gt;
&lt;br /&gt;
ISP(config)#ipv6 local pool GLOBAL_POOL 2001:DB8:1100::/40 48&lt;br /&gt;
&lt;br /&gt;
Создать пул с параметрами адресов, выдаваемых клиентам, сославшись на глобальный пул префиксов:&lt;br /&gt;
&lt;br /&gt;
ISP(config)#ipv6 dhcp pool CUSTOMERS&lt;br /&gt;
ISP(config-dhcpv6)#prefix-delegation pool GLOBAL_POOL&lt;br /&gt;
ISP(config-dhcpv6)#dns-server 2001:4860:4860::8888&lt;br /&gt;
&lt;br /&gt;
Привязать пул к интерфейсу, к которому подключены клиенты:&lt;br /&gt;
&lt;br /&gt;
ISP(config)#interface GigabitEthernet 0/1&lt;br /&gt;
ISP(config-if)#ipv6 address 2001:DB8:0:1::1/64&lt;br /&gt;
ISP(config-if)#ipv6 dhcp server CUSTOMERS&lt;br /&gt;
&lt;br /&gt;
На принимающем роутере, на аплинке необходимо настроить IP адрес (можно через автоконфигурацию) и указать, что требуется в клиентском режиме запросить по DHCP делегирование префикса. Указать под каким именем сохранить информацию о полученном префиксе:&lt;br /&gt;
&lt;br /&gt;
C1(config)#interface GigabitEthernet 0/1&lt;br /&gt;
C1(config-if)#ipv6 dhcp client pd ISP_PREFIX&lt;br /&gt;
C1(config-if)#ipv6 address autoconfig default&lt;br /&gt;
&lt;br /&gt;
На даунлинке в сторону клиентов указать из какого префикса настроить себе адрес. Указать правую половину адреса дл самого интерфейса, левая половина будет взята из делегированного нам префикса:&lt;br /&gt;
&lt;br /&gt;
C1(config)#interface GigabitEthernet 0/2&lt;br /&gt;
C1(config-if)#ipv6 address ISP_PREFIX ::1:0:0:0:1/64&lt;br /&gt;
&lt;br /&gt;
== Методы миграции на IPv6 ==&lt;br /&gt;
&lt;br /&gt;
Dual-stack&lt;br /&gt;
&lt;br /&gt;
tunnels&lt;br /&gt;
&lt;br /&gt;
NAT64, NAT46&lt;br /&gt;
&lt;br /&gt;
DNS64&lt;br /&gt;
&lt;br /&gt;
== sh ipv6 int vlan XX==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  IPv6 is enabled, link-local address is FE80::6262:6BFF:FEE2:5757&lt;br /&gt;
  No Virtual link-local address(es):&lt;br /&gt;
  Global unicast address(es):&lt;br /&gt;
    2022:BBB:88:2::1, subnet is 2022:BBB:88:2::/64&lt;br /&gt;
  Joined group address(es):&lt;br /&gt;
    FF02::1&lt;br /&gt;
    FF02::2&lt;br /&gt;
    FF02::1:2&lt;br /&gt;
    FF02::1:FF00:1&lt;br /&gt;
    FF02::1:FFE2:5757&lt;br /&gt;
  MTU is 1500 bytes&lt;br /&gt;
  ICMP error messages limited to one every 100 milliseconds&lt;br /&gt;
  ICMP redirects are enabled&lt;br /&gt;
  ICMP unreachables are sent&lt;br /&gt;
  Input features: Verify Unicast Reverse-Path, QoS classify, QoS actions&lt;br /&gt;
  Output features: HW Shortcut Installation&lt;br /&gt;
 IPv6 verify source reachable-via rx&lt;br /&gt;
   370 verification drop(s) (process), 1302114 (CEF)&lt;br /&gt;
   0 suppressed verification drop(s) (process), 0 (CEF)&lt;br /&gt;
  Service-policy input: police-outbound&lt;br /&gt;
  ND DAD is enabled, number of DAD attempts: 1&lt;br /&gt;
  ND reachable time is 30000 milliseconds&lt;br /&gt;
  ND advertised reachable time is 0 milliseconds&lt;br /&gt;
  ND advertised retransmit interval is 0 milliseconds&lt;br /&gt;
  ND router advertisements are sent every 5 seconds&lt;br /&gt;
  ND router advertisements live for 1800 seconds&lt;br /&gt;
  ND advertised default router preference is High&lt;br /&gt;
  Hosts use DHCP to obtain routable addresses.&lt;br /&gt;
  Hosts use DHCP to obtain other configuration.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Well-known IPv6 multicast addressesAddress	Description&lt;br /&gt;
ff02::1	All nodes on the local network segment&lt;br /&gt;
ff02::2	All routers on the local network segment&lt;br /&gt;
ff02::5	OSPFv3 All SPF routers&lt;br /&gt;
ff02::6	OSPFv3 All DR routers&lt;br /&gt;
ff02::8	IS-IS for IPv6 routers&lt;br /&gt;
ff02::9	RIP routers&lt;br /&gt;
ff02::a	EIGRP routers&lt;br /&gt;
ff02::d	PIM routers&lt;br /&gt;
ff02::16	MLDv2 reports (defined in RFC 3810)&lt;br /&gt;
ff02::1:2	All DHCP servers and relay agents on the local network segment (defined in RFC 3315)&lt;br /&gt;
ff02::1:3	All LLMNR hosts on the local network segment (defined in RFC 4795)&lt;br /&gt;
ff05::1:3	All DHCP servers on the local network site (defined in RFC 3315)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] [[категория:Сети]] [[категория:Cisco]] [[категория:IPv6]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=463</id>
		<title>NAT (обзор и примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=463"/>
				<updated>2023-02-27T03:44:46Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Настройка на Cisco IOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NAT != proxy ==&lt;br /&gt;
Это абсолютно разные технологии. Не путайте их.&lt;br /&gt;
&lt;br /&gt;
== Что такое NAT ==&lt;br /&gt;
&lt;br /&gt;
NAT - собирательный термин, обозначает технологию трансляции сетевых адресов и/или протоколов. NAT устройства производят над проходящими пакетами преобразования с заменой адресов, портов, протоколов и пр.&lt;br /&gt;
&lt;br /&gt;
Существуют более узкие понятие SNAT, DNAT, маскарадинг, PAT, NAT-PT и т.д.&lt;br /&gt;
&lt;br /&gt;
== зачем нужен NAT, как его используют ==&lt;br /&gt;
&lt;br /&gt;
Для вывода в интернет внутренней сети&lt;br /&gt;
* через пул внешних адресов&lt;br /&gt;
* через один внешний адрес&lt;br /&gt;
&lt;br /&gt;
Для подмены внешнего ip адреса другим (перенаправление трафика)&lt;br /&gt;
&lt;br /&gt;
Для балансировки нагрузки между одинаковыми серверами с разными ip адресами.&lt;br /&gt;
&lt;br /&gt;
Для объединения двух локальных сетей с пересекающейся внутренней адресацией.&lt;br /&gt;
&lt;br /&gt;
== как устроен NAT ==&lt;br /&gt;
&lt;br /&gt;
destination NAT&lt;br /&gt;
&lt;br /&gt;
source NAT&lt;br /&gt;
&lt;br /&gt;
s+d NAT (branch merging - evil!)&lt;br /&gt;
&lt;br /&gt;
PAT (overload)&lt;br /&gt;
&lt;br /&gt;
port-mapping, прокидывание портов&lt;br /&gt;
&lt;br /&gt;
== Преимущества и недостатки ==&lt;br /&gt;
&lt;br /&gt;
Несовместим с некоторыми протоколами. Конкретная реализация NAT должна поддерживать инспекцию требуемого протокола.&lt;br /&gt;
&lt;br /&gt;
NAT обладает свойством &amp;quot;экранировать&amp;quot; внутреннюю сеть от внешнего мира, но его нельзя использовать вместо межсетевого экрана.&lt;br /&gt;
&lt;br /&gt;
== Настройка на Cisco IOS ==&lt;br /&gt;
&lt;br /&gt;
Маршрутизаторы и межсетевые экраны Cisco поддерживают различные типы NAT, в зависимости от набора опций ПО. Наиболее используемым является метод NAT с привязкой внутренних локальных адресов в различные порты одного внешнего адреса (PAT в терминологии Cisco). &lt;br /&gt;
&lt;br /&gt;
Для настройки NAT на маршрутизаторе требуется:&lt;br /&gt;
* Определить трафик, который необходимо транслировать (при помощи access-list’ов или route-map);&lt;br /&gt;
&lt;br /&gt;
 ip access-list extended LOCAL&lt;br /&gt;
 permit ip 10.0.0.0 0.255.255.255 any&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 route-map INT1&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/1.1&lt;br /&gt;
	Аксесс-лист LOCAL выбирает весь трафик из 10 сети.&lt;br /&gt;
&lt;br /&gt;
Роут-мап INT1 выбирает трафик аксесс-листа LOCAL, выходящий через сабинтерфейс Fa 0/1.1 &lt;br /&gt;
&lt;br /&gt;
* Определить на какие внешние адреса проводить трансляцию. Выбрать пул внешних адресов. Для PAT достаточно одного адреса.&lt;br /&gt;
&lt;br /&gt;
 ip nat pool GLOBAL 212.192.64.74 212.192.64.74 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Задание пула внешних адресов с именем  GLOBAL. В пуле всего один адрес.&lt;br /&gt;
&lt;br /&gt;
* Включить NAT для выбранных внутренних и внешних адресов.&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source route-map INT1 pool GLOBAL overload&lt;br /&gt;
&lt;br /&gt;
Включение NAT для трансляции адресов источника на внутреннем интерфейсе.&lt;br /&gt;
Будет транслироваться только трафик попадающий под условия роут-мапа INT1.&lt;br /&gt;
Внешний адрес будет браться из пула GLOBAL.&lt;br /&gt;
Ключевое слово overload активирует трансляцию портов транспортного уровня помимо IP-адресов (Port Address Translation).&lt;br /&gt;
* Если требуется, прописать публикацию сервиса:&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source static tcp 10.0.0.1 23 212.192.64.74 23 extend&lt;br /&gt;
&lt;br /&gt;
Статическое «прокидывание порта» или «публикация сервиса».&lt;br /&gt;
В трафике идущем внутрь на адрес 212.192.64.74 на порт tcp 23 будет заменен адресат на адрес 10.0.0.1 и порт 23. &lt;br /&gt;
Ключевое слово extended разрешает &amp;quot;растягивать&amp;quot; статическую трансляцию на несколько внешних интерфейсов одновременно, чтобы внутренний сервис стал доступен через несколько внешних.&lt;br /&gt;
&lt;br /&gt;
* Назначить внутренние и внешние интерфейсы.&lt;br /&gt;
 interface FastEthernet0/0&lt;br /&gt;
 ip nat inside&lt;br /&gt;
&lt;br /&gt;
 interface FastEthernet0/1.1&lt;br /&gt;
 ip nat outside&lt;br /&gt;
	 Интерфейс Fa 0/0 назначен внутренним для NAT.&lt;br /&gt;
&lt;br /&gt;
Сабинтерфейс Fa 0/1.1 назначен внешним для NAT.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Отладка и диагностика:&lt;br /&gt;
 sh ip nat translations   - просмотр таблицы текущих трансляций;&lt;br /&gt;
 clear ip nat translations - удалить все текущие трансляции;&lt;br /&gt;
 debug ip nat – включение отладочных сообщений (undebug all – выключение отладки).&lt;br /&gt;
&lt;br /&gt;
== Настройка на Cisco IOS через ACL ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0&lt;br /&gt;
ip address 10.0.0.1 255.255.255.0&lt;br /&gt;
ip nat inside&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
ip address 212.192.64.74 255.255.255.0&lt;br /&gt;
ip nat outside&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
ip nat inside source list LAN interface FastEthernet0/1 overload&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 212.192.64.1 &lt;br /&gt;
!&lt;br /&gt;
ip access-list extended LAN&lt;br /&gt;
permit ip 10.0.0.0 0.0.0.255 any&lt;br /&gt;
!&lt;br /&gt;
ip nat inside source static tcp 10.0.0.1 23 212.192.64.74 23 extend&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
Приведем несколько демонстрационных примеров для эмулятора cisco Packet Tracer.&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода небольшой сети в интернет через пул внешних адресов&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_SNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода сети в интернет через один внешний адрес&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_PAT.pkt&lt;br /&gt;
&lt;br /&gt;
Схема объединения сетей с пересекающейся адресацией&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_SDNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Инструкция по cisco IOS NAT&lt;br /&gt;
http://www.cisco.com/en/US/technologies/tk648/tk361/tk438/technologies_white_paper09186a0080091cb9.html&lt;br /&gt;
&lt;br /&gt;
== Порядок работы NAT ==&lt;br /&gt;
Порядок применения правил NAT различается у различных производителей и на различном оборудовании. Приведем порядок применения политик NAT для маршрутизаторов на cisco IOS:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside-to-Outside	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET (Cisco Encryption Technology) or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
NAT inside to outside (local to global translation)&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect (Context-based Access Control (CBAC))&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outside-to-Inside&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
NAT outside to inside (global to local translation)&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect CBAC&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Интернет-канал от одного провайдера через NAT ==&lt;br /&gt;
Простая схема реализации NAT с одним провайдером&lt;br /&gt;
&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp_no_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
==  Резервирование интернет-канала от двух провайдеров при помощи NAT, ip sla ==&lt;br /&gt;
&lt;br /&gt;
Дано: мы получаем для нескольких компьютеров интернет от провайдера ISP1. Он выделили нам адрес 212.192.88.150.&lt;br /&gt;
Выход в интернет организован с этого ip адреса через NAT.&lt;br /&gt;
&lt;br /&gt;
Задача: подключить резервного провайдера - ISP2. Он выделит нам адрес 212.192.90.150.&lt;br /&gt;
Организовать балансировку трафика: web-трафик пускать через ISP1, прочий трафик - через ISP2.&lt;br /&gt;
В случае отказа одного из провайдеров - пускать весь трафик по живому каналу.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В чем сложность задачи?&lt;br /&gt;
clear ip nat translations?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Схема ===&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
=== Конфиг ===&lt;br /&gt;
&lt;br /&gt;
1 clear ip nat translations *&lt;br /&gt;
&lt;br /&gt;
Найден, оттестирован такой кусок EEM.&lt;br /&gt;
Не на всех версиях IOS  генерируется событие.. Надо уточнить.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
event manager applet NAT-TRACK&lt;br /&gt;
event syslog pattern &amp;quot;TRACKING-5-STATE&amp;quot;&lt;br /&gt;
action 0.1 cli command &amp;quot;enable&amp;quot;&lt;br /&gt;
action 0.2 wait 3&lt;br /&gt;
action 0.3 cli command &amp;quot;clear ip nat translation *&amp;quot;&lt;br /&gt;
action 0.4 syslog msg &amp;quot;NAT translation cleared after track state change&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2 При падении интерфейса на провайдера, велики шансы, что его шлюз будет пинговаться через второго&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
username ИМЯ password 0 ПАРОЛЬ&lt;br /&gt;
enable secret 0 ПАРОЛЬКОНФИГА&lt;br /&gt;
!&lt;br /&gt;
! контроль входа на маршрутизатор&lt;br /&gt;
line vty 0 4&lt;br /&gt;
 login local&lt;br /&gt;
!&lt;br /&gt;
! ДХЦП&lt;br /&gt;
ip dhcp pool LAN&lt;br /&gt;
   network ВнутрСеть Маска&lt;br /&gt;
   default-router Шлюз&lt;br /&gt;
   dns-server 10.11.12.13&lt;br /&gt;
! DNS - фиктивный придумали - НЕ из нашей локальной сети&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на адрес шлюза провайдера-1&lt;br /&gt;
! Ждать ответа 100 мс&lt;br /&gt;
! Пинговать с частотой 1 секунда&lt;br /&gt;
ip sla monitor 1&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров1 source-interface ИнтерфейсНаПров1&lt;br /&gt;
 timeout 100&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на провайдера-2&lt;br /&gt;
ip sla monitor 2&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров2 source-interface ИнтерфейсНаПров2&lt;br /&gt;
 timeout 50&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Запуск пинговалок 1 и 2, сейчас и навсегда&lt;br /&gt;
ip sla monitor schedule 1 life forever start-time now&lt;br /&gt;
ip sla monitor schedule 2 life forever start-time now&lt;br /&gt;
!&lt;br /&gt;
! Трэки 10 и 20 - отслеживание состояния пинговалок&lt;br /&gt;
! Реагирует на состояние Down или Up с задержкой 1 сек.&lt;br /&gt;
track 10 rtr 1 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
track 20 rtr 2 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Маршруты на все внешние сети на обоих провайдеров&lt;br /&gt;
! Маршруты привязаны к трэкам&lt;br /&gt;
! и будут активироваться только если трэк в состоянии Up&lt;br /&gt;
! т.е. если шлюз на соответствующего провайдера доступен&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров1 track 10&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров2 track 20&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
int fa 0/0&lt;br /&gt;
  no shut&lt;br /&gt;
!&lt;br /&gt;
! Саб-интерфейсы в сторону внешних провайдеров&lt;br /&gt;
! помечаются как outside для NAT&lt;br /&gt;
interface FastEthernet0/0.1&lt;br /&gt;
 description ISP1&lt;br /&gt;
 encaps dot1q НомерВланПров1&lt;br /&gt;
 ip address ipНаПров1 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0.2&lt;br /&gt;
 description ISP2&lt;br /&gt;
 encapsulation dot1Q НомерВланПров2&lt;br /&gt;
 ip address ipНаПров2 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
! Интерфейс на внутр сеть&lt;br /&gt;
! помечается как inside для NAT&lt;br /&gt;
! Привязывается политика маршрутизации PBR&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
 ip address ipНаВнутрСеть маска&lt;br /&gt;
 ip nat inside&lt;br /&gt;
 ip policy route-map PBR&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
! Аксесс-листы из внутр сети наружу&lt;br /&gt;
! На веб-трафик и на все остальное&lt;br /&gt;
ip access-list extended LOCAL&lt;br /&gt;
 permit ip внутрСеть any&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended WEB&lt;br /&gt;
 permit tcp внутрСеть any eq www&lt;br /&gt;
 permit tcp внутрСеть any eq 443&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended ALL&lt;br /&gt;
 permit ip any any&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! хитрый рут-мап PBR&lt;br /&gt;
! Если трафик из локалки на Веб&lt;br /&gt;
!    то назначить ему шлюзом первого провайдера&lt;br /&gt;
! Иначе, прочему трафику из локалки&lt;br /&gt;
!    назначить шлюзом второго провайдера.&lt;br /&gt;
! При назначении шлюза проверяются Трэки&lt;br /&gt;
route-map PBR permit 10&lt;br /&gt;
 match ip address WEB&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров1 1 track 10&lt;br /&gt;
!&lt;br /&gt;
route-map PBR permit 20&lt;br /&gt;
 match ip address ALL&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров2 1 track 20&lt;br /&gt;
!&lt;br /&gt;
!  &lt;br /&gt;
!  хитрый рут-мап ISP1&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.1&lt;br /&gt;
route-map ISP1 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.1&lt;br /&gt;
!&lt;br /&gt;
!  хитрый рут-мап ISP2&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.2&lt;br /&gt;
route-map ISP2 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.2&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Наконец, NAT ;-)&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки в первого провайдера Натить через первый интерфейс&lt;br /&gt;
ip nat inside source route-map ISP1 interface FastEthernet0/0.1 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки во второго провайдера Натить через второй интерфейс&lt;br /&gt;
ip nat inside source route-map ISP2 interface FastEthernet0/0.2 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик на фиктивный ДНС переНатить на Гугл-ДНС&lt;br /&gt;
!          no-alias - не создавать arp-proxy-alias для внешнего ip в статик-трансляции&lt;br /&gt;
ip nat outside source static 8.8.8.8 10.11.12.13 no-alias&lt;br /&gt;
!&lt;br /&gt;
! проброс внутреннего порта 3389 на внешний порт 1111&lt;br /&gt;
!          extendable - разрешает делать много записей для одного внутрХоста&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip1 1111 extendable&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip2 1111 extendable&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Разное ==&lt;br /&gt;
&lt;br /&gt;
TTL&lt;br /&gt;
&lt;br /&gt;
CGN (carrier grade nat) с особым пулом приватных адресов &lt;br /&gt;
&lt;br /&gt;
NAT как ALG (application layer gateway), (plain text protocols e.g. SIP)&lt;br /&gt;
NAT - helpers&lt;br /&gt;
&lt;br /&gt;
linux-style masquerade, mikrotik netmap&lt;br /&gt;
&lt;br /&gt;
NAT64, DNS64&lt;br /&gt;
&lt;br /&gt;
IPsec nat traversal&lt;br /&gt;
&lt;br /&gt;
uPNP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[Категория:Сети]]&lt;br /&gt;
[[Category:Cisco]] [[Category:NAT]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=462</id>
		<title>NAT (обзор и примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=462"/>
				<updated>2023-02-27T03:41:19Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Настройка на Cisco IOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NAT != proxy ==&lt;br /&gt;
Это абсолютно разные технологии. Не путайте их.&lt;br /&gt;
&lt;br /&gt;
== Что такое NAT ==&lt;br /&gt;
&lt;br /&gt;
NAT - собирательный термин, обозначает технологию трансляции сетевых адресов и/или протоколов. NAT устройства производят над проходящими пакетами преобразования с заменой адресов, портов, протоколов и пр.&lt;br /&gt;
&lt;br /&gt;
Существуют более узкие понятие SNAT, DNAT, маскарадинг, PAT, NAT-PT и т.д.&lt;br /&gt;
&lt;br /&gt;
== зачем нужен NAT, как его используют ==&lt;br /&gt;
&lt;br /&gt;
Для вывода в интернет внутренней сети&lt;br /&gt;
* через пул внешних адресов&lt;br /&gt;
* через один внешний адрес&lt;br /&gt;
&lt;br /&gt;
Для подмены внешнего ip адреса другим (перенаправление трафика)&lt;br /&gt;
&lt;br /&gt;
Для балансировки нагрузки между одинаковыми серверами с разными ip адресами.&lt;br /&gt;
&lt;br /&gt;
Для объединения двух локальных сетей с пересекающейся внутренней адресацией.&lt;br /&gt;
&lt;br /&gt;
== как устроен NAT ==&lt;br /&gt;
&lt;br /&gt;
destination NAT&lt;br /&gt;
&lt;br /&gt;
source NAT&lt;br /&gt;
&lt;br /&gt;
s+d NAT (branch merging - evil!)&lt;br /&gt;
&lt;br /&gt;
PAT (overload)&lt;br /&gt;
&lt;br /&gt;
port-mapping, прокидывание портов&lt;br /&gt;
&lt;br /&gt;
== Преимущества и недостатки ==&lt;br /&gt;
&lt;br /&gt;
Несовместим с некоторыми протоколами. Конкретная реализация NAT должна поддерживать инспекцию требуемого протокола.&lt;br /&gt;
&lt;br /&gt;
NAT обладает свойством &amp;quot;экранировать&amp;quot; внутреннюю сеть от внешнего мира, но его нельзя использовать вместо межсетевого экрана.&lt;br /&gt;
&lt;br /&gt;
== Настройка на Cisco IOS ==&lt;br /&gt;
&lt;br /&gt;
Маршрутизаторы и межсетевые экраны Cisco поддерживают различные типы NAT, в зависимости от набора опций ПО. Наиболее используемым является метод NAT с привязкой внутренних локальных адресов в различные порты одного внешнего адреса (PAT в терминологии Cisco). &lt;br /&gt;
&lt;br /&gt;
Для настройки NAT на маршрутизаторе требуется:&lt;br /&gt;
o	Определить трафик, который необходимо транслировать (при помощи access-list’ов или route-map);&lt;br /&gt;
&lt;br /&gt;
 ip access-list extended LOCAL&lt;br /&gt;
 permit ip 10.0.0.0 0.255.255.255 any&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 route-map INT1&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/1.1&lt;br /&gt;
	Аксесс-лист LOCAL выбирает весь трафик из 10 сети.&lt;br /&gt;
&lt;br /&gt;
Роут-мап INT1 выбирает трафик аксесс-листа LOCAL, выходящий через сабинтерфейс Fa 0/1.1 &lt;br /&gt;
&lt;br /&gt;
o	Определить на какие внешние адреса проводить трансляцию. Выбрать пул внешних адресов. Для PAT достаточно одного адреса.&lt;br /&gt;
&lt;br /&gt;
 ip nat pool GLOBAL 212.192.64.74 212.192.64.74 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Задание пула внешних адресов с именем  GLOBAL. В пуле всего один адрес.&lt;br /&gt;
&lt;br /&gt;
o	Включить NAT для выбранных внутренних и внешних адресов.&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source route-map INT1 pool GLOBAL overload&lt;br /&gt;
&lt;br /&gt;
Включение NAT для трансляции адресов источника на внутреннем интерфейсе.&lt;br /&gt;
Будет транслироваться только трафик попадающий под условия роут-мапа INT1.&lt;br /&gt;
Внешний адрес будет браться из пула GLOBAL.&lt;br /&gt;
Ключевое слово overload активирует трансляцию портов транспортного уровня помимо IP-адресов (Port Address Translation).&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source static tcp 10.0.0.1 23 212.192.64.74 23 extend&lt;br /&gt;
&lt;br /&gt;
Статическое «прокидывание порта» или «публикация сервиса».&lt;br /&gt;
В трафике идущем внутрь на адрес 212.192.64.74 на порт tcp 23 будет заменен адресат на адрес 10.0.0.1 и порт 23. &lt;br /&gt;
Ключевое слово extended разрешает &amp;quot;растягивать&amp;quot; статическую трансляцию на несколько внешних интерфейсов одновременно, чтобы внутренний сервис стал доступен через несколько внешних.&lt;br /&gt;
&lt;br /&gt;
o	Назначить внутренние и внешние интерфейсы.&lt;br /&gt;
 interface FastEthernet0/0&lt;br /&gt;
 ip nat inside&lt;br /&gt;
&lt;br /&gt;
 interface FastEthernet0/1.1&lt;br /&gt;
 ip nat outside&lt;br /&gt;
	 Интерфейс Fa 0/0 назначен внутренним для NAT.&lt;br /&gt;
&lt;br /&gt;
Сабинтерфейс Fa 0/1.1 назначен внешним для NAT.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
o	Отладка и диагностика:&lt;br /&gt;
 sh ip nat translations   - просмотр таблицы текущих трансляций;&lt;br /&gt;
 clear ip nat translations - удалить все текущие трансляции;&lt;br /&gt;
 debug ip nat – включение отладочных сообщений (undebug all – выключение отладки).&lt;br /&gt;
&lt;br /&gt;
== Настройка на Cisco IOS через ACL ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0&lt;br /&gt;
ip address 10.0.0.1 255.255.255.0&lt;br /&gt;
ip nat inside&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
ip address 212.192.64.74 255.255.255.0&lt;br /&gt;
ip nat outside&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
ip nat inside source list LAN interface FastEthernet0/1 overload&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 212.192.64.1 &lt;br /&gt;
!&lt;br /&gt;
ip access-list extended LAN&lt;br /&gt;
permit ip 10.0.0.0 0.0.0.255 any&lt;br /&gt;
!&lt;br /&gt;
ip nat inside source static tcp 10.0.0.1 23 212.192.64.74 23 extend&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
Приведем несколько демонстрационных примеров для эмулятора cisco Packet Tracer.&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода небольшой сети в интернет через пул внешних адресов&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_SNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода сети в интернет через один внешний адрес&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_PAT.pkt&lt;br /&gt;
&lt;br /&gt;
Схема объединения сетей с пересекающейся адресацией&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_SDNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Инструкция по cisco IOS NAT&lt;br /&gt;
http://www.cisco.com/en/US/technologies/tk648/tk361/tk438/technologies_white_paper09186a0080091cb9.html&lt;br /&gt;
&lt;br /&gt;
== Порядок работы NAT ==&lt;br /&gt;
Порядок применения правил NAT различается у различных производителей и на различном оборудовании. Приведем порядок применения политик NAT для маршрутизаторов на cisco IOS:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside-to-Outside	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET (Cisco Encryption Technology) or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
NAT inside to outside (local to global translation)&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect (Context-based Access Control (CBAC))&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outside-to-Inside&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
NAT outside to inside (global to local translation)&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect CBAC&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Интернет-канал от одного провайдера через NAT ==&lt;br /&gt;
Простая схема реализации NAT с одним провайдером&lt;br /&gt;
&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp_no_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
==  Резервирование интернет-канала от двух провайдеров при помощи NAT, ip sla ==&lt;br /&gt;
&lt;br /&gt;
Дано: мы получаем для нескольких компьютеров интернет от провайдера ISP1. Он выделили нам адрес 212.192.88.150.&lt;br /&gt;
Выход в интернет организован с этого ip адреса через NAT.&lt;br /&gt;
&lt;br /&gt;
Задача: подключить резервного провайдера - ISP2. Он выделит нам адрес 212.192.90.150.&lt;br /&gt;
Организовать балансировку трафика: web-трафик пускать через ISP1, прочий трафик - через ISP2.&lt;br /&gt;
В случае отказа одного из провайдеров - пускать весь трафик по живому каналу.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В чем сложность задачи?&lt;br /&gt;
clear ip nat translations?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Схема ===&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
=== Конфиг ===&lt;br /&gt;
&lt;br /&gt;
1 clear ip nat translations *&lt;br /&gt;
&lt;br /&gt;
Найден, оттестирован такой кусок EEM.&lt;br /&gt;
Не на всех версиях IOS  генерируется событие.. Надо уточнить.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
event manager applet NAT-TRACK&lt;br /&gt;
event syslog pattern &amp;quot;TRACKING-5-STATE&amp;quot;&lt;br /&gt;
action 0.1 cli command &amp;quot;enable&amp;quot;&lt;br /&gt;
action 0.2 wait 3&lt;br /&gt;
action 0.3 cli command &amp;quot;clear ip nat translation *&amp;quot;&lt;br /&gt;
action 0.4 syslog msg &amp;quot;NAT translation cleared after track state change&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2 При падении интерфейса на провайдера, велики шансы, что его шлюз будет пинговаться через второго&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
username ИМЯ password 0 ПАРОЛЬ&lt;br /&gt;
enable secret 0 ПАРОЛЬКОНФИГА&lt;br /&gt;
!&lt;br /&gt;
! контроль входа на маршрутизатор&lt;br /&gt;
line vty 0 4&lt;br /&gt;
 login local&lt;br /&gt;
!&lt;br /&gt;
! ДХЦП&lt;br /&gt;
ip dhcp pool LAN&lt;br /&gt;
   network ВнутрСеть Маска&lt;br /&gt;
   default-router Шлюз&lt;br /&gt;
   dns-server 10.11.12.13&lt;br /&gt;
! DNS - фиктивный придумали - НЕ из нашей локальной сети&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на адрес шлюза провайдера-1&lt;br /&gt;
! Ждать ответа 100 мс&lt;br /&gt;
! Пинговать с частотой 1 секунда&lt;br /&gt;
ip sla monitor 1&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров1 source-interface ИнтерфейсНаПров1&lt;br /&gt;
 timeout 100&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на провайдера-2&lt;br /&gt;
ip sla monitor 2&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров2 source-interface ИнтерфейсНаПров2&lt;br /&gt;
 timeout 50&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Запуск пинговалок 1 и 2, сейчас и навсегда&lt;br /&gt;
ip sla monitor schedule 1 life forever start-time now&lt;br /&gt;
ip sla monitor schedule 2 life forever start-time now&lt;br /&gt;
!&lt;br /&gt;
! Трэки 10 и 20 - отслеживание состояния пинговалок&lt;br /&gt;
! Реагирует на состояние Down или Up с задержкой 1 сек.&lt;br /&gt;
track 10 rtr 1 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
track 20 rtr 2 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Маршруты на все внешние сети на обоих провайдеров&lt;br /&gt;
! Маршруты привязаны к трэкам&lt;br /&gt;
! и будут активироваться только если трэк в состоянии Up&lt;br /&gt;
! т.е. если шлюз на соответствующего провайдера доступен&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров1 track 10&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров2 track 20&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
int fa 0/0&lt;br /&gt;
  no shut&lt;br /&gt;
!&lt;br /&gt;
! Саб-интерфейсы в сторону внешних провайдеров&lt;br /&gt;
! помечаются как outside для NAT&lt;br /&gt;
interface FastEthernet0/0.1&lt;br /&gt;
 description ISP1&lt;br /&gt;
 encaps dot1q НомерВланПров1&lt;br /&gt;
 ip address ipНаПров1 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0.2&lt;br /&gt;
 description ISP2&lt;br /&gt;
 encapsulation dot1Q НомерВланПров2&lt;br /&gt;
 ip address ipНаПров2 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
! Интерфейс на внутр сеть&lt;br /&gt;
! помечается как inside для NAT&lt;br /&gt;
! Привязывается политика маршрутизации PBR&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
 ip address ipНаВнутрСеть маска&lt;br /&gt;
 ip nat inside&lt;br /&gt;
 ip policy route-map PBR&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
! Аксесс-листы из внутр сети наружу&lt;br /&gt;
! На веб-трафик и на все остальное&lt;br /&gt;
ip access-list extended LOCAL&lt;br /&gt;
 permit ip внутрСеть any&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended WEB&lt;br /&gt;
 permit tcp внутрСеть any eq www&lt;br /&gt;
 permit tcp внутрСеть any eq 443&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended ALL&lt;br /&gt;
 permit ip any any&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! хитрый рут-мап PBR&lt;br /&gt;
! Если трафик из локалки на Веб&lt;br /&gt;
!    то назначить ему шлюзом первого провайдера&lt;br /&gt;
! Иначе, прочему трафику из локалки&lt;br /&gt;
!    назначить шлюзом второго провайдера.&lt;br /&gt;
! При назначении шлюза проверяются Трэки&lt;br /&gt;
route-map PBR permit 10&lt;br /&gt;
 match ip address WEB&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров1 1 track 10&lt;br /&gt;
!&lt;br /&gt;
route-map PBR permit 20&lt;br /&gt;
 match ip address ALL&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров2 1 track 20&lt;br /&gt;
!&lt;br /&gt;
!  &lt;br /&gt;
!  хитрый рут-мап ISP1&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.1&lt;br /&gt;
route-map ISP1 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.1&lt;br /&gt;
!&lt;br /&gt;
!  хитрый рут-мап ISP2&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.2&lt;br /&gt;
route-map ISP2 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.2&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Наконец, NAT ;-)&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки в первого провайдера Натить через первый интерфейс&lt;br /&gt;
ip nat inside source route-map ISP1 interface FastEthernet0/0.1 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки во второго провайдера Натить через второй интерфейс&lt;br /&gt;
ip nat inside source route-map ISP2 interface FastEthernet0/0.2 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик на фиктивный ДНС переНатить на Гугл-ДНС&lt;br /&gt;
!          no-alias - не создавать arp-proxy-alias для внешнего ip в статик-трансляции&lt;br /&gt;
ip nat outside source static 8.8.8.8 10.11.12.13 no-alias&lt;br /&gt;
!&lt;br /&gt;
! проброс внутреннего порта 3389 на внешний порт 1111&lt;br /&gt;
!          extendable - разрешает делать много записей для одного внутрХоста&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip1 1111 extendable&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip2 1111 extendable&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Разное ==&lt;br /&gt;
&lt;br /&gt;
TTL&lt;br /&gt;
&lt;br /&gt;
CGN (carrier grade nat) с особым пулом приватных адресов &lt;br /&gt;
&lt;br /&gt;
NAT как ALG (application layer gateway), (plain text protocols e.g. SIP)&lt;br /&gt;
NAT - helpers&lt;br /&gt;
&lt;br /&gt;
linux-style masquerade, mikrotik netmap&lt;br /&gt;
&lt;br /&gt;
NAT64, DNS64&lt;br /&gt;
&lt;br /&gt;
IPsec nat traversal&lt;br /&gt;
&lt;br /&gt;
uPNP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[Категория:Сети]]&lt;br /&gt;
[[Category:Cisco]] [[Category:NAT]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=461</id>
		<title>NAT (обзор и примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=461"/>
				<updated>2022-11-23T05:44:09Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Настройка на Cisco IOS через ACL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NAT != proxy ==&lt;br /&gt;
Это абсолютно разные технологии. Не путайте их.&lt;br /&gt;
&lt;br /&gt;
== Что такое NAT ==&lt;br /&gt;
&lt;br /&gt;
NAT - собирательный термин, обозначает технологию трансляции сетевых адресов и/или протоколов. NAT устройства производят над проходящими пакетами преобразования с заменой адресов, портов, протоколов и пр.&lt;br /&gt;
&lt;br /&gt;
Существуют более узкие понятие SNAT, DNAT, маскарадинг, PAT, NAT-PT и т.д.&lt;br /&gt;
&lt;br /&gt;
== зачем нужен NAT, как его используют ==&lt;br /&gt;
&lt;br /&gt;
Для вывода в интернет внутренней сети&lt;br /&gt;
* через пул внешних адресов&lt;br /&gt;
* через один внешний адрес&lt;br /&gt;
&lt;br /&gt;
Для подмены внешнего ip адреса другим (перенаправление трафика)&lt;br /&gt;
&lt;br /&gt;
Для балансировки нагрузки между одинаковыми серверами с разными ip адресами.&lt;br /&gt;
&lt;br /&gt;
Для объединения двух локальных сетей с пересекающейся внутренней адресацией.&lt;br /&gt;
&lt;br /&gt;
== как устроен NAT ==&lt;br /&gt;
&lt;br /&gt;
destination NAT&lt;br /&gt;
&lt;br /&gt;
source NAT&lt;br /&gt;
&lt;br /&gt;
s+d NAT (branch merging - evil!)&lt;br /&gt;
&lt;br /&gt;
PAT (overload)&lt;br /&gt;
&lt;br /&gt;
port-mapping, прокидывание портов&lt;br /&gt;
&lt;br /&gt;
== Преимущества и недостатки ==&lt;br /&gt;
&lt;br /&gt;
Несовместим с некоторыми протоколами. Конкретная реализация NAT должна поддерживать инспекцию требуемого протокола.&lt;br /&gt;
&lt;br /&gt;
NAT обладает свойством &amp;quot;экранировать&amp;quot; внутреннюю сеть от внешнего мира, но его нельзя использовать вместо межсетевого экрана.&lt;br /&gt;
&lt;br /&gt;
== Настройка на Cisco IOS ==&lt;br /&gt;
&lt;br /&gt;
Маршрутизаторы и межсетевые экраны Cisco поддерживают различные типы NAT, в зависимости от набора опций ПО. Наиболее используемым является метод NAT с привязкой внутренних локальных адресов в различные порты одного внешнего адреса (PAT в терминологии Cisco). &lt;br /&gt;
&lt;br /&gt;
Для настройки NAT на маршрутизаторе требуется:&lt;br /&gt;
o	Определить трафик, который необходимо транслировать (при помощи access-list’ов или route-map);&lt;br /&gt;
&lt;br /&gt;
 ip access-list extended LOCAL&lt;br /&gt;
 permit ip 10.0.0.0 0.255.255.255 any&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 route-map INT1&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/1.1&lt;br /&gt;
	Аксесс-лист LOCAL выбирает весь трафик из 10 сети.&lt;br /&gt;
&lt;br /&gt;
Роут-мап INT1 выбирает трафик аксесс-листа LOCAL, выходящий через сабинтерфейс Fa 0/1.1 &lt;br /&gt;
&lt;br /&gt;
o	Определить на какие внешние адреса проводить трансляцию. Выбрать пул внешних адресов. Для PAT достаточно одного адреса.&lt;br /&gt;
&lt;br /&gt;
 ip nat pool GLOBAL 212.192.64.74 212.192.64.74 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Задание пула внешних адресов с именем  GLOBAL. В пуле всего один адрес.&lt;br /&gt;
&lt;br /&gt;
o	Включить NAT для выбранных внутренних и внешних адресов.&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source route-map INT1 pool GLOBAL overload&lt;br /&gt;
&lt;br /&gt;
Включение NAT для трансляции адресов источника на внутреннем интерфейсе.&lt;br /&gt;
Будет транслироваться только трафик попадающий под условия роут-мапа INT1.&lt;br /&gt;
Внешний адрес будет браться из пула GLOBAL.&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source static tcp 10.0.0.1 23 212.192.64.74 23 extend&lt;br /&gt;
&lt;br /&gt;
Статическое «прокидывание порта» или «публикация сервиса».&lt;br /&gt;
В трафике идущем внутрь на адрес 212.192.64.74 на порт tcp 23 будет заменен адресат на адрес 10.0.0.1 и порт 23. &lt;br /&gt;
&lt;br /&gt;
o	Назначить внутренние и внешние интерфейсы.&lt;br /&gt;
 interface FastEthernet0/0&lt;br /&gt;
 ip nat inside&lt;br /&gt;
&lt;br /&gt;
 interface FastEthernet0/1.1&lt;br /&gt;
 ip nat outside&lt;br /&gt;
	 Интерфейс Fa 0/0 назначен внутренним для NAT.&lt;br /&gt;
&lt;br /&gt;
Сабинтерфейс Fa 0/1.1 назначен внешним для NAT.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
o	Отладка и диагностика:&lt;br /&gt;
 sh ip nat translations   - просмотр таблицы текущих трансляций;&lt;br /&gt;
 clear ip nat translations - удалить все текущие трансляции;&lt;br /&gt;
 debug ip nat – включение отладочных сообщений (undebug all – выключение отладки).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Настройка на Cisco IOS через ACL ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0&lt;br /&gt;
ip address 10.0.0.1 255.255.255.0&lt;br /&gt;
ip nat inside&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
ip address 212.192.64.74 255.255.255.0&lt;br /&gt;
ip nat outside&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
ip nat inside source list LAN interface FastEthernet0/1 overload&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 212.192.64.1 &lt;br /&gt;
!&lt;br /&gt;
ip access-list extended LAN&lt;br /&gt;
permit ip 10.0.0.0 0.0.0.255 any&lt;br /&gt;
!&lt;br /&gt;
ip nat inside source static tcp 10.0.0.1 23 212.192.64.74 23 extend&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
Приведем несколько демонстрационных примеров для эмулятора cisco Packet Tracer.&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода небольшой сети в интернет через пул внешних адресов&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_SNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода сети в интернет через один внешний адрес&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_PAT.pkt&lt;br /&gt;
&lt;br /&gt;
Схема объединения сетей с пересекающейся адресацией&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_SDNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Инструкция по cisco IOS NAT&lt;br /&gt;
http://www.cisco.com/en/US/technologies/tk648/tk361/tk438/technologies_white_paper09186a0080091cb9.html&lt;br /&gt;
&lt;br /&gt;
== Порядок работы NAT ==&lt;br /&gt;
Порядок применения правил NAT различается у различных производителей и на различном оборудовании. Приведем порядок применения политик NAT для маршрутизаторов на cisco IOS:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside-to-Outside	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET (Cisco Encryption Technology) or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
NAT inside to outside (local to global translation)&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect (Context-based Access Control (CBAC))&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outside-to-Inside&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
NAT outside to inside (global to local translation)&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect CBAC&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Интернет-канал от одного провайдера через NAT ==&lt;br /&gt;
Простая схема реализации NAT с одним провайдером&lt;br /&gt;
&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp_no_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
==  Резервирование интернет-канала от двух провайдеров при помощи NAT, ip sla ==&lt;br /&gt;
&lt;br /&gt;
Дано: мы получаем для нескольких компьютеров интернет от провайдера ISP1. Он выделили нам адрес 212.192.88.150.&lt;br /&gt;
Выход в интернет организован с этого ip адреса через NAT.&lt;br /&gt;
&lt;br /&gt;
Задача: подключить резервного провайдера - ISP2. Он выделит нам адрес 212.192.90.150.&lt;br /&gt;
Организовать балансировку трафика: web-трафик пускать через ISP1, прочий трафик - через ISP2.&lt;br /&gt;
В случае отказа одного из провайдеров - пускать весь трафик по живому каналу.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В чем сложность задачи?&lt;br /&gt;
clear ip nat translations?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Схема ===&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
=== Конфиг ===&lt;br /&gt;
&lt;br /&gt;
1 clear ip nat translations *&lt;br /&gt;
&lt;br /&gt;
Найден, оттестирован такой кусок EEM.&lt;br /&gt;
Не на всех версиях IOS  генерируется событие.. Надо уточнить.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
event manager applet NAT-TRACK&lt;br /&gt;
event syslog pattern &amp;quot;TRACKING-5-STATE&amp;quot;&lt;br /&gt;
action 0.1 cli command &amp;quot;enable&amp;quot;&lt;br /&gt;
action 0.2 wait 3&lt;br /&gt;
action 0.3 cli command &amp;quot;clear ip nat translation *&amp;quot;&lt;br /&gt;
action 0.4 syslog msg &amp;quot;NAT translation cleared after track state change&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2 При падении интерфейса на провайдера, велики шансы, что его шлюз будет пинговаться через второго&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
username ИМЯ password 0 ПАРОЛЬ&lt;br /&gt;
enable secret 0 ПАРОЛЬКОНФИГА&lt;br /&gt;
!&lt;br /&gt;
! контроль входа на маршрутизатор&lt;br /&gt;
line vty 0 4&lt;br /&gt;
 login local&lt;br /&gt;
!&lt;br /&gt;
! ДХЦП&lt;br /&gt;
ip dhcp pool LAN&lt;br /&gt;
   network ВнутрСеть Маска&lt;br /&gt;
   default-router Шлюз&lt;br /&gt;
   dns-server 10.11.12.13&lt;br /&gt;
! DNS - фиктивный придумали - НЕ из нашей локальной сети&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на адрес шлюза провайдера-1&lt;br /&gt;
! Ждать ответа 100 мс&lt;br /&gt;
! Пинговать с частотой 1 секунда&lt;br /&gt;
ip sla monitor 1&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров1 source-interface ИнтерфейсНаПров1&lt;br /&gt;
 timeout 100&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на провайдера-2&lt;br /&gt;
ip sla monitor 2&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров2 source-interface ИнтерфейсНаПров2&lt;br /&gt;
 timeout 50&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Запуск пинговалок 1 и 2, сейчас и навсегда&lt;br /&gt;
ip sla monitor schedule 1 life forever start-time now&lt;br /&gt;
ip sla monitor schedule 2 life forever start-time now&lt;br /&gt;
!&lt;br /&gt;
! Трэки 10 и 20 - отслеживание состояния пинговалок&lt;br /&gt;
! Реагирует на состояние Down или Up с задержкой 1 сек.&lt;br /&gt;
track 10 rtr 1 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
track 20 rtr 2 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Маршруты на все внешние сети на обоих провайдеров&lt;br /&gt;
! Маршруты привязаны к трэкам&lt;br /&gt;
! и будут активироваться только если трэк в состоянии Up&lt;br /&gt;
! т.е. если шлюз на соответствующего провайдера доступен&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров1 track 10&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров2 track 20&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
int fa 0/0&lt;br /&gt;
  no shut&lt;br /&gt;
!&lt;br /&gt;
! Саб-интерфейсы в сторону внешних провайдеров&lt;br /&gt;
! помечаются как outside для NAT&lt;br /&gt;
interface FastEthernet0/0.1&lt;br /&gt;
 description ISP1&lt;br /&gt;
 encaps dot1q НомерВланПров1&lt;br /&gt;
 ip address ipНаПров1 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0.2&lt;br /&gt;
 description ISP2&lt;br /&gt;
 encapsulation dot1Q НомерВланПров2&lt;br /&gt;
 ip address ipНаПров2 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
! Интерфейс на внутр сеть&lt;br /&gt;
! помечается как inside для NAT&lt;br /&gt;
! Привязывается политика маршрутизации PBR&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
 ip address ipНаВнутрСеть маска&lt;br /&gt;
 ip nat inside&lt;br /&gt;
 ip policy route-map PBR&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
! Аксесс-листы из внутр сети наружу&lt;br /&gt;
! На веб-трафик и на все остальное&lt;br /&gt;
ip access-list extended LOCAL&lt;br /&gt;
 permit ip внутрСеть any&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended WEB&lt;br /&gt;
 permit tcp внутрСеть any eq www&lt;br /&gt;
 permit tcp внутрСеть any eq 443&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended ALL&lt;br /&gt;
 permit ip any any&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! хитрый рут-мап PBR&lt;br /&gt;
! Если трафик из локалки на Веб&lt;br /&gt;
!    то назначить ему шлюзом первого провайдера&lt;br /&gt;
! Иначе, прочему трафику из локалки&lt;br /&gt;
!    назначить шлюзом второго провайдера.&lt;br /&gt;
! При назначении шлюза проверяются Трэки&lt;br /&gt;
route-map PBR permit 10&lt;br /&gt;
 match ip address WEB&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров1 1 track 10&lt;br /&gt;
!&lt;br /&gt;
route-map PBR permit 20&lt;br /&gt;
 match ip address ALL&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров2 1 track 20&lt;br /&gt;
!&lt;br /&gt;
!  &lt;br /&gt;
!  хитрый рут-мап ISP1&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.1&lt;br /&gt;
route-map ISP1 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.1&lt;br /&gt;
!&lt;br /&gt;
!  хитрый рут-мап ISP2&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.2&lt;br /&gt;
route-map ISP2 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.2&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Наконец, NAT ;-)&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки в первого провайдера Натить через первый интерфейс&lt;br /&gt;
ip nat inside source route-map ISP1 interface FastEthernet0/0.1 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки во второго провайдера Натить через второй интерфейс&lt;br /&gt;
ip nat inside source route-map ISP2 interface FastEthernet0/0.2 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик на фиктивный ДНС переНатить на Гугл-ДНС&lt;br /&gt;
!          no-alias - не создавать arp-proxy-alias для внешнего ip в статик-трансляции&lt;br /&gt;
ip nat outside source static 8.8.8.8 10.11.12.13 no-alias&lt;br /&gt;
!&lt;br /&gt;
! проброс внутреннего порта 3389 на внешний порт 1111&lt;br /&gt;
!          extendable - разрешает делать много записей для одного внутрХоста&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip1 1111 extendable&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip2 1111 extendable&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Разное ==&lt;br /&gt;
&lt;br /&gt;
TTL&lt;br /&gt;
&lt;br /&gt;
CGN (carrier grade nat) с особым пулом приватных адресов &lt;br /&gt;
&lt;br /&gt;
NAT как ALG (application layer gateway), (plain text protocols e.g. SIP)&lt;br /&gt;
NAT - helpers&lt;br /&gt;
&lt;br /&gt;
linux-style masquerade, mikrotik netmap&lt;br /&gt;
&lt;br /&gt;
NAT64, DNS64&lt;br /&gt;
&lt;br /&gt;
IPsec nat traversal&lt;br /&gt;
&lt;br /&gt;
uPNP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[Категория:Сети]]&lt;br /&gt;
[[Category:Cisco]] [[Category:NAT]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=460</id>
		<title>NAT (обзор и примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=460"/>
				<updated>2022-11-23T05:43:20Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Настройка на Cisco IOS через ACL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NAT != proxy ==&lt;br /&gt;
Это абсолютно разные технологии. Не путайте их.&lt;br /&gt;
&lt;br /&gt;
== Что такое NAT ==&lt;br /&gt;
&lt;br /&gt;
NAT - собирательный термин, обозначает технологию трансляции сетевых адресов и/или протоколов. NAT устройства производят над проходящими пакетами преобразования с заменой адресов, портов, протоколов и пр.&lt;br /&gt;
&lt;br /&gt;
Существуют более узкие понятие SNAT, DNAT, маскарадинг, PAT, NAT-PT и т.д.&lt;br /&gt;
&lt;br /&gt;
== зачем нужен NAT, как его используют ==&lt;br /&gt;
&lt;br /&gt;
Для вывода в интернет внутренней сети&lt;br /&gt;
* через пул внешних адресов&lt;br /&gt;
* через один внешний адрес&lt;br /&gt;
&lt;br /&gt;
Для подмены внешнего ip адреса другим (перенаправление трафика)&lt;br /&gt;
&lt;br /&gt;
Для балансировки нагрузки между одинаковыми серверами с разными ip адресами.&lt;br /&gt;
&lt;br /&gt;
Для объединения двух локальных сетей с пересекающейся внутренней адресацией.&lt;br /&gt;
&lt;br /&gt;
== как устроен NAT ==&lt;br /&gt;
&lt;br /&gt;
destination NAT&lt;br /&gt;
&lt;br /&gt;
source NAT&lt;br /&gt;
&lt;br /&gt;
s+d NAT (branch merging - evil!)&lt;br /&gt;
&lt;br /&gt;
PAT (overload)&lt;br /&gt;
&lt;br /&gt;
port-mapping, прокидывание портов&lt;br /&gt;
&lt;br /&gt;
== Преимущества и недостатки ==&lt;br /&gt;
&lt;br /&gt;
Несовместим с некоторыми протоколами. Конкретная реализация NAT должна поддерживать инспекцию требуемого протокола.&lt;br /&gt;
&lt;br /&gt;
NAT обладает свойством &amp;quot;экранировать&amp;quot; внутреннюю сеть от внешнего мира, но его нельзя использовать вместо межсетевого экрана.&lt;br /&gt;
&lt;br /&gt;
== Настройка на Cisco IOS ==&lt;br /&gt;
&lt;br /&gt;
Маршрутизаторы и межсетевые экраны Cisco поддерживают различные типы NAT, в зависимости от набора опций ПО. Наиболее используемым является метод NAT с привязкой внутренних локальных адресов в различные порты одного внешнего адреса (PAT в терминологии Cisco). &lt;br /&gt;
&lt;br /&gt;
Для настройки NAT на маршрутизаторе требуется:&lt;br /&gt;
o	Определить трафик, который необходимо транслировать (при помощи access-list’ов или route-map);&lt;br /&gt;
&lt;br /&gt;
 ip access-list extended LOCAL&lt;br /&gt;
 permit ip 10.0.0.0 0.255.255.255 any&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 route-map INT1&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/1.1&lt;br /&gt;
	Аксесс-лист LOCAL выбирает весь трафик из 10 сети.&lt;br /&gt;
&lt;br /&gt;
Роут-мап INT1 выбирает трафик аксесс-листа LOCAL, выходящий через сабинтерфейс Fa 0/1.1 &lt;br /&gt;
&lt;br /&gt;
o	Определить на какие внешние адреса проводить трансляцию. Выбрать пул внешних адресов. Для PAT достаточно одного адреса.&lt;br /&gt;
&lt;br /&gt;
 ip nat pool GLOBAL 212.192.64.74 212.192.64.74 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Задание пула внешних адресов с именем  GLOBAL. В пуле всего один адрес.&lt;br /&gt;
&lt;br /&gt;
o	Включить NAT для выбранных внутренних и внешних адресов.&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source route-map INT1 pool GLOBAL overload&lt;br /&gt;
&lt;br /&gt;
Включение NAT для трансляции адресов источника на внутреннем интерфейсе.&lt;br /&gt;
Будет транслироваться только трафик попадающий под условия роут-мапа INT1.&lt;br /&gt;
Внешний адрес будет браться из пула GLOBAL.&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source static tcp 10.0.0.1 23 212.192.64.74 23 extend&lt;br /&gt;
&lt;br /&gt;
Статическое «прокидывание порта» или «публикация сервиса».&lt;br /&gt;
В трафике идущем внутрь на адрес 212.192.64.74 на порт tcp 23 будет заменен адресат на адрес 10.0.0.1 и порт 23. &lt;br /&gt;
&lt;br /&gt;
o	Назначить внутренние и внешние интерфейсы.&lt;br /&gt;
 interface FastEthernet0/0&lt;br /&gt;
 ip nat inside&lt;br /&gt;
&lt;br /&gt;
 interface FastEthernet0/1.1&lt;br /&gt;
 ip nat outside&lt;br /&gt;
	 Интерфейс Fa 0/0 назначен внутренним для NAT.&lt;br /&gt;
&lt;br /&gt;
Сабинтерфейс Fa 0/1.1 назначен внешним для NAT.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
o	Отладка и диагностика:&lt;br /&gt;
 sh ip nat translations   - просмотр таблицы текущих трансляций;&lt;br /&gt;
 clear ip nat translations - удалить все текущие трансляции;&lt;br /&gt;
 debug ip nat – включение отладочных сообщений (undebug all – выключение отладки).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Настройка на Cisco IOS через ACL ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0&lt;br /&gt;
ip address 10.0.0.1 255.255.255.0&lt;br /&gt;
ip nat inside&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
ip address 212.192.64.74 255.255.255.0&lt;br /&gt;
ip nat outside&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
ip nat inside source list LAN interface FastEthernet0/1 overload&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 212.192.64.1 &lt;br /&gt;
!&lt;br /&gt;
ip access-list extended LAN&lt;br /&gt;
permit ip 10.0.0.0 0.0.0.255 any&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
Приведем несколько демонстрационных примеров для эмулятора cisco Packet Tracer.&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода небольшой сети в интернет через пул внешних адресов&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_SNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода сети в интернет через один внешний адрес&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_PAT.pkt&lt;br /&gt;
&lt;br /&gt;
Схема объединения сетей с пересекающейся адресацией&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_SDNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Инструкция по cisco IOS NAT&lt;br /&gt;
http://www.cisco.com/en/US/technologies/tk648/tk361/tk438/technologies_white_paper09186a0080091cb9.html&lt;br /&gt;
&lt;br /&gt;
== Порядок работы NAT ==&lt;br /&gt;
Порядок применения правил NAT различается у различных производителей и на различном оборудовании. Приведем порядок применения политик NAT для маршрутизаторов на cisco IOS:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside-to-Outside	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET (Cisco Encryption Technology) or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
NAT inside to outside (local to global translation)&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect (Context-based Access Control (CBAC))&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outside-to-Inside&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
NAT outside to inside (global to local translation)&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect CBAC&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Интернет-канал от одного провайдера через NAT ==&lt;br /&gt;
Простая схема реализации NAT с одним провайдером&lt;br /&gt;
&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp_no_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
==  Резервирование интернет-канала от двух провайдеров при помощи NAT, ip sla ==&lt;br /&gt;
&lt;br /&gt;
Дано: мы получаем для нескольких компьютеров интернет от провайдера ISP1. Он выделили нам адрес 212.192.88.150.&lt;br /&gt;
Выход в интернет организован с этого ip адреса через NAT.&lt;br /&gt;
&lt;br /&gt;
Задача: подключить резервного провайдера - ISP2. Он выделит нам адрес 212.192.90.150.&lt;br /&gt;
Организовать балансировку трафика: web-трафик пускать через ISP1, прочий трафик - через ISP2.&lt;br /&gt;
В случае отказа одного из провайдеров - пускать весь трафик по живому каналу.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В чем сложность задачи?&lt;br /&gt;
clear ip nat translations?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Схема ===&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
=== Конфиг ===&lt;br /&gt;
&lt;br /&gt;
1 clear ip nat translations *&lt;br /&gt;
&lt;br /&gt;
Найден, оттестирован такой кусок EEM.&lt;br /&gt;
Не на всех версиях IOS  генерируется событие.. Надо уточнить.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
event manager applet NAT-TRACK&lt;br /&gt;
event syslog pattern &amp;quot;TRACKING-5-STATE&amp;quot;&lt;br /&gt;
action 0.1 cli command &amp;quot;enable&amp;quot;&lt;br /&gt;
action 0.2 wait 3&lt;br /&gt;
action 0.3 cli command &amp;quot;clear ip nat translation *&amp;quot;&lt;br /&gt;
action 0.4 syslog msg &amp;quot;NAT translation cleared after track state change&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2 При падении интерфейса на провайдера, велики шансы, что его шлюз будет пинговаться через второго&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
username ИМЯ password 0 ПАРОЛЬ&lt;br /&gt;
enable secret 0 ПАРОЛЬКОНФИГА&lt;br /&gt;
!&lt;br /&gt;
! контроль входа на маршрутизатор&lt;br /&gt;
line vty 0 4&lt;br /&gt;
 login local&lt;br /&gt;
!&lt;br /&gt;
! ДХЦП&lt;br /&gt;
ip dhcp pool LAN&lt;br /&gt;
   network ВнутрСеть Маска&lt;br /&gt;
   default-router Шлюз&lt;br /&gt;
   dns-server 10.11.12.13&lt;br /&gt;
! DNS - фиктивный придумали - НЕ из нашей локальной сети&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на адрес шлюза провайдера-1&lt;br /&gt;
! Ждать ответа 100 мс&lt;br /&gt;
! Пинговать с частотой 1 секунда&lt;br /&gt;
ip sla monitor 1&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров1 source-interface ИнтерфейсНаПров1&lt;br /&gt;
 timeout 100&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на провайдера-2&lt;br /&gt;
ip sla monitor 2&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров2 source-interface ИнтерфейсНаПров2&lt;br /&gt;
 timeout 50&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Запуск пинговалок 1 и 2, сейчас и навсегда&lt;br /&gt;
ip sla monitor schedule 1 life forever start-time now&lt;br /&gt;
ip sla monitor schedule 2 life forever start-time now&lt;br /&gt;
!&lt;br /&gt;
! Трэки 10 и 20 - отслеживание состояния пинговалок&lt;br /&gt;
! Реагирует на состояние Down или Up с задержкой 1 сек.&lt;br /&gt;
track 10 rtr 1 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
track 20 rtr 2 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Маршруты на все внешние сети на обоих провайдеров&lt;br /&gt;
! Маршруты привязаны к трэкам&lt;br /&gt;
! и будут активироваться только если трэк в состоянии Up&lt;br /&gt;
! т.е. если шлюз на соответствующего провайдера доступен&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров1 track 10&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров2 track 20&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
int fa 0/0&lt;br /&gt;
  no shut&lt;br /&gt;
!&lt;br /&gt;
! Саб-интерфейсы в сторону внешних провайдеров&lt;br /&gt;
! помечаются как outside для NAT&lt;br /&gt;
interface FastEthernet0/0.1&lt;br /&gt;
 description ISP1&lt;br /&gt;
 encaps dot1q НомерВланПров1&lt;br /&gt;
 ip address ipНаПров1 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0.2&lt;br /&gt;
 description ISP2&lt;br /&gt;
 encapsulation dot1Q НомерВланПров2&lt;br /&gt;
 ip address ipНаПров2 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
! Интерфейс на внутр сеть&lt;br /&gt;
! помечается как inside для NAT&lt;br /&gt;
! Привязывается политика маршрутизации PBR&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
 ip address ipНаВнутрСеть маска&lt;br /&gt;
 ip nat inside&lt;br /&gt;
 ip policy route-map PBR&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
! Аксесс-листы из внутр сети наружу&lt;br /&gt;
! На веб-трафик и на все остальное&lt;br /&gt;
ip access-list extended LOCAL&lt;br /&gt;
 permit ip внутрСеть any&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended WEB&lt;br /&gt;
 permit tcp внутрСеть any eq www&lt;br /&gt;
 permit tcp внутрСеть any eq 443&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended ALL&lt;br /&gt;
 permit ip any any&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! хитрый рут-мап PBR&lt;br /&gt;
! Если трафик из локалки на Веб&lt;br /&gt;
!    то назначить ему шлюзом первого провайдера&lt;br /&gt;
! Иначе, прочему трафику из локалки&lt;br /&gt;
!    назначить шлюзом второго провайдера.&lt;br /&gt;
! При назначении шлюза проверяются Трэки&lt;br /&gt;
route-map PBR permit 10&lt;br /&gt;
 match ip address WEB&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров1 1 track 10&lt;br /&gt;
!&lt;br /&gt;
route-map PBR permit 20&lt;br /&gt;
 match ip address ALL&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров2 1 track 20&lt;br /&gt;
!&lt;br /&gt;
!  &lt;br /&gt;
!  хитрый рут-мап ISP1&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.1&lt;br /&gt;
route-map ISP1 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.1&lt;br /&gt;
!&lt;br /&gt;
!  хитрый рут-мап ISP2&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.2&lt;br /&gt;
route-map ISP2 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.2&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Наконец, NAT ;-)&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки в первого провайдера Натить через первый интерфейс&lt;br /&gt;
ip nat inside source route-map ISP1 interface FastEthernet0/0.1 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки во второго провайдера Натить через второй интерфейс&lt;br /&gt;
ip nat inside source route-map ISP2 interface FastEthernet0/0.2 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик на фиктивный ДНС переНатить на Гугл-ДНС&lt;br /&gt;
!          no-alias - не создавать arp-proxy-alias для внешнего ip в статик-трансляции&lt;br /&gt;
ip nat outside source static 8.8.8.8 10.11.12.13 no-alias&lt;br /&gt;
!&lt;br /&gt;
! проброс внутреннего порта 3389 на внешний порт 1111&lt;br /&gt;
!          extendable - разрешает делать много записей для одного внутрХоста&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip1 1111 extendable&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip2 1111 extendable&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Разное ==&lt;br /&gt;
&lt;br /&gt;
TTL&lt;br /&gt;
&lt;br /&gt;
CGN (carrier grade nat) с особым пулом приватных адресов &lt;br /&gt;
&lt;br /&gt;
NAT как ALG (application layer gateway), (plain text protocols e.g. SIP)&lt;br /&gt;
NAT - helpers&lt;br /&gt;
&lt;br /&gt;
linux-style masquerade, mikrotik netmap&lt;br /&gt;
&lt;br /&gt;
NAT64, DNS64&lt;br /&gt;
&lt;br /&gt;
IPsec nat traversal&lt;br /&gt;
&lt;br /&gt;
uPNP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[Категория:Сети]]&lt;br /&gt;
[[Category:Cisco]] [[Category:NAT]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=459</id>
		<title>NAT (обзор и примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=459"/>
				<updated>2022-11-23T05:43:05Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Настройка на Cisco IOS через ACL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NAT != proxy ==&lt;br /&gt;
Это абсолютно разные технологии. Не путайте их.&lt;br /&gt;
&lt;br /&gt;
== Что такое NAT ==&lt;br /&gt;
&lt;br /&gt;
NAT - собирательный термин, обозначает технологию трансляции сетевых адресов и/или протоколов. NAT устройства производят над проходящими пакетами преобразования с заменой адресов, портов, протоколов и пр.&lt;br /&gt;
&lt;br /&gt;
Существуют более узкие понятие SNAT, DNAT, маскарадинг, PAT, NAT-PT и т.д.&lt;br /&gt;
&lt;br /&gt;
== зачем нужен NAT, как его используют ==&lt;br /&gt;
&lt;br /&gt;
Для вывода в интернет внутренней сети&lt;br /&gt;
* через пул внешних адресов&lt;br /&gt;
* через один внешний адрес&lt;br /&gt;
&lt;br /&gt;
Для подмены внешнего ip адреса другим (перенаправление трафика)&lt;br /&gt;
&lt;br /&gt;
Для балансировки нагрузки между одинаковыми серверами с разными ip адресами.&lt;br /&gt;
&lt;br /&gt;
Для объединения двух локальных сетей с пересекающейся внутренней адресацией.&lt;br /&gt;
&lt;br /&gt;
== как устроен NAT ==&lt;br /&gt;
&lt;br /&gt;
destination NAT&lt;br /&gt;
&lt;br /&gt;
source NAT&lt;br /&gt;
&lt;br /&gt;
s+d NAT (branch merging - evil!)&lt;br /&gt;
&lt;br /&gt;
PAT (overload)&lt;br /&gt;
&lt;br /&gt;
port-mapping, прокидывание портов&lt;br /&gt;
&lt;br /&gt;
== Преимущества и недостатки ==&lt;br /&gt;
&lt;br /&gt;
Несовместим с некоторыми протоколами. Конкретная реализация NAT должна поддерживать инспекцию требуемого протокола.&lt;br /&gt;
&lt;br /&gt;
NAT обладает свойством &amp;quot;экранировать&amp;quot; внутреннюю сеть от внешнего мира, но его нельзя использовать вместо межсетевого экрана.&lt;br /&gt;
&lt;br /&gt;
== Настройка на Cisco IOS ==&lt;br /&gt;
&lt;br /&gt;
Маршрутизаторы и межсетевые экраны Cisco поддерживают различные типы NAT, в зависимости от набора опций ПО. Наиболее используемым является метод NAT с привязкой внутренних локальных адресов в различные порты одного внешнего адреса (PAT в терминологии Cisco). &lt;br /&gt;
&lt;br /&gt;
Для настройки NAT на маршрутизаторе требуется:&lt;br /&gt;
o	Определить трафик, который необходимо транслировать (при помощи access-list’ов или route-map);&lt;br /&gt;
&lt;br /&gt;
 ip access-list extended LOCAL&lt;br /&gt;
 permit ip 10.0.0.0 0.255.255.255 any&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 route-map INT1&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/1.1&lt;br /&gt;
	Аксесс-лист LOCAL выбирает весь трафик из 10 сети.&lt;br /&gt;
&lt;br /&gt;
Роут-мап INT1 выбирает трафик аксесс-листа LOCAL, выходящий через сабинтерфейс Fa 0/1.1 &lt;br /&gt;
&lt;br /&gt;
o	Определить на какие внешние адреса проводить трансляцию. Выбрать пул внешних адресов. Для PAT достаточно одного адреса.&lt;br /&gt;
&lt;br /&gt;
 ip nat pool GLOBAL 212.192.64.74 212.192.64.74 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Задание пула внешних адресов с именем  GLOBAL. В пуле всего один адрес.&lt;br /&gt;
&lt;br /&gt;
o	Включить NAT для выбранных внутренних и внешних адресов.&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source route-map INT1 pool GLOBAL overload&lt;br /&gt;
&lt;br /&gt;
Включение NAT для трансляции адресов источника на внутреннем интерфейсе.&lt;br /&gt;
Будет транслироваться только трафик попадающий под условия роут-мапа INT1.&lt;br /&gt;
Внешний адрес будет браться из пула GLOBAL.&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source static tcp 10.0.0.1 23 212.192.64.74 23 extend&lt;br /&gt;
&lt;br /&gt;
Статическое «прокидывание порта» или «публикация сервиса».&lt;br /&gt;
В трафике идущем внутрь на адрес 212.192.64.74 на порт tcp 23 будет заменен адресат на адрес 10.0.0.1 и порт 23. &lt;br /&gt;
&lt;br /&gt;
o	Назначить внутренние и внешние интерфейсы.&lt;br /&gt;
 interface FastEthernet0/0&lt;br /&gt;
 ip nat inside&lt;br /&gt;
&lt;br /&gt;
 interface FastEthernet0/1.1&lt;br /&gt;
 ip nat outside&lt;br /&gt;
	 Интерфейс Fa 0/0 назначен внутренним для NAT.&lt;br /&gt;
&lt;br /&gt;
Сабинтерфейс Fa 0/1.1 назначен внешним для NAT.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
o	Отладка и диагностика:&lt;br /&gt;
 sh ip nat translations   - просмотр таблицы текущих трансляций;&lt;br /&gt;
 clear ip nat translations - удалить все текущие трансляции;&lt;br /&gt;
 debug ip nat – включение отладочных сообщений (undebug all – выключение отладки).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Настройка на Cisco IOS через ACL ==&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0&lt;br /&gt;
ip address 10.0.0.1 255.255.255.0&lt;br /&gt;
ip nat inside&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
ip address 212.192.64.74 255.255.255.0&lt;br /&gt;
ip nat outside&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
ip nat inside source list LAN interface FastEthernet0/1 overload&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 212.192.64.1 &lt;br /&gt;
!&lt;br /&gt;
ip access-list extended LAN&lt;br /&gt;
permit ip 10.0.0.0 0.0.0.255 any&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
Приведем несколько демонстрационных примеров для эмулятора cisco Packet Tracer.&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода небольшой сети в интернет через пул внешних адресов&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_SNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода сети в интернет через один внешний адрес&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_PAT.pkt&lt;br /&gt;
&lt;br /&gt;
Схема объединения сетей с пересекающейся адресацией&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_SDNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Инструкция по cisco IOS NAT&lt;br /&gt;
http://www.cisco.com/en/US/technologies/tk648/tk361/tk438/technologies_white_paper09186a0080091cb9.html&lt;br /&gt;
&lt;br /&gt;
== Порядок работы NAT ==&lt;br /&gt;
Порядок применения правил NAT различается у различных производителей и на различном оборудовании. Приведем порядок применения политик NAT для маршрутизаторов на cisco IOS:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside-to-Outside	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET (Cisco Encryption Technology) or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
NAT inside to outside (local to global translation)&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect (Context-based Access Control (CBAC))&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outside-to-Inside&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
NAT outside to inside (global to local translation)&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect CBAC&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Интернет-канал от одного провайдера через NAT ==&lt;br /&gt;
Простая схема реализации NAT с одним провайдером&lt;br /&gt;
&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp_no_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
==  Резервирование интернет-канала от двух провайдеров при помощи NAT, ip sla ==&lt;br /&gt;
&lt;br /&gt;
Дано: мы получаем для нескольких компьютеров интернет от провайдера ISP1. Он выделили нам адрес 212.192.88.150.&lt;br /&gt;
Выход в интернет организован с этого ip адреса через NAT.&lt;br /&gt;
&lt;br /&gt;
Задача: подключить резервного провайдера - ISP2. Он выделит нам адрес 212.192.90.150.&lt;br /&gt;
Организовать балансировку трафика: web-трафик пускать через ISP1, прочий трафик - через ISP2.&lt;br /&gt;
В случае отказа одного из провайдеров - пускать весь трафик по живому каналу.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В чем сложность задачи?&lt;br /&gt;
clear ip nat translations?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Схема ===&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
=== Конфиг ===&lt;br /&gt;
&lt;br /&gt;
1 clear ip nat translations *&lt;br /&gt;
&lt;br /&gt;
Найден, оттестирован такой кусок EEM.&lt;br /&gt;
Не на всех версиях IOS  генерируется событие.. Надо уточнить.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
event manager applet NAT-TRACK&lt;br /&gt;
event syslog pattern &amp;quot;TRACKING-5-STATE&amp;quot;&lt;br /&gt;
action 0.1 cli command &amp;quot;enable&amp;quot;&lt;br /&gt;
action 0.2 wait 3&lt;br /&gt;
action 0.3 cli command &amp;quot;clear ip nat translation *&amp;quot;&lt;br /&gt;
action 0.4 syslog msg &amp;quot;NAT translation cleared after track state change&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2 При падении интерфейса на провайдера, велики шансы, что его шлюз будет пинговаться через второго&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
username ИМЯ password 0 ПАРОЛЬ&lt;br /&gt;
enable secret 0 ПАРОЛЬКОНФИГА&lt;br /&gt;
!&lt;br /&gt;
! контроль входа на маршрутизатор&lt;br /&gt;
line vty 0 4&lt;br /&gt;
 login local&lt;br /&gt;
!&lt;br /&gt;
! ДХЦП&lt;br /&gt;
ip dhcp pool LAN&lt;br /&gt;
   network ВнутрСеть Маска&lt;br /&gt;
   default-router Шлюз&lt;br /&gt;
   dns-server 10.11.12.13&lt;br /&gt;
! DNS - фиктивный придумали - НЕ из нашей локальной сети&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на адрес шлюза провайдера-1&lt;br /&gt;
! Ждать ответа 100 мс&lt;br /&gt;
! Пинговать с частотой 1 секунда&lt;br /&gt;
ip sla monitor 1&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров1 source-interface ИнтерфейсНаПров1&lt;br /&gt;
 timeout 100&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на провайдера-2&lt;br /&gt;
ip sla monitor 2&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров2 source-interface ИнтерфейсНаПров2&lt;br /&gt;
 timeout 50&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Запуск пинговалок 1 и 2, сейчас и навсегда&lt;br /&gt;
ip sla monitor schedule 1 life forever start-time now&lt;br /&gt;
ip sla monitor schedule 2 life forever start-time now&lt;br /&gt;
!&lt;br /&gt;
! Трэки 10 и 20 - отслеживание состояния пинговалок&lt;br /&gt;
! Реагирует на состояние Down или Up с задержкой 1 сек.&lt;br /&gt;
track 10 rtr 1 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
track 20 rtr 2 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Маршруты на все внешние сети на обоих провайдеров&lt;br /&gt;
! Маршруты привязаны к трэкам&lt;br /&gt;
! и будут активироваться только если трэк в состоянии Up&lt;br /&gt;
! т.е. если шлюз на соответствующего провайдера доступен&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров1 track 10&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров2 track 20&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
int fa 0/0&lt;br /&gt;
  no shut&lt;br /&gt;
!&lt;br /&gt;
! Саб-интерфейсы в сторону внешних провайдеров&lt;br /&gt;
! помечаются как outside для NAT&lt;br /&gt;
interface FastEthernet0/0.1&lt;br /&gt;
 description ISP1&lt;br /&gt;
 encaps dot1q НомерВланПров1&lt;br /&gt;
 ip address ipНаПров1 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0.2&lt;br /&gt;
 description ISP2&lt;br /&gt;
 encapsulation dot1Q НомерВланПров2&lt;br /&gt;
 ip address ipНаПров2 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
! Интерфейс на внутр сеть&lt;br /&gt;
! помечается как inside для NAT&lt;br /&gt;
! Привязывается политика маршрутизации PBR&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
 ip address ipНаВнутрСеть маска&lt;br /&gt;
 ip nat inside&lt;br /&gt;
 ip policy route-map PBR&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
! Аксесс-листы из внутр сети наружу&lt;br /&gt;
! На веб-трафик и на все остальное&lt;br /&gt;
ip access-list extended LOCAL&lt;br /&gt;
 permit ip внутрСеть any&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended WEB&lt;br /&gt;
 permit tcp внутрСеть any eq www&lt;br /&gt;
 permit tcp внутрСеть any eq 443&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended ALL&lt;br /&gt;
 permit ip any any&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! хитрый рут-мап PBR&lt;br /&gt;
! Если трафик из локалки на Веб&lt;br /&gt;
!    то назначить ему шлюзом первого провайдера&lt;br /&gt;
! Иначе, прочему трафику из локалки&lt;br /&gt;
!    назначить шлюзом второго провайдера.&lt;br /&gt;
! При назначении шлюза проверяются Трэки&lt;br /&gt;
route-map PBR permit 10&lt;br /&gt;
 match ip address WEB&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров1 1 track 10&lt;br /&gt;
!&lt;br /&gt;
route-map PBR permit 20&lt;br /&gt;
 match ip address ALL&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров2 1 track 20&lt;br /&gt;
!&lt;br /&gt;
!  &lt;br /&gt;
!  хитрый рут-мап ISP1&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.1&lt;br /&gt;
route-map ISP1 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.1&lt;br /&gt;
!&lt;br /&gt;
!  хитрый рут-мап ISP2&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.2&lt;br /&gt;
route-map ISP2 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.2&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Наконец, NAT ;-)&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки в первого провайдера Натить через первый интерфейс&lt;br /&gt;
ip nat inside source route-map ISP1 interface FastEthernet0/0.1 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки во второго провайдера Натить через второй интерфейс&lt;br /&gt;
ip nat inside source route-map ISP2 interface FastEthernet0/0.2 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик на фиктивный ДНС переНатить на Гугл-ДНС&lt;br /&gt;
!          no-alias - не создавать arp-proxy-alias для внешнего ip в статик-трансляции&lt;br /&gt;
ip nat outside source static 8.8.8.8 10.11.12.13 no-alias&lt;br /&gt;
!&lt;br /&gt;
! проброс внутреннего порта 3389 на внешний порт 1111&lt;br /&gt;
!          extendable - разрешает делать много записей для одного внутрХоста&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip1 1111 extendable&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip2 1111 extendable&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Разное ==&lt;br /&gt;
&lt;br /&gt;
TTL&lt;br /&gt;
&lt;br /&gt;
CGN (carrier grade nat) с особым пулом приватных адресов &lt;br /&gt;
&lt;br /&gt;
NAT как ALG (application layer gateway), (plain text protocols e.g. SIP)&lt;br /&gt;
NAT - helpers&lt;br /&gt;
&lt;br /&gt;
linux-style masquerade, mikrotik netmap&lt;br /&gt;
&lt;br /&gt;
NAT64, DNS64&lt;br /&gt;
&lt;br /&gt;
IPsec nat traversal&lt;br /&gt;
&lt;br /&gt;
uPNP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[Категория:Сети]]&lt;br /&gt;
[[Category:Cisco]] [[Category:NAT]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=458</id>
		<title>NAT (обзор и примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=458"/>
				<updated>2022-11-23T05:42:25Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Настройка на Cisco IOS через ACL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NAT != proxy ==&lt;br /&gt;
Это абсолютно разные технологии. Не путайте их.&lt;br /&gt;
&lt;br /&gt;
== Что такое NAT ==&lt;br /&gt;
&lt;br /&gt;
NAT - собирательный термин, обозначает технологию трансляции сетевых адресов и/или протоколов. NAT устройства производят над проходящими пакетами преобразования с заменой адресов, портов, протоколов и пр.&lt;br /&gt;
&lt;br /&gt;
Существуют более узкие понятие SNAT, DNAT, маскарадинг, PAT, NAT-PT и т.д.&lt;br /&gt;
&lt;br /&gt;
== зачем нужен NAT, как его используют ==&lt;br /&gt;
&lt;br /&gt;
Для вывода в интернет внутренней сети&lt;br /&gt;
* через пул внешних адресов&lt;br /&gt;
* через один внешний адрес&lt;br /&gt;
&lt;br /&gt;
Для подмены внешнего ip адреса другим (перенаправление трафика)&lt;br /&gt;
&lt;br /&gt;
Для балансировки нагрузки между одинаковыми серверами с разными ip адресами.&lt;br /&gt;
&lt;br /&gt;
Для объединения двух локальных сетей с пересекающейся внутренней адресацией.&lt;br /&gt;
&lt;br /&gt;
== как устроен NAT ==&lt;br /&gt;
&lt;br /&gt;
destination NAT&lt;br /&gt;
&lt;br /&gt;
source NAT&lt;br /&gt;
&lt;br /&gt;
s+d NAT (branch merging - evil!)&lt;br /&gt;
&lt;br /&gt;
PAT (overload)&lt;br /&gt;
&lt;br /&gt;
port-mapping, прокидывание портов&lt;br /&gt;
&lt;br /&gt;
== Преимущества и недостатки ==&lt;br /&gt;
&lt;br /&gt;
Несовместим с некоторыми протоколами. Конкретная реализация NAT должна поддерживать инспекцию требуемого протокола.&lt;br /&gt;
&lt;br /&gt;
NAT обладает свойством &amp;quot;экранировать&amp;quot; внутреннюю сеть от внешнего мира, но его нельзя использовать вместо межсетевого экрана.&lt;br /&gt;
&lt;br /&gt;
== Настройка на Cisco IOS ==&lt;br /&gt;
&lt;br /&gt;
Маршрутизаторы и межсетевые экраны Cisco поддерживают различные типы NAT, в зависимости от набора опций ПО. Наиболее используемым является метод NAT с привязкой внутренних локальных адресов в различные порты одного внешнего адреса (PAT в терминологии Cisco). &lt;br /&gt;
&lt;br /&gt;
Для настройки NAT на маршрутизаторе требуется:&lt;br /&gt;
o	Определить трафик, который необходимо транслировать (при помощи access-list’ов или route-map);&lt;br /&gt;
&lt;br /&gt;
 ip access-list extended LOCAL&lt;br /&gt;
 permit ip 10.0.0.0 0.255.255.255 any&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 route-map INT1&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/1.1&lt;br /&gt;
	Аксесс-лист LOCAL выбирает весь трафик из 10 сети.&lt;br /&gt;
&lt;br /&gt;
Роут-мап INT1 выбирает трафик аксесс-листа LOCAL, выходящий через сабинтерфейс Fa 0/1.1 &lt;br /&gt;
&lt;br /&gt;
o	Определить на какие внешние адреса проводить трансляцию. Выбрать пул внешних адресов. Для PAT достаточно одного адреса.&lt;br /&gt;
&lt;br /&gt;
 ip nat pool GLOBAL 212.192.64.74 212.192.64.74 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Задание пула внешних адресов с именем  GLOBAL. В пуле всего один адрес.&lt;br /&gt;
&lt;br /&gt;
o	Включить NAT для выбранных внутренних и внешних адресов.&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source route-map INT1 pool GLOBAL overload&lt;br /&gt;
&lt;br /&gt;
Включение NAT для трансляции адресов источника на внутреннем интерфейсе.&lt;br /&gt;
Будет транслироваться только трафик попадающий под условия роут-мапа INT1.&lt;br /&gt;
Внешний адрес будет браться из пула GLOBAL.&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source static tcp 10.0.0.1 23 212.192.64.74 23 extend&lt;br /&gt;
&lt;br /&gt;
Статическое «прокидывание порта» или «публикация сервиса».&lt;br /&gt;
В трафике идущем внутрь на адрес 212.192.64.74 на порт tcp 23 будет заменен адресат на адрес 10.0.0.1 и порт 23. &lt;br /&gt;
&lt;br /&gt;
o	Назначить внутренние и внешние интерфейсы.&lt;br /&gt;
 interface FastEthernet0/0&lt;br /&gt;
 ip nat inside&lt;br /&gt;
&lt;br /&gt;
 interface FastEthernet0/1.1&lt;br /&gt;
 ip nat outside&lt;br /&gt;
	 Интерфейс Fa 0/0 назначен внутренним для NAT.&lt;br /&gt;
&lt;br /&gt;
Сабинтерфейс Fa 0/1.1 назначен внешним для NAT.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
o	Отладка и диагностика:&lt;br /&gt;
 sh ip nat translations   - просмотр таблицы текущих трансляций;&lt;br /&gt;
 clear ip nat translations - удалить все текущие трансляции;&lt;br /&gt;
 debug ip nat – включение отладочных сообщений (undebug all – выключение отладки).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Настройка на Cisco IOS через ACL ==&lt;br /&gt;
[code]&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0&lt;br /&gt;
ip address 10.0.0.1 255.255.255.0&lt;br /&gt;
ip nat inside&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
ip address 212.192.64.74 255.255.255.0&lt;br /&gt;
ip nat outside&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
ip nat inside source list LAN interface FastEthernet0/1 overload&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 212.192.64.1 &lt;br /&gt;
!&lt;br /&gt;
ip access-list extended LAN&lt;br /&gt;
permit ip 10.0.0.0 0.0.0.255 any&lt;br /&gt;
!&lt;br /&gt;
[/code]&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
Приведем несколько демонстрационных примеров для эмулятора cisco Packet Tracer.&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода небольшой сети в интернет через пул внешних адресов&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_SNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода сети в интернет через один внешний адрес&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_PAT.pkt&lt;br /&gt;
&lt;br /&gt;
Схема объединения сетей с пересекающейся адресацией&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_SDNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Инструкция по cisco IOS NAT&lt;br /&gt;
http://www.cisco.com/en/US/technologies/tk648/tk361/tk438/technologies_white_paper09186a0080091cb9.html&lt;br /&gt;
&lt;br /&gt;
== Порядок работы NAT ==&lt;br /&gt;
Порядок применения правил NAT различается у различных производителей и на различном оборудовании. Приведем порядок применения политик NAT для маршрутизаторов на cisco IOS:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside-to-Outside	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET (Cisco Encryption Technology) or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
NAT inside to outside (local to global translation)&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect (Context-based Access Control (CBAC))&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outside-to-Inside&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
NAT outside to inside (global to local translation)&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect CBAC&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Интернет-канал от одного провайдера через NAT ==&lt;br /&gt;
Простая схема реализации NAT с одним провайдером&lt;br /&gt;
&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp_no_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
==  Резервирование интернет-канала от двух провайдеров при помощи NAT, ip sla ==&lt;br /&gt;
&lt;br /&gt;
Дано: мы получаем для нескольких компьютеров интернет от провайдера ISP1. Он выделили нам адрес 212.192.88.150.&lt;br /&gt;
Выход в интернет организован с этого ip адреса через NAT.&lt;br /&gt;
&lt;br /&gt;
Задача: подключить резервного провайдера - ISP2. Он выделит нам адрес 212.192.90.150.&lt;br /&gt;
Организовать балансировку трафика: web-трафик пускать через ISP1, прочий трафик - через ISP2.&lt;br /&gt;
В случае отказа одного из провайдеров - пускать весь трафик по живому каналу.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В чем сложность задачи?&lt;br /&gt;
clear ip nat translations?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Схема ===&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
=== Конфиг ===&lt;br /&gt;
&lt;br /&gt;
1 clear ip nat translations *&lt;br /&gt;
&lt;br /&gt;
Найден, оттестирован такой кусок EEM.&lt;br /&gt;
Не на всех версиях IOS  генерируется событие.. Надо уточнить.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
event manager applet NAT-TRACK&lt;br /&gt;
event syslog pattern &amp;quot;TRACKING-5-STATE&amp;quot;&lt;br /&gt;
action 0.1 cli command &amp;quot;enable&amp;quot;&lt;br /&gt;
action 0.2 wait 3&lt;br /&gt;
action 0.3 cli command &amp;quot;clear ip nat translation *&amp;quot;&lt;br /&gt;
action 0.4 syslog msg &amp;quot;NAT translation cleared after track state change&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2 При падении интерфейса на провайдера, велики шансы, что его шлюз будет пинговаться через второго&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
username ИМЯ password 0 ПАРОЛЬ&lt;br /&gt;
enable secret 0 ПАРОЛЬКОНФИГА&lt;br /&gt;
!&lt;br /&gt;
! контроль входа на маршрутизатор&lt;br /&gt;
line vty 0 4&lt;br /&gt;
 login local&lt;br /&gt;
!&lt;br /&gt;
! ДХЦП&lt;br /&gt;
ip dhcp pool LAN&lt;br /&gt;
   network ВнутрСеть Маска&lt;br /&gt;
   default-router Шлюз&lt;br /&gt;
   dns-server 10.11.12.13&lt;br /&gt;
! DNS - фиктивный придумали - НЕ из нашей локальной сети&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на адрес шлюза провайдера-1&lt;br /&gt;
! Ждать ответа 100 мс&lt;br /&gt;
! Пинговать с частотой 1 секунда&lt;br /&gt;
ip sla monitor 1&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров1 source-interface ИнтерфейсНаПров1&lt;br /&gt;
 timeout 100&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на провайдера-2&lt;br /&gt;
ip sla monitor 2&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров2 source-interface ИнтерфейсНаПров2&lt;br /&gt;
 timeout 50&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Запуск пинговалок 1 и 2, сейчас и навсегда&lt;br /&gt;
ip sla monitor schedule 1 life forever start-time now&lt;br /&gt;
ip sla monitor schedule 2 life forever start-time now&lt;br /&gt;
!&lt;br /&gt;
! Трэки 10 и 20 - отслеживание состояния пинговалок&lt;br /&gt;
! Реагирует на состояние Down или Up с задержкой 1 сек.&lt;br /&gt;
track 10 rtr 1 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
track 20 rtr 2 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Маршруты на все внешние сети на обоих провайдеров&lt;br /&gt;
! Маршруты привязаны к трэкам&lt;br /&gt;
! и будут активироваться только если трэк в состоянии Up&lt;br /&gt;
! т.е. если шлюз на соответствующего провайдера доступен&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров1 track 10&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров2 track 20&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
int fa 0/0&lt;br /&gt;
  no shut&lt;br /&gt;
!&lt;br /&gt;
! Саб-интерфейсы в сторону внешних провайдеров&lt;br /&gt;
! помечаются как outside для NAT&lt;br /&gt;
interface FastEthernet0/0.1&lt;br /&gt;
 description ISP1&lt;br /&gt;
 encaps dot1q НомерВланПров1&lt;br /&gt;
 ip address ipНаПров1 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0.2&lt;br /&gt;
 description ISP2&lt;br /&gt;
 encapsulation dot1Q НомерВланПров2&lt;br /&gt;
 ip address ipНаПров2 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
! Интерфейс на внутр сеть&lt;br /&gt;
! помечается как inside для NAT&lt;br /&gt;
! Привязывается политика маршрутизации PBR&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
 ip address ipНаВнутрСеть маска&lt;br /&gt;
 ip nat inside&lt;br /&gt;
 ip policy route-map PBR&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
! Аксесс-листы из внутр сети наружу&lt;br /&gt;
! На веб-трафик и на все остальное&lt;br /&gt;
ip access-list extended LOCAL&lt;br /&gt;
 permit ip внутрСеть any&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended WEB&lt;br /&gt;
 permit tcp внутрСеть any eq www&lt;br /&gt;
 permit tcp внутрСеть any eq 443&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended ALL&lt;br /&gt;
 permit ip any any&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! хитрый рут-мап PBR&lt;br /&gt;
! Если трафик из локалки на Веб&lt;br /&gt;
!    то назначить ему шлюзом первого провайдера&lt;br /&gt;
! Иначе, прочему трафику из локалки&lt;br /&gt;
!    назначить шлюзом второго провайдера.&lt;br /&gt;
! При назначении шлюза проверяются Трэки&lt;br /&gt;
route-map PBR permit 10&lt;br /&gt;
 match ip address WEB&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров1 1 track 10&lt;br /&gt;
!&lt;br /&gt;
route-map PBR permit 20&lt;br /&gt;
 match ip address ALL&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров2 1 track 20&lt;br /&gt;
!&lt;br /&gt;
!  &lt;br /&gt;
!  хитрый рут-мап ISP1&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.1&lt;br /&gt;
route-map ISP1 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.1&lt;br /&gt;
!&lt;br /&gt;
!  хитрый рут-мап ISP2&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.2&lt;br /&gt;
route-map ISP2 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.2&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Наконец, NAT ;-)&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки в первого провайдера Натить через первый интерфейс&lt;br /&gt;
ip nat inside source route-map ISP1 interface FastEthernet0/0.1 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки во второго провайдера Натить через второй интерфейс&lt;br /&gt;
ip nat inside source route-map ISP2 interface FastEthernet0/0.2 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик на фиктивный ДНС переНатить на Гугл-ДНС&lt;br /&gt;
!          no-alias - не создавать arp-proxy-alias для внешнего ip в статик-трансляции&lt;br /&gt;
ip nat outside source static 8.8.8.8 10.11.12.13 no-alias&lt;br /&gt;
!&lt;br /&gt;
! проброс внутреннего порта 3389 на внешний порт 1111&lt;br /&gt;
!          extendable - разрешает делать много записей для одного внутрХоста&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip1 1111 extendable&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip2 1111 extendable&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Разное ==&lt;br /&gt;
&lt;br /&gt;
TTL&lt;br /&gt;
&lt;br /&gt;
CGN (carrier grade nat) с особым пулом приватных адресов &lt;br /&gt;
&lt;br /&gt;
NAT как ALG (application layer gateway), (plain text protocols e.g. SIP)&lt;br /&gt;
NAT - helpers&lt;br /&gt;
&lt;br /&gt;
linux-style masquerade, mikrotik netmap&lt;br /&gt;
&lt;br /&gt;
NAT64, DNS64&lt;br /&gt;
&lt;br /&gt;
IPsec nat traversal&lt;br /&gt;
&lt;br /&gt;
uPNP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[Категория:Сети]]&lt;br /&gt;
[[Category:Cisco]] [[Category:NAT]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=457</id>
		<title>NAT (обзор и примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=457"/>
				<updated>2022-11-23T05:41:51Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Настройка на Cisco IOS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NAT != proxy ==&lt;br /&gt;
Это абсолютно разные технологии. Не путайте их.&lt;br /&gt;
&lt;br /&gt;
== Что такое NAT ==&lt;br /&gt;
&lt;br /&gt;
NAT - собирательный термин, обозначает технологию трансляции сетевых адресов и/или протоколов. NAT устройства производят над проходящими пакетами преобразования с заменой адресов, портов, протоколов и пр.&lt;br /&gt;
&lt;br /&gt;
Существуют более узкие понятие SNAT, DNAT, маскарадинг, PAT, NAT-PT и т.д.&lt;br /&gt;
&lt;br /&gt;
== зачем нужен NAT, как его используют ==&lt;br /&gt;
&lt;br /&gt;
Для вывода в интернет внутренней сети&lt;br /&gt;
* через пул внешних адресов&lt;br /&gt;
* через один внешний адрес&lt;br /&gt;
&lt;br /&gt;
Для подмены внешнего ip адреса другим (перенаправление трафика)&lt;br /&gt;
&lt;br /&gt;
Для балансировки нагрузки между одинаковыми серверами с разными ip адресами.&lt;br /&gt;
&lt;br /&gt;
Для объединения двух локальных сетей с пересекающейся внутренней адресацией.&lt;br /&gt;
&lt;br /&gt;
== как устроен NAT ==&lt;br /&gt;
&lt;br /&gt;
destination NAT&lt;br /&gt;
&lt;br /&gt;
source NAT&lt;br /&gt;
&lt;br /&gt;
s+d NAT (branch merging - evil!)&lt;br /&gt;
&lt;br /&gt;
PAT (overload)&lt;br /&gt;
&lt;br /&gt;
port-mapping, прокидывание портов&lt;br /&gt;
&lt;br /&gt;
== Преимущества и недостатки ==&lt;br /&gt;
&lt;br /&gt;
Несовместим с некоторыми протоколами. Конкретная реализация NAT должна поддерживать инспекцию требуемого протокола.&lt;br /&gt;
&lt;br /&gt;
NAT обладает свойством &amp;quot;экранировать&amp;quot; внутреннюю сеть от внешнего мира, но его нельзя использовать вместо межсетевого экрана.&lt;br /&gt;
&lt;br /&gt;
== Настройка на Cisco IOS ==&lt;br /&gt;
&lt;br /&gt;
Маршрутизаторы и межсетевые экраны Cisco поддерживают различные типы NAT, в зависимости от набора опций ПО. Наиболее используемым является метод NAT с привязкой внутренних локальных адресов в различные порты одного внешнего адреса (PAT в терминологии Cisco). &lt;br /&gt;
&lt;br /&gt;
Для настройки NAT на маршрутизаторе требуется:&lt;br /&gt;
o	Определить трафик, который необходимо транслировать (при помощи access-list’ов или route-map);&lt;br /&gt;
&lt;br /&gt;
 ip access-list extended LOCAL&lt;br /&gt;
 permit ip 10.0.0.0 0.255.255.255 any&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 route-map INT1&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/1.1&lt;br /&gt;
	Аксесс-лист LOCAL выбирает весь трафик из 10 сети.&lt;br /&gt;
&lt;br /&gt;
Роут-мап INT1 выбирает трафик аксесс-листа LOCAL, выходящий через сабинтерфейс Fa 0/1.1 &lt;br /&gt;
&lt;br /&gt;
o	Определить на какие внешние адреса проводить трансляцию. Выбрать пул внешних адресов. Для PAT достаточно одного адреса.&lt;br /&gt;
&lt;br /&gt;
 ip nat pool GLOBAL 212.192.64.74 212.192.64.74 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Задание пула внешних адресов с именем  GLOBAL. В пуле всего один адрес.&lt;br /&gt;
&lt;br /&gt;
o	Включить NAT для выбранных внутренних и внешних адресов.&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source route-map INT1 pool GLOBAL overload&lt;br /&gt;
&lt;br /&gt;
Включение NAT для трансляции адресов источника на внутреннем интерфейсе.&lt;br /&gt;
Будет транслироваться только трафик попадающий под условия роут-мапа INT1.&lt;br /&gt;
Внешний адрес будет браться из пула GLOBAL.&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source static tcp 10.0.0.1 23 212.192.64.74 23 extend&lt;br /&gt;
&lt;br /&gt;
Статическое «прокидывание порта» или «публикация сервиса».&lt;br /&gt;
В трафике идущем внутрь на адрес 212.192.64.74 на порт tcp 23 будет заменен адресат на адрес 10.0.0.1 и порт 23. &lt;br /&gt;
&lt;br /&gt;
o	Назначить внутренние и внешние интерфейсы.&lt;br /&gt;
 interface FastEthernet0/0&lt;br /&gt;
 ip nat inside&lt;br /&gt;
&lt;br /&gt;
 interface FastEthernet0/1.1&lt;br /&gt;
 ip nat outside&lt;br /&gt;
	 Интерфейс Fa 0/0 назначен внутренним для NAT.&lt;br /&gt;
&lt;br /&gt;
Сабинтерфейс Fa 0/1.1 назначен внешним для NAT.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
o	Отладка и диагностика:&lt;br /&gt;
 sh ip nat translations   - просмотр таблицы текущих трансляций;&lt;br /&gt;
 clear ip nat translations - удалить все текущие трансляции;&lt;br /&gt;
 debug ip nat – включение отладочных сообщений (undebug all – выключение отладки).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Настройка на Cisco IOS через ACL ==&lt;br /&gt;
&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0&lt;br /&gt;
ip address 10.0.0.1 255.255.255.0&lt;br /&gt;
ip nat inside&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
ip address 212.192.64.74 255.255.255.0&lt;br /&gt;
ip nat outside&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
ip nat inside source list LAN interface FastEthernet0/1 overload&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 212.192.64.1 &lt;br /&gt;
!&lt;br /&gt;
ip access-list extended LAN&lt;br /&gt;
permit ip 10.0.0.0 0.0.0.255 any&lt;br /&gt;
!&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
Приведем несколько демонстрационных примеров для эмулятора cisco Packet Tracer.&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода небольшой сети в интернет через пул внешних адресов&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_SNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода сети в интернет через один внешний адрес&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_PAT.pkt&lt;br /&gt;
&lt;br /&gt;
Схема объединения сетей с пересекающейся адресацией&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_SDNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Инструкция по cisco IOS NAT&lt;br /&gt;
http://www.cisco.com/en/US/technologies/tk648/tk361/tk438/technologies_white_paper09186a0080091cb9.html&lt;br /&gt;
&lt;br /&gt;
== Порядок работы NAT ==&lt;br /&gt;
Порядок применения правил NAT различается у различных производителей и на различном оборудовании. Приведем порядок применения политик NAT для маршрутизаторов на cisco IOS:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside-to-Outside	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET (Cisco Encryption Technology) or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
NAT inside to outside (local to global translation)&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect (Context-based Access Control (CBAC))&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outside-to-Inside&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
NAT outside to inside (global to local translation)&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect CBAC&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Интернет-канал от одного провайдера через NAT ==&lt;br /&gt;
Простая схема реализации NAT с одним провайдером&lt;br /&gt;
&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp_no_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
==  Резервирование интернет-канала от двух провайдеров при помощи NAT, ip sla ==&lt;br /&gt;
&lt;br /&gt;
Дано: мы получаем для нескольких компьютеров интернет от провайдера ISP1. Он выделили нам адрес 212.192.88.150.&lt;br /&gt;
Выход в интернет организован с этого ip адреса через NAT.&lt;br /&gt;
&lt;br /&gt;
Задача: подключить резервного провайдера - ISP2. Он выделит нам адрес 212.192.90.150.&lt;br /&gt;
Организовать балансировку трафика: web-трафик пускать через ISP1, прочий трафик - через ISP2.&lt;br /&gt;
В случае отказа одного из провайдеров - пускать весь трафик по живому каналу.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В чем сложность задачи?&lt;br /&gt;
clear ip nat translations?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Схема ===&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
=== Конфиг ===&lt;br /&gt;
&lt;br /&gt;
1 clear ip nat translations *&lt;br /&gt;
&lt;br /&gt;
Найден, оттестирован такой кусок EEM.&lt;br /&gt;
Не на всех версиях IOS  генерируется событие.. Надо уточнить.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
event manager applet NAT-TRACK&lt;br /&gt;
event syslog pattern &amp;quot;TRACKING-5-STATE&amp;quot;&lt;br /&gt;
action 0.1 cli command &amp;quot;enable&amp;quot;&lt;br /&gt;
action 0.2 wait 3&lt;br /&gt;
action 0.3 cli command &amp;quot;clear ip nat translation *&amp;quot;&lt;br /&gt;
action 0.4 syslog msg &amp;quot;NAT translation cleared after track state change&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2 При падении интерфейса на провайдера, велики шансы, что его шлюз будет пинговаться через второго&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
username ИМЯ password 0 ПАРОЛЬ&lt;br /&gt;
enable secret 0 ПАРОЛЬКОНФИГА&lt;br /&gt;
!&lt;br /&gt;
! контроль входа на маршрутизатор&lt;br /&gt;
line vty 0 4&lt;br /&gt;
 login local&lt;br /&gt;
!&lt;br /&gt;
! ДХЦП&lt;br /&gt;
ip dhcp pool LAN&lt;br /&gt;
   network ВнутрСеть Маска&lt;br /&gt;
   default-router Шлюз&lt;br /&gt;
   dns-server 10.11.12.13&lt;br /&gt;
! DNS - фиктивный придумали - НЕ из нашей локальной сети&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на адрес шлюза провайдера-1&lt;br /&gt;
! Ждать ответа 100 мс&lt;br /&gt;
! Пинговать с частотой 1 секунда&lt;br /&gt;
ip sla monitor 1&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров1 source-interface ИнтерфейсНаПров1&lt;br /&gt;
 timeout 100&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на провайдера-2&lt;br /&gt;
ip sla monitor 2&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров2 source-interface ИнтерфейсНаПров2&lt;br /&gt;
 timeout 50&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Запуск пинговалок 1 и 2, сейчас и навсегда&lt;br /&gt;
ip sla monitor schedule 1 life forever start-time now&lt;br /&gt;
ip sla monitor schedule 2 life forever start-time now&lt;br /&gt;
!&lt;br /&gt;
! Трэки 10 и 20 - отслеживание состояния пинговалок&lt;br /&gt;
! Реагирует на состояние Down или Up с задержкой 1 сек.&lt;br /&gt;
track 10 rtr 1 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
track 20 rtr 2 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Маршруты на все внешние сети на обоих провайдеров&lt;br /&gt;
! Маршруты привязаны к трэкам&lt;br /&gt;
! и будут активироваться только если трэк в состоянии Up&lt;br /&gt;
! т.е. если шлюз на соответствующего провайдера доступен&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров1 track 10&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров2 track 20&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
int fa 0/0&lt;br /&gt;
  no shut&lt;br /&gt;
!&lt;br /&gt;
! Саб-интерфейсы в сторону внешних провайдеров&lt;br /&gt;
! помечаются как outside для NAT&lt;br /&gt;
interface FastEthernet0/0.1&lt;br /&gt;
 description ISP1&lt;br /&gt;
 encaps dot1q НомерВланПров1&lt;br /&gt;
 ip address ipНаПров1 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0.2&lt;br /&gt;
 description ISP2&lt;br /&gt;
 encapsulation dot1Q НомерВланПров2&lt;br /&gt;
 ip address ipНаПров2 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
! Интерфейс на внутр сеть&lt;br /&gt;
! помечается как inside для NAT&lt;br /&gt;
! Привязывается политика маршрутизации PBR&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
 ip address ipНаВнутрСеть маска&lt;br /&gt;
 ip nat inside&lt;br /&gt;
 ip policy route-map PBR&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
! Аксесс-листы из внутр сети наружу&lt;br /&gt;
! На веб-трафик и на все остальное&lt;br /&gt;
ip access-list extended LOCAL&lt;br /&gt;
 permit ip внутрСеть any&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended WEB&lt;br /&gt;
 permit tcp внутрСеть any eq www&lt;br /&gt;
 permit tcp внутрСеть any eq 443&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended ALL&lt;br /&gt;
 permit ip any any&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! хитрый рут-мап PBR&lt;br /&gt;
! Если трафик из локалки на Веб&lt;br /&gt;
!    то назначить ему шлюзом первого провайдера&lt;br /&gt;
! Иначе, прочему трафику из локалки&lt;br /&gt;
!    назначить шлюзом второго провайдера.&lt;br /&gt;
! При назначении шлюза проверяются Трэки&lt;br /&gt;
route-map PBR permit 10&lt;br /&gt;
 match ip address WEB&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров1 1 track 10&lt;br /&gt;
!&lt;br /&gt;
route-map PBR permit 20&lt;br /&gt;
 match ip address ALL&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров2 1 track 20&lt;br /&gt;
!&lt;br /&gt;
!  &lt;br /&gt;
!  хитрый рут-мап ISP1&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.1&lt;br /&gt;
route-map ISP1 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.1&lt;br /&gt;
!&lt;br /&gt;
!  хитрый рут-мап ISP2&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.2&lt;br /&gt;
route-map ISP2 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.2&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Наконец, NAT ;-)&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки в первого провайдера Натить через первый интерфейс&lt;br /&gt;
ip nat inside source route-map ISP1 interface FastEthernet0/0.1 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки во второго провайдера Натить через второй интерфейс&lt;br /&gt;
ip nat inside source route-map ISP2 interface FastEthernet0/0.2 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик на фиктивный ДНС переНатить на Гугл-ДНС&lt;br /&gt;
!          no-alias - не создавать arp-proxy-alias для внешнего ip в статик-трансляции&lt;br /&gt;
ip nat outside source static 8.8.8.8 10.11.12.13 no-alias&lt;br /&gt;
!&lt;br /&gt;
! проброс внутреннего порта 3389 на внешний порт 1111&lt;br /&gt;
!          extendable - разрешает делать много записей для одного внутрХоста&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip1 1111 extendable&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip2 1111 extendable&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Разное ==&lt;br /&gt;
&lt;br /&gt;
TTL&lt;br /&gt;
&lt;br /&gt;
CGN (carrier grade nat) с особым пулом приватных адресов &lt;br /&gt;
&lt;br /&gt;
NAT как ALG (application layer gateway), (plain text protocols e.g. SIP)&lt;br /&gt;
NAT - helpers&lt;br /&gt;
&lt;br /&gt;
linux-style masquerade, mikrotik netmap&lt;br /&gt;
&lt;br /&gt;
NAT64, DNS64&lt;br /&gt;
&lt;br /&gt;
IPsec nat traversal&lt;br /&gt;
&lt;br /&gt;
uPNP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[Категория:Сети]]&lt;br /&gt;
[[Category:Cisco]] [[Category:NAT]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=%D0%91%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Cisco_IOS&amp;diff=456</id>
		<title>Базовая настройка Cisco IOS</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=%D0%91%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Cisco_IOS&amp;diff=456"/>
				<updated>2021-04-19T03:23:19Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Основные режимы CLI (Command Line Interface) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Интерфейс Cisco IOS ==&lt;br /&gt;
Для подключения к устройству используйте консольный кабель и программу Hyper Terminal, либо подключитесь по сети используя telnet или SSH.&lt;br /&gt;
Интерфейс Cisco IOS разделяется на несколько режимов. Доступные вам команды зависят от режима, в котором вы находитесь в данный момент. Для просмотра списка доступных в этом режиме команд введите знак вопроса (?).&lt;br /&gt;
Начиная сессию связи с устройством, вы обычно попадаете в пользовательский режим выполнения комманд, или user EXEC mode. В этом режиме список команд сильно ограничен. В основном доступно лишь несколько show и clear команд.&lt;br /&gt;
Чтобы получить доступ ко всем командам, требуется перейти в привилегированный режим (privileged EXEC mode). Переход осуществляется командой enable. Обычно требуется ввести пароль для доступа к привилегированному режиму. Из этого режима можно вводить любые команды либо перейти в режим конфигурирования.&lt;br /&gt;
 &lt;br /&gt;
Из режима конфигурирования можно переходить к настройкам интерфейсов, линий доступа, списков доступа или глобальным настройкам. Эти настройки задаются в соответствующих подрежимах либо в глобальном конфигурационном режиме. Все производимые настройки изменяют текущую конфигурацию или running-configuration. Текущая конфигурация теряется при перезагрузке. Если сохранить конфигурацию, то команды записываются в файл startup-configuration и не теряются при перезагрузке устройства.&lt;br /&gt;
Когда вы включаете маршрутизатор Cisco (подаете питание), сначала он проводит стартовую самодиагностику, power-on self-test или POST. Если она проходит успешно, то начинается загрузка Cisco IOS из флеш памяти (если IOS файл там есть). После загрузки, IOS ищет стартовую конфигурацию – startup-config - она находится в NVRAM. Стартовая конфигурация считывается и применяется, при этом она копируется в оперативную память RAM и называется текущей конфигурацией или running-config. После просмотра информации о загрузке нажмите Enter и вы перейдете к интерфейсу командной строки CLI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Основные режимы CLI (Command Line Interface) ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Switch&amp;gt;	Приглашение ввода в режиме User EXEC. Используется для базовых тестов, просмотра системной информации.&lt;br /&gt;
Выход по команде logout или quit&lt;br /&gt;
Switch&amp;gt; enable	Переход в режим Privileged EXEC. Становятся доступными все команды. Для возвращения в пользовательский режим введите команду disable.&lt;br /&gt;
Switch#	Приглашение ввода в режиме Privileged EXEC.&lt;br /&gt;
Выход по команде logout или quit&lt;br /&gt;
Switch# configure terminal	Переход в режим конфигурирования.&lt;br /&gt;
Выход по команде exit либо end.&lt;br /&gt;
Для выхода можно нажать Ctrl-Z&lt;br /&gt;
Switch(config)#	Приглашение ввода в режиме конфигурирования.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Система справки IOS ==&lt;br /&gt;
Команда	Описание&lt;br /&gt;
Switch# ?	Введите знак вопроса чтобы получить список доступных в этом режиме команд&lt;br /&gt;
Switch# con?&lt;br /&gt;
configure  connect	Начните вводить команду и поставьте знак вопроса, чтобы получить список команд, начинающихся с введенных символов.&lt;br /&gt;
Switch# configure t&amp;lt;tab&amp;gt;&lt;br /&gt;
Switch# configure terminal	Введите часть команды и нажмите &amp;lt;TAB&amp;gt;, чтобы система дописала частично введенную команду (либо вывела список команд, если есть несколько вариантов).&lt;br /&gt;
Switch&amp;gt; show ?	Введите команду, потом пробел, потом знак вопроса, чтобы получить список всех возможных аргументов и ключевых слов данной команды.&lt;br /&gt;
. &lt;br /&gt;
Switch&amp;gt; en&lt;br /&gt;
Switch# conf t&lt;br /&gt;
Switch(config)# int fa 0/0&lt;br /&gt;
Switch(config-if)#	Любую команду можно сократить до минимального числа символов, которые еще позволяют однозначно определить команду.&lt;br /&gt;
Switch(config)# int Vlan 1&lt;br /&gt;
Switch(config-if)# shutdown&lt;br /&gt;
Switch(config-if)# no shutdown	Почти у всех команд есть отрицательная форма, которая начинается с NO. Такая команда отменит или удалит введенную основную команду.&lt;br /&gt;
Стрелка вверх	Нажатие стрелки вверх позволяет вернуть предыдущую введенную команду (или более ранние).&lt;br /&gt;
Стрелка вниз	После прокручивания списка введенных команд, нажатие стрелки вниз позволяет вернуть следущую введенную команду (или более поздние).&lt;br /&gt;
Ctrl-A	Переводит курсор в начало введенной строки (аналог кнопки home).&lt;br /&gt;
Ctrl-E	Переводит курсор в конец введенной строки (аналог кнопки end).&lt;br /&gt;
Ctrl-D	Стирает символ, на котором стоит курсор (аналог кнопки delete).&lt;br /&gt;
Enter	Ввод - при постраничном ввыводе прокручивает вниз на одну строку.&lt;br /&gt;
Space	Пробел - при постраничном ввыводе прокручивает вниз на одну страницу.&lt;br /&gt;
Switch# show run | {inc|begin} exp&lt;br /&gt;
Switch# show run | inc interface&lt;br /&gt;
Switch# show run | beg dhcp	| include позволяет отфильтровать из вывода только строки соответствующие шаблону.&lt;br /&gt;
| begin позволяет начать вывод только со строки в которой содержится шаблон.&lt;br /&gt;
&lt;br /&gt;
Сообщения об ошибках CLI&lt;br /&gt;
% Ambiguous command: &lt;br /&gt;
	Вы ввели слишком мало символов и IOS не может однозначно определить команду.&lt;br /&gt;
Введите команду заново (нажмите стрелку вверх), и поставьте в конце знак вопроса, чтобы получить список доступных вариантов.&lt;br /&gt;
% Incomplete command.&lt;br /&gt;
	Вы не ввели обязательныз ключевых слов или параметров. Введите команду заново (нажмите стрелку вверх), и поставьте в конце знак вопроса, чтобы получить список доступных вариантов.&lt;br /&gt;
% Invalid input detected &lt;br /&gt;
at '^' marker.&lt;br /&gt;
	Вы ввели команду неверно. Стрелочка '^' указывает положение ошибки. Введите знак вопроса, чтобы уточнить доступные команды.&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] [[Категория:Сети]]&lt;br /&gt;
[[Category:Cisco]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=%D0%91%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Cisco_IOS&amp;diff=455</id>
		<title>Базовая настройка Cisco IOS</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=%D0%91%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Cisco_IOS&amp;diff=455"/>
				<updated>2021-04-19T03:23:05Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Интерфейс Cisco IOS ==&lt;br /&gt;
Для подключения к устройству используйте консольный кабель и программу Hyper Terminal, либо подключитесь по сети используя telnet или SSH.&lt;br /&gt;
Интерфейс Cisco IOS разделяется на несколько режимов. Доступные вам команды зависят от режима, в котором вы находитесь в данный момент. Для просмотра списка доступных в этом режиме команд введите знак вопроса (?).&lt;br /&gt;
Начиная сессию связи с устройством, вы обычно попадаете в пользовательский режим выполнения комманд, или user EXEC mode. В этом режиме список команд сильно ограничен. В основном доступно лишь несколько show и clear команд.&lt;br /&gt;
Чтобы получить доступ ко всем командам, требуется перейти в привилегированный режим (privileged EXEC mode). Переход осуществляется командой enable. Обычно требуется ввести пароль для доступа к привилегированному режиму. Из этого режима можно вводить любые команды либо перейти в режим конфигурирования.&lt;br /&gt;
 &lt;br /&gt;
Из режима конфигурирования можно переходить к настройкам интерфейсов, линий доступа, списков доступа или глобальным настройкам. Эти настройки задаются в соответствующих подрежимах либо в глобальном конфигурационном режиме. Все производимые настройки изменяют текущую конфигурацию или running-configuration. Текущая конфигурация теряется при перезагрузке. Если сохранить конфигурацию, то команды записываются в файл startup-configuration и не теряются при перезагрузке устройства.&lt;br /&gt;
Когда вы включаете маршрутизатор Cisco (подаете питание), сначала он проводит стартовую самодиагностику, power-on self-test или POST. Если она проходит успешно, то начинается загрузка Cisco IOS из флеш памяти (если IOS файл там есть). После загрузки, IOS ищет стартовую конфигурацию – startup-config - она находится в NVRAM. Стартовая конфигурация считывается и применяется, при этом она копируется в оперативную память RAM и называется текущей конфигурацией или running-config. После просмотра информации о загрузке нажмите Enter и вы перейдете к интерфейсу командной строки CLI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Основные режимы CLI (Command Line Interface) ==&lt;br /&gt;
[code]&lt;br /&gt;
Switch&amp;gt;	Приглашение ввода в режиме User EXEC. Используется для базовых тестов, просмотра системной информации.&lt;br /&gt;
Выход по команде logout или quit&lt;br /&gt;
Switch&amp;gt; enable	Переход в режим Privileged EXEC. Становятся доступными все команды. Для возвращения в пользовательский режим введите команду disable.&lt;br /&gt;
Switch#	Приглашение ввода в режиме Privileged EXEC.&lt;br /&gt;
Выход по команде logout или quit&lt;br /&gt;
Switch# configure terminal	Переход в режим конфигурирования.&lt;br /&gt;
Выход по команде exit либо end.&lt;br /&gt;
Для выхода можно нажать Ctrl-Z&lt;br /&gt;
Switch(config)#	Приглашение ввода в режиме конфигурирования.&lt;br /&gt;
[/code]&lt;br /&gt;
== Система справки IOS ==&lt;br /&gt;
Команда	Описание&lt;br /&gt;
Switch# ?	Введите знак вопроса чтобы получить список доступных в этом режиме команд&lt;br /&gt;
Switch# con?&lt;br /&gt;
configure  connect	Начните вводить команду и поставьте знак вопроса, чтобы получить список команд, начинающихся с введенных символов.&lt;br /&gt;
Switch# configure t&amp;lt;tab&amp;gt;&lt;br /&gt;
Switch# configure terminal	Введите часть команды и нажмите &amp;lt;TAB&amp;gt;, чтобы система дописала частично введенную команду (либо вывела список команд, если есть несколько вариантов).&lt;br /&gt;
Switch&amp;gt; show ?	Введите команду, потом пробел, потом знак вопроса, чтобы получить список всех возможных аргументов и ключевых слов данной команды.&lt;br /&gt;
. &lt;br /&gt;
Switch&amp;gt; en&lt;br /&gt;
Switch# conf t&lt;br /&gt;
Switch(config)# int fa 0/0&lt;br /&gt;
Switch(config-if)#	Любую команду можно сократить до минимального числа символов, которые еще позволяют однозначно определить команду.&lt;br /&gt;
Switch(config)# int Vlan 1&lt;br /&gt;
Switch(config-if)# shutdown&lt;br /&gt;
Switch(config-if)# no shutdown	Почти у всех команд есть отрицательная форма, которая начинается с NO. Такая команда отменит или удалит введенную основную команду.&lt;br /&gt;
Стрелка вверх	Нажатие стрелки вверх позволяет вернуть предыдущую введенную команду (или более ранние).&lt;br /&gt;
Стрелка вниз	После прокручивания списка введенных команд, нажатие стрелки вниз позволяет вернуть следущую введенную команду (или более поздние).&lt;br /&gt;
Ctrl-A	Переводит курсор в начало введенной строки (аналог кнопки home).&lt;br /&gt;
Ctrl-E	Переводит курсор в конец введенной строки (аналог кнопки end).&lt;br /&gt;
Ctrl-D	Стирает символ, на котором стоит курсор (аналог кнопки delete).&lt;br /&gt;
Enter	Ввод - при постраничном ввыводе прокручивает вниз на одну строку.&lt;br /&gt;
Space	Пробел - при постраничном ввыводе прокручивает вниз на одну страницу.&lt;br /&gt;
Switch# show run | {inc|begin} exp&lt;br /&gt;
Switch# show run | inc interface&lt;br /&gt;
Switch# show run | beg dhcp	| include позволяет отфильтровать из вывода только строки соответствующие шаблону.&lt;br /&gt;
| begin позволяет начать вывод только со строки в которой содержится шаблон.&lt;br /&gt;
&lt;br /&gt;
Сообщения об ошибках CLI&lt;br /&gt;
% Ambiguous command: &lt;br /&gt;
	Вы ввели слишком мало символов и IOS не может однозначно определить команду.&lt;br /&gt;
Введите команду заново (нажмите стрелку вверх), и поставьте в конце знак вопроса, чтобы получить список доступных вариантов.&lt;br /&gt;
% Incomplete command.&lt;br /&gt;
	Вы не ввели обязательныз ключевых слов или параметров. Введите команду заново (нажмите стрелку вверх), и поставьте в конце знак вопроса, чтобы получить список доступных вариантов.&lt;br /&gt;
% Invalid input detected &lt;br /&gt;
at '^' marker.&lt;br /&gt;
	Вы ввели команду неверно. Стрелочка '^' указывает положение ошибки. Введите знак вопроса, чтобы уточнить доступные команды.&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] [[Категория:Сети]]&lt;br /&gt;
[[Category:Cisco]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=%D0%91%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Cisco_IOS&amp;diff=454</id>
		<title>Базовая настройка Cisco IOS</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=%D0%91%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Cisco_IOS&amp;diff=454"/>
				<updated>2021-04-19T03:20:38Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Интерфейс Cisco IOS&lt;br /&gt;
Для подключения к устройству используйте консольный кабель и программу Hyper Terminal, либо подключитесь по сети используя telnet или SSH.&lt;br /&gt;
Интерфейс Cisco IOS разделяется на несколько режимов. Доступные вам команды зависят от режима, в котором вы находитесь в данный момент. Для просмотра списка доступных в этом режиме команд введите знак вопроса (?).&lt;br /&gt;
Начиная сессию связи с устройством, вы обычно попадаете в пользовательский режим выполнения комманд, или user EXEC mode. В этом режиме список команд сильно ограничен. В основном доступно лишь несколько show и clear команд.&lt;br /&gt;
Чтобы получить доступ ко всем командам, требуется перейти в привилегированный режим (privileged EXEC mode). Переход осуществляется командой enable. Обычно требуется ввести пароль для доступа к привилегированному режиму. Из этого режима можно вводить любые команды либо перейти в режим конфигурирования.&lt;br /&gt;
 &lt;br /&gt;
Из режима конфигурирования можно переходить к настройкам интерфейсов, линий доступа, списков доступа или глобальным настройкам. Эти настройки задаются в соответствующих подрежимах либо в глобальном конфигурационном режиме. Все производимые настройки изменяют текущую конфигурацию или running-configuration. Текущая конфигурация теряется при перезагрузке. Если сохранить конфигурацию, то команды записываются в файл startup-configuration и не теряются при перезагрузке устройства.&lt;br /&gt;
Когда вы включаете маршрутизатор Cisco (подаете питание), сначала он проводит стартовую самодиагностику, power-on self-test или POST. Если она проходит успешно, то начинается загрузка Cisco IOS из флеш памяти (если IOS файл там есть). После загрузки, IOS ищет стартовую конфигурацию – startup-config - она находится в NVRAM. Стартовая конфигурация считывается и применяется, при этом она копируется в оперативную память RAM и называется текущей конфигурацией или running-config. После просмотра информации о загрузке нажмите Enter и вы перейдете к интерфейсу командной строки CLI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Основные режимы CLI (Command Line Interface)&lt;br /&gt;
Команда	Описание&lt;br /&gt;
Switch&amp;gt;	Приглашение ввода в режиме User EXEC. Используется для базовых тестов, просмотра системной информации.&lt;br /&gt;
Выход по команде logout или quit&lt;br /&gt;
Switch&amp;gt; enable	Переход в режим Privileged EXEC. Становятся доступными все команды. Для возвращения в пользовательский режим введите команду disable.&lt;br /&gt;
Switch#	Приглашение ввода в режиме Privileged EXEC.&lt;br /&gt;
Выход по команде logout или quit&lt;br /&gt;
Switch# configure terminal	Переход в режим конфигурирования.&lt;br /&gt;
Выход по команде exit либо end.&lt;br /&gt;
Для выхода можно нажать Ctrl-Z&lt;br /&gt;
Switch(config)#	Приглашение ввода в режиме конфигурирования.&lt;br /&gt;
&lt;br /&gt;
Система справки IOS&lt;br /&gt;
Команда	Описание&lt;br /&gt;
Switch# ?	Введите знак вопроса чтобы получить список доступных в этом режиме команд&lt;br /&gt;
Switch# con?&lt;br /&gt;
configure  connect	Начните вводить команду и поставьте знак вопроса, чтобы получить список команд, начинающихся с введенных символов.&lt;br /&gt;
Switch# configure t&amp;lt;tab&amp;gt;&lt;br /&gt;
Switch# configure terminal	Введите часть команды и нажмите &amp;lt;TAB&amp;gt;, чтобы система дописала частично введенную команду (либо вывела список команд, если есть несколько вариантов).&lt;br /&gt;
Switch&amp;gt; show ?	Введите команду, потом пробел, потом знак вопроса, чтобы получить список всех возможных аргументов и ключевых слов данной команды.&lt;br /&gt;
. &lt;br /&gt;
Switch&amp;gt; en&lt;br /&gt;
Switch# conf t&lt;br /&gt;
Switch(config)# int fa 0/0&lt;br /&gt;
Switch(config-if)#	Любую команду можно сократить до минимального числа символов, которые еще позволяют однозначно определить команду.&lt;br /&gt;
Switch(config)# int Vlan 1&lt;br /&gt;
Switch(config-if)# shutdown&lt;br /&gt;
Switch(config-if)# no shutdown	Почти у всех команд есть отрицательная форма, которая начинается с NO. Такая команда отменит или удалит введенную основную команду.&lt;br /&gt;
Стрелка вверх	Нажатие стрелки вверх позволяет вернуть предыдущую введенную команду (или более ранние).&lt;br /&gt;
Стрелка вниз	После прокручивания списка введенных команд, нажатие стрелки вниз позволяет вернуть следущую введенную команду (или более поздние).&lt;br /&gt;
Ctrl-A	Переводит курсор в начало введенной строки (аналог кнопки home).&lt;br /&gt;
Ctrl-E	Переводит курсор в конец введенной строки (аналог кнопки end).&lt;br /&gt;
Ctrl-D	Стирает символ, на котором стоит курсор (аналог кнопки delete).&lt;br /&gt;
Enter	Ввод - при постраничном ввыводе прокручивает вниз на одну строку.&lt;br /&gt;
Space	Пробел - при постраничном ввыводе прокручивает вниз на одну страницу.&lt;br /&gt;
Switch# show run | {inc|begin} exp&lt;br /&gt;
Switch# show run | inc interface&lt;br /&gt;
Switch# show run | beg dhcp	| include позволяет отфильтровать из вывода только строки соответствующие шаблону.&lt;br /&gt;
| begin позволяет начать вывод только со строки в которой содержится шаблон.&lt;br /&gt;
&lt;br /&gt;
Сообщения об ошибках CLI&lt;br /&gt;
% Ambiguous command: &lt;br /&gt;
	Вы ввели слишком мало символов и IOS не может однозначно определить команду.&lt;br /&gt;
Введите команду заново (нажмите стрелку вверх), и поставьте в конце знак вопроса, чтобы получить список доступных вариантов.&lt;br /&gt;
% Incomplete command.&lt;br /&gt;
	Вы не ввели обязательныз ключевых слов или параметров. Введите команду заново (нажмите стрелку вверх), и поставьте в конце знак вопроса, чтобы получить список доступных вариантов.&lt;br /&gt;
% Invalid input detected &lt;br /&gt;
at '^' marker.&lt;br /&gt;
	Вы ввели команду неверно. Стрелочка '^' указывает положение ошибки. Введите знак вопроса, чтобы уточнить доступные команды.&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] [[Категория:Сети]]&lt;br /&gt;
[[Category:Cisco]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=%D0%91%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Cisco_IOS&amp;diff=453</id>
		<title>Базовая настройка Cisco IOS</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=%D0%91%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_Cisco_IOS&amp;diff=453"/>
				<updated>2021-04-19T03:19:36Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: Новая страница: «Интерфейс Cisco IOS Для подключения к устройству используйте консольный кабель и программу…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Интерфейс Cisco IOS&lt;br /&gt;
Для подключения к устройству используйте консольный кабель и программу Hyper Terminal, либо подключитесь по сети используя telnet или SSH.&lt;br /&gt;
Интерфейс Cisco IOS разделяется на несколько режимов. Доступные вам команды зависят от режима, в котором вы находитесь в данный момент. Для просмотра списка доступных в этом режиме команд введите знак вопроса (?).&lt;br /&gt;
Начиная сессию связи с устройством, вы обычно попадаете в пользовательский режим выполнения комманд, или user EXEC mode. В этом режиме список команд сильно ограничен. В основном доступно лишь несколько show и clear команд.&lt;br /&gt;
Чтобы получить доступ ко всем командам, требуется перейти в привилегированный режим (privileged EXEC mode). Переход осуществляется командой enable. Обычно требуется ввести пароль для доступа к привилегированному режиму. Из этого режима можно вводить любые команды либо перейти в режим конфигурирования.&lt;br /&gt;
 &lt;br /&gt;
Из режима конфигурирования можно переходить к настройкам интерфейсов, линий доступа, списков доступа или глобальным настройкам. Эти настройки задаются в соответствующих подрежимах либо в глобальном конфигурационном режиме. Все производимые настройки изменяют текущую конфигурацию или running-configuration. Текущая конфигурация теряется при перезагрузке. Если сохранить конфигурацию, то команды записываются в файл startup-configuration и не теряются при перезагрузке устройства.&lt;br /&gt;
Когда вы включаете маршрутизатор Cisco (подаете питание), сначала он проводит стартовую самодиагностику, power-on self-test или POST. Если она проходит успешно, то начинается загрузка Cisco IOS из флеш памяти (если IOS файл там есть). После загрузки, IOS ищет стартовую конфигурацию – startup-config - она находится в NVRAM. Стартовая конфигурация считывается и применяется, при этом она копируется в оперативную память RAM и называется текущей конфигурацией или running-config. После просмотра информации о загрузке нажмите Enter и вы перейдете к интерфейсу командной строки CLI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Основные режимы CLI (Command Line Interface)&lt;br /&gt;
Команда	Описание&lt;br /&gt;
Switch&amp;gt;	Приглашение ввода в режиме User EXEC. Используется для базовых тестов, просмотра системной информации.&lt;br /&gt;
Выход по команде logout или quit&lt;br /&gt;
Switch&amp;gt; enable	Переход в режим Privileged EXEC. Становятся доступными все команды. Для возвращения в пользовательский режим введите команду disable.&lt;br /&gt;
Switch#	Приглашение ввода в режиме Privileged EXEC.&lt;br /&gt;
Выход по команде logout или quit&lt;br /&gt;
Switch# configure terminal	Переход в режим конфигурирования.&lt;br /&gt;
Выход по команде exit либо end.&lt;br /&gt;
Для выхода можно нажать Ctrl-Z&lt;br /&gt;
Switch(config)#	Приглашение ввода в режиме конфигурирования.&lt;br /&gt;
&lt;br /&gt;
Система справки IOS&lt;br /&gt;
Команда	Описание&lt;br /&gt;
Switch# ?	Введите знак вопроса чтобы получить список доступных в этом режиме команд&lt;br /&gt;
Switch# con?&lt;br /&gt;
configure  connect	Начните вводить команду и поставьте знак вопроса, чтобы получить список команд, начинающихся с введенных символов.&lt;br /&gt;
Switch# configure t&amp;lt;tab&amp;gt;&lt;br /&gt;
Switch# configure terminal	Введите часть команды и нажмите &amp;lt;TAB&amp;gt;, чтобы система дописала частично введенную команду (либо вывела список команд, если есть несколько вариантов).&lt;br /&gt;
Switch&amp;gt; show ?	Введите команду, потом пробел, потом знак вопроса, чтобы получить список всех возможных аргументов и ключевых слов данной команды.&lt;br /&gt;
. &lt;br /&gt;
Switch&amp;gt; en&lt;br /&gt;
Switch# conf t&lt;br /&gt;
Switch(config)# int fa 0/0&lt;br /&gt;
Switch(config-if)#	Любую команду можно сократить до минимального числа символов, которые еще позволяют однозначно определить команду.&lt;br /&gt;
Switch(config)# int Vlan 1&lt;br /&gt;
Switch(config-if)# shutdown&lt;br /&gt;
Switch(config-if)# no shutdown	Почти у всех команд есть отрицательная форма, которая начинается с NO. Такая команда отменит или удалит введенную основную команду.&lt;br /&gt;
Стрелка вверх	Нажатие стрелки вверх позволяет вернуть предыдущую введенную команду (или более ранние).&lt;br /&gt;
Стрелка вниз	После прокручивания списка введенных команд, нажатие стрелки вниз позволяет вернуть следущую введенную команду (или более поздние).&lt;br /&gt;
Ctrl-A	Переводит курсор в начало введенной строки (аналог кнопки home).&lt;br /&gt;
Ctrl-E	Переводит курсор в конец введенной строки (аналог кнопки end).&lt;br /&gt;
Ctrl-D	Стирает символ, на котором стоит курсор (аналог кнопки delete).&lt;br /&gt;
Enter	Ввод - при постраничном ввыводе прокручивает вниз на одну строку.&lt;br /&gt;
Space	Пробел - при постраничном ввыводе прокручивает вниз на одну страницу.&lt;br /&gt;
Switch# show run | {inc|begin} exp&lt;br /&gt;
Switch# show run | inc interface&lt;br /&gt;
Switch# show run | beg dhcp	| include позволяет отфильтровать из вывода только строки соответствующие шаблону.&lt;br /&gt;
| begin позволяет начать вывод только со строки в которой содержится шаблон.&lt;br /&gt;
&lt;br /&gt;
Сообщения об ошибках CLI&lt;br /&gt;
% Ambiguous command: &lt;br /&gt;
	Вы ввели слишком мало символов и IOS не может однозначно определить команду.&lt;br /&gt;
Введите команду заново (нажмите стрелку вверх), и поставьте в конце знак вопроса, чтобы получить список доступных вариантов.&lt;br /&gt;
% Incomplete command.&lt;br /&gt;
	Вы не ввели обязательныз ключевых слов или параметров. Введите команду заново (нажмите стрелку вверх), и поставьте в конце знак вопроса, чтобы получить список доступных вариантов.&lt;br /&gt;
% Invalid input detected &lt;br /&gt;
at '^' marker.&lt;br /&gt;
	Вы ввели команду неверно. Стрелочка '^' указывает положение ошибки. Введите знак вопроса, чтобы уточнить доступные команды.&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B_(%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=452</id>
		<title>Сокеты (простые примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B_(%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=452"/>
				<updated>2021-01-19T08:16:13Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Простые примеры по работе с UDP и TCP-сокетами для Python. Возможны незначительные вариации синтаксиса между 2.7 и 3 версией python.&lt;br /&gt;
&lt;br /&gt;
== UDP - half-duplex datagram ==&lt;br /&gt;
=== Server ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
u = socket(AF_INET, SOCK_DGRAM)&lt;br /&gt;
u.bind((&amp;quot;0.0.0.0&amp;quot;,1234))   // ip-port tuple to bind server&lt;br /&gt;
&lt;br /&gt;
while 1:&lt;br /&gt;
     message,sender= u.recvfrom(1024)&lt;br /&gt;
     print 'Client' + str(sender) + ' said: ' + message&lt;br /&gt;
     if message == '':&lt;br /&gt;
             break&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Client ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
u = socket(AF_INET, SOCK_DGRAM)&lt;br /&gt;
u.sendto(&amp;quot;Hello world!&amp;quot;, (&amp;quot;1.2.3.4&amp;quot;,1234)) // ip-port tuple of server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
== TCP - full-duplex stream ==&lt;br /&gt;
=== Server ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
t = socket(AF_INET, SOCK_STREAM)    &lt;br /&gt;
t.bind((&amp;quot;0.0.0.0&amp;quot;,1234))                    &lt;br /&gt;
t.listen() &lt;br /&gt;
c = t.accept()&lt;br /&gt;
c&lt;br /&gt;
c[0].recv(200)&lt;br /&gt;
   'jellojellojello'&lt;br /&gt;
c[0].send(b&amp;quot;Hi&amp;quot;)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
from socket import *&lt;br /&gt;
t = socket(AF_INET, SOCK_STREAM)&lt;br /&gt;
t.connect((&amp;quot;1.2.3.4&amp;quot;,1234))&lt;br /&gt;
socket.error: [Errno 111] Connection refused&lt;br /&gt;
&lt;br /&gt;
t.send(b&amp;quot;jello&amp;quot;)&lt;br /&gt;
t.recv(10)&lt;br /&gt;
&lt;br /&gt;
while 1:&lt;br /&gt;
     t.send(b&amp;quot;jello&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 x.close()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[Категория:Сети]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B_(%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=451</id>
		<title>Сокеты (простые примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B_(%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=451"/>
				<updated>2021-01-19T08:15:40Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Простые примеры по работе с UDP и TCP-сокетами для Python. Возможны незначительные вариации синтаксиса между 2.7 и 3 версией python.&lt;br /&gt;
&lt;br /&gt;
== UDP - half-duplex datagram ==&lt;br /&gt;
=== Server ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
u = socket(AF_INET, SOCK_DGRAM)&lt;br /&gt;
u.bind((&amp;quot;0.0.0.0&amp;quot;,1234))   // ip-port tuple to bind server&lt;br /&gt;
&lt;br /&gt;
while 1:&lt;br /&gt;
     message,sender= u.recvfrom(1024)&lt;br /&gt;
     print 'Client' + str(sender) + ' said: ' + message&lt;br /&gt;
     if message == '':&lt;br /&gt;
             break&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Client ===&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
u = socket(AF_INET, SOCK_DGRAM)&lt;br /&gt;
u.sendto(&amp;quot;Hello world!&amp;quot;, (&amp;quot;1.2.3.4&amp;quot;,1234)) // ip-port tuple of server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TCP - full-duplex stream ==&lt;br /&gt;
=== Server ===&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
t = socket(AF_INET, SOCK_STREAM)    &lt;br /&gt;
t.bind((&amp;quot;0.0.0.0&amp;quot;,1234))                    &lt;br /&gt;
t.listen() &lt;br /&gt;
c = t.accept()&lt;br /&gt;
c&lt;br /&gt;
c[0].recv(200)&lt;br /&gt;
   'jellojellojello'&lt;br /&gt;
c[0].send(b&amp;quot;Hi&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
from socket import *&lt;br /&gt;
t = socket(AF_INET, SOCK_STREAM)&lt;br /&gt;
t.connect((&amp;quot;1.2.3.4&amp;quot;,1234))&lt;br /&gt;
socket.error: [Errno 111] Connection refused&lt;br /&gt;
&lt;br /&gt;
t.send(b&amp;quot;jello&amp;quot;)&lt;br /&gt;
t.recv(10)&lt;br /&gt;
&lt;br /&gt;
while 1:&lt;br /&gt;
     t.send(b&amp;quot;jello&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 x.close()&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[Категория:Сети]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B_(%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=450</id>
		<title>Сокеты (простые примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B_(%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=450"/>
				<updated>2021-01-19T08:15:31Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Простые примеры по работе с UDP и TCP-сокетами для Python. Возможны незначительные вариации синтаксиса между 2.7 и 3 версией python.&lt;br /&gt;
&lt;br /&gt;
== UDP - half-duplex datagram ==&lt;br /&gt;
=== Server ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
u = socket(AF_INET, SOCK_DGRAM)&lt;br /&gt;
u.bind((&amp;quot;0.0.0.0&amp;quot;,1234))   // ip-port tuple to bind server&lt;br /&gt;
&lt;br /&gt;
while 1:&lt;br /&gt;
     message,sender= u.recvfrom(1024)&lt;br /&gt;
     print 'Client' + str(sender) + ' said: ' + message&lt;br /&gt;
     if message == '':&lt;br /&gt;
             break&lt;br /&gt;
[/code]&lt;br /&gt;
=== Client ===&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
u = socket(AF_INET, SOCK_DGRAM)&lt;br /&gt;
u.sendto(&amp;quot;Hello world!&amp;quot;, (&amp;quot;1.2.3.4&amp;quot;,1234)) // ip-port tuple of server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TCP - full-duplex stream ==&lt;br /&gt;
=== Server ===&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
t = socket(AF_INET, SOCK_STREAM)    &lt;br /&gt;
t.bind((&amp;quot;0.0.0.0&amp;quot;,1234))                    &lt;br /&gt;
t.listen() &lt;br /&gt;
c = t.accept()&lt;br /&gt;
c&lt;br /&gt;
c[0].recv(200)&lt;br /&gt;
   'jellojellojello'&lt;br /&gt;
c[0].send(b&amp;quot;Hi&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
from socket import *&lt;br /&gt;
t = socket(AF_INET, SOCK_STREAM)&lt;br /&gt;
t.connect((&amp;quot;1.2.3.4&amp;quot;,1234))&lt;br /&gt;
socket.error: [Errno 111] Connection refused&lt;br /&gt;
&lt;br /&gt;
t.send(b&amp;quot;jello&amp;quot;)&lt;br /&gt;
t.recv(10)&lt;br /&gt;
&lt;br /&gt;
while 1:&lt;br /&gt;
     t.send(b&amp;quot;jello&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 x.close()&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[Категория:Сети]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B_(%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=449</id>
		<title>Сокеты (простые примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B_(%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=449"/>
				<updated>2021-01-19T08:15:18Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Простые примеры по работе с UDP и TCP-сокетами для Python. Возможны незначительные вариации синтаксиса между 2.7 и 3 версией python.&lt;br /&gt;
&lt;br /&gt;
== UDP - half-duplex datagram ==&lt;br /&gt;
=== Server ===&lt;br /&gt;
[code]&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
u = socket(AF_INET, SOCK_DGRAM)&lt;br /&gt;
u.bind((&amp;quot;0.0.0.0&amp;quot;,1234))   // ip-port tuple to bind server&lt;br /&gt;
&lt;br /&gt;
while 1:&lt;br /&gt;
     message,sender= u.recvfrom(1024)&lt;br /&gt;
     print 'Client' + str(sender) + ' said: ' + message&lt;br /&gt;
     if message == '':&lt;br /&gt;
             break&lt;br /&gt;
[/code]&lt;br /&gt;
=== Client ===&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
u = socket(AF_INET, SOCK_DGRAM)&lt;br /&gt;
u.sendto(&amp;quot;Hello world!&amp;quot;, (&amp;quot;1.2.3.4&amp;quot;,1234)) // ip-port tuple of server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TCP - full-duplex stream ==&lt;br /&gt;
=== Server ===&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
t = socket(AF_INET, SOCK_STREAM)    &lt;br /&gt;
t.bind((&amp;quot;0.0.0.0&amp;quot;,1234))                    &lt;br /&gt;
t.listen() &lt;br /&gt;
c = t.accept()&lt;br /&gt;
c&lt;br /&gt;
c[0].recv(200)&lt;br /&gt;
   'jellojellojello'&lt;br /&gt;
c[0].send(b&amp;quot;Hi&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
from socket import *&lt;br /&gt;
t = socket(AF_INET, SOCK_STREAM)&lt;br /&gt;
t.connect((&amp;quot;1.2.3.4&amp;quot;,1234))&lt;br /&gt;
socket.error: [Errno 111] Connection refused&lt;br /&gt;
&lt;br /&gt;
t.send(b&amp;quot;jello&amp;quot;)&lt;br /&gt;
t.recv(10)&lt;br /&gt;
&lt;br /&gt;
while 1:&lt;br /&gt;
     t.send(b&amp;quot;jello&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 x.close()&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[Категория:Сети]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B_(%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=448</id>
		<title>Сокеты (простые примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B_(%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=448"/>
				<updated>2021-01-19T08:14:57Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Простые примеры по работе с UDP и TCP-сокетами для Python. Возможны незначительные вариации синтаксиса между 2.7 и 3 версией python.&lt;br /&gt;
&lt;br /&gt;
== UDP - half-duplex datagram ==&lt;br /&gt;
=== Server ===&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
u = socket(AF_INET, SOCK_DGRAM)&lt;br /&gt;
u.bind((&amp;quot;0.0.0.0&amp;quot;,1234))   // ip-port tuple to bind server&lt;br /&gt;
&lt;br /&gt;
while 1:&lt;br /&gt;
     message,sender= u.recvfrom(1024)&lt;br /&gt;
     print 'Client' + str(sender) + ' said: ' + message&lt;br /&gt;
     if message == '':&lt;br /&gt;
             break&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
u = socket(AF_INET, SOCK_DGRAM)&lt;br /&gt;
u.sendto(&amp;quot;Hello world!&amp;quot;, (&amp;quot;1.2.3.4&amp;quot;,1234)) // ip-port tuple of server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TCP - full-duplex stream ==&lt;br /&gt;
=== Server ===&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
t = socket(AF_INET, SOCK_STREAM)    &lt;br /&gt;
t.bind((&amp;quot;0.0.0.0&amp;quot;,1234))                    &lt;br /&gt;
t.listen() &lt;br /&gt;
c = t.accept()&lt;br /&gt;
c&lt;br /&gt;
c[0].recv(200)&lt;br /&gt;
   'jellojellojello'&lt;br /&gt;
c[0].send(b&amp;quot;Hi&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
from socket import *&lt;br /&gt;
t = socket(AF_INET, SOCK_STREAM)&lt;br /&gt;
t.connect((&amp;quot;1.2.3.4&amp;quot;,1234))&lt;br /&gt;
socket.error: [Errno 111] Connection refused&lt;br /&gt;
&lt;br /&gt;
t.send(b&amp;quot;jello&amp;quot;)&lt;br /&gt;
t.recv(10)&lt;br /&gt;
&lt;br /&gt;
while 1:&lt;br /&gt;
     t.send(b&amp;quot;jello&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 x.close()&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[Категория:Сети]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B_(%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=447</id>
		<title>Сокеты (простые примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B_(%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=447"/>
				<updated>2021-01-19T08:13:52Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Простые примеры по работе с UDP и TCP-сокетами для Python. Возможны незначительные вариации синтаксиса между 2.7 и 3 версией python.&lt;br /&gt;
&lt;br /&gt;
* UDP - half-duplex datagram&lt;br /&gt;
** Server&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
u = socket(AF_INET, SOCK_DGRAM)&lt;br /&gt;
u.bind((&amp;quot;0.0.0.0&amp;quot;,1234))   // ip-port tuple to bind server&lt;br /&gt;
&lt;br /&gt;
while 1:&lt;br /&gt;
     message,sender= u.recvfrom(1024)&lt;br /&gt;
     print 'Client' + str(sender) + ' said: ' + message&lt;br /&gt;
     if message == '':&lt;br /&gt;
             break&lt;br /&gt;
&lt;br /&gt;
Client =============================================&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
u = socket(AF_INET, SOCK_DGRAM)&lt;br /&gt;
u.sendto(&amp;quot;Hello world!&amp;quot;, (&amp;quot;1.2.3.4&amp;quot;,1234)) // ip-port tuple of server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TCP - full-duplex stream&lt;br /&gt;
Server =============================================&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
t = socket(AF_INET, SOCK_STREAM)    &lt;br /&gt;
t.bind((&amp;quot;0.0.0.0&amp;quot;,1234))                    &lt;br /&gt;
t.listen() &lt;br /&gt;
c = t.accept()&lt;br /&gt;
c&lt;br /&gt;
c[0].recv(200)&lt;br /&gt;
   'jellojellojello'&lt;br /&gt;
c[0].send(b&amp;quot;Hi&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Client ==============================================&lt;br /&gt;
from socket import *&lt;br /&gt;
t = socket(AF_INET, SOCK_STREAM)&lt;br /&gt;
t.connect((&amp;quot;1.2.3.4&amp;quot;,1234))&lt;br /&gt;
socket.error: [Errno 111] Connection refused&lt;br /&gt;
&lt;br /&gt;
t.send(b&amp;quot;jello&amp;quot;)&lt;br /&gt;
t.recv(10)&lt;br /&gt;
&lt;br /&gt;
while 1:&lt;br /&gt;
     t.send(b&amp;quot;jello&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 x.close()&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[Категория:Сети]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B_(%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=446</id>
		<title>Сокеты (простые примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B_(%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=446"/>
				<updated>2021-01-19T08:13:26Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Простые примеры по работе с UDP и TCP-сокетами для Python. Возможны незначительные вариации синтаксиса между 2.7 и 3 версией python.&lt;br /&gt;
Simple sockets python&lt;br /&gt;
&lt;br /&gt;
UDP - half-duplex datagram&lt;br /&gt;
Server =============================================&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
u = socket(AF_INET, SOCK_DGRAM)&lt;br /&gt;
u.bind((&amp;quot;0.0.0.0&amp;quot;,1234))   // ip-port tuple to bind server&lt;br /&gt;
&lt;br /&gt;
while 1:&lt;br /&gt;
     message,sender= u.recvfrom(1024)&lt;br /&gt;
     print 'Client' + str(sender) + ' said: ' + message&lt;br /&gt;
     if message == '':&lt;br /&gt;
             break&lt;br /&gt;
&lt;br /&gt;
Client =============================================&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
u = socket(AF_INET, SOCK_DGRAM)&lt;br /&gt;
u.sendto(&amp;quot;Hello world!&amp;quot;, (&amp;quot;1.2.3.4&amp;quot;,1234)) // ip-port tuple of server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TCP - full-duplex stream&lt;br /&gt;
Server =============================================&lt;br /&gt;
from socket import *&lt;br /&gt;
&lt;br /&gt;
t = socket(AF_INET, SOCK_STREAM)    &lt;br /&gt;
t.bind((&amp;quot;0.0.0.0&amp;quot;,1234))                    &lt;br /&gt;
t.listen() &lt;br /&gt;
c = t.accept()&lt;br /&gt;
c&lt;br /&gt;
c[0].recv(200)&lt;br /&gt;
   'jellojellojello'&lt;br /&gt;
c[0].send(b&amp;quot;Hi&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Client ==============================================&lt;br /&gt;
from socket import *&lt;br /&gt;
t = socket(AF_INET, SOCK_STREAM)&lt;br /&gt;
t.connect((&amp;quot;1.2.3.4&amp;quot;,1234))&lt;br /&gt;
socket.error: [Errno 111] Connection refused&lt;br /&gt;
&lt;br /&gt;
t.send(b&amp;quot;jello&amp;quot;)&lt;br /&gt;
t.recv(10)&lt;br /&gt;
&lt;br /&gt;
while 1:&lt;br /&gt;
     t.send(b&amp;quot;jello&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 x.close()&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[Категория:Сети]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B_(%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=445</id>
		<title>Сокеты (простые примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=%D0%A1%D0%BE%D0%BA%D0%B5%D1%82%D1%8B_(%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=445"/>
				<updated>2021-01-19T08:11:24Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: Новая страница: «категория:Лекции  Категория:Сети»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[категория:Лекции]] &lt;br /&gt;
[[Категория:Сети]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=441</id>
		<title>NAT (обзор и примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=441"/>
				<updated>2020-06-16T05:48:48Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Конфиг */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NAT != proxy ==&lt;br /&gt;
Это абсолютно разные технологии. Не путайте их.&lt;br /&gt;
&lt;br /&gt;
== Что такое NAT ==&lt;br /&gt;
&lt;br /&gt;
NAT - собирательный термин, обозначает технологию трансляции сетевых адресов и/или протоколов. NAT устройства производят над проходящими пакетами преобразования с заменой адресов, портов, протоколов и пр.&lt;br /&gt;
&lt;br /&gt;
Существуют более узкие понятие SNAT, DNAT, маскарадинг, PAT, NAT-PT и т.д.&lt;br /&gt;
&lt;br /&gt;
== зачем нужен NAT, как его используют ==&lt;br /&gt;
&lt;br /&gt;
Для вывода в интернет внутренней сети&lt;br /&gt;
* через пул внешних адресов&lt;br /&gt;
* через один внешний адрес&lt;br /&gt;
&lt;br /&gt;
Для подмены внешнего ip адреса другим (перенаправление трафика)&lt;br /&gt;
&lt;br /&gt;
Для балансировки нагрузки между одинаковыми серверами с разными ip адресами.&lt;br /&gt;
&lt;br /&gt;
Для объединения двух локальных сетей с пересекающейся внутренней адресацией.&lt;br /&gt;
&lt;br /&gt;
== как устроен NAT ==&lt;br /&gt;
&lt;br /&gt;
destination NAT&lt;br /&gt;
&lt;br /&gt;
source NAT&lt;br /&gt;
&lt;br /&gt;
s+d NAT (branch merging - evil!)&lt;br /&gt;
&lt;br /&gt;
PAT (overload)&lt;br /&gt;
&lt;br /&gt;
port-mapping, прокидывание портов&lt;br /&gt;
&lt;br /&gt;
== Преимущества и недостатки ==&lt;br /&gt;
&lt;br /&gt;
Несовместим с некоторыми протоколами. Конкретная реализация NAT должна поддерживать инспекцию требуемого протокола.&lt;br /&gt;
&lt;br /&gt;
NAT обладает свойством &amp;quot;экранировать&amp;quot; внутреннюю сеть от внешнего мира, но его нельзя использовать вместо межсетевого экрана.&lt;br /&gt;
&lt;br /&gt;
== Настройка на Cisco IOS ==&lt;br /&gt;
&lt;br /&gt;
Маршрутизаторы и межсетевые экраны Cisco поддерживают различные типы NAT, в зависимости от набора опций ПО. Наиболее используемым является метод NAT с привязкой внутренних локальных адресов в различные порты одного внешнего адреса (PAT в терминологии Cisco). &lt;br /&gt;
&lt;br /&gt;
Для настройки NAT на маршрутизаторе требуется:&lt;br /&gt;
o	Определить трафик, который необходимо транслировать (при помощи access-list’ов или route-map);&lt;br /&gt;
&lt;br /&gt;
 ip access-list extended LOCAL&lt;br /&gt;
 permit ip 10.0.0.0 0.255.255.255 any&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 route-map INT1&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/1.1&lt;br /&gt;
	Аксесс-лист LOCAL выбирает весь трафик из 10 сети.&lt;br /&gt;
&lt;br /&gt;
Роут-мап INT1 выбирает трафик аксесс-листа LOCAL, выходящий через сабинтерфейс Fa 0/1.1 &lt;br /&gt;
&lt;br /&gt;
o	Определить на какие внешние адреса проводить трансляцию. Выбрать пул внешних адресов. Для PAT достаточно одного адреса.&lt;br /&gt;
&lt;br /&gt;
 ip nat pool GLOBAL 212.192.64.74 212.192.64.74 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Задание пула внешних адресов с именем  GLOBAL. В пуле всего один адрес.&lt;br /&gt;
&lt;br /&gt;
o	Включить NAT для выбранных внутренних и внешних адресов.&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source route-map INT1 pool GLOBAL overload&lt;br /&gt;
&lt;br /&gt;
Включение NAT для трансляции адресов источника на внутреннем интерфейсе.&lt;br /&gt;
Будет транслироваться только трафик попадающий под условия роут-мапа INT1.&lt;br /&gt;
Внешний адрес будет браться из пула GLOBAL.&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source static tcp 10.0.0.1 23 212.192.64.74 23 extend&lt;br /&gt;
&lt;br /&gt;
Статическое «прокидывание порта» или «публикация сервиса».&lt;br /&gt;
В трафике идущем внутрь на адрес 212.192.64.74 на порт tcp 23 будет заменен адресат на адрес 10.0.0.1 и порт 23. &lt;br /&gt;
&lt;br /&gt;
o	Назначить внутренние и внешние интерфейсы.&lt;br /&gt;
 interface FastEthernet0/0&lt;br /&gt;
 ip nat inside&lt;br /&gt;
&lt;br /&gt;
 interface FastEthernet0/1.1&lt;br /&gt;
 ip nat outside&lt;br /&gt;
	 Интерфейс Fa 0/0 назначен внутренним для NAT.&lt;br /&gt;
&lt;br /&gt;
Сабинтерфейс Fa 0/1.1 назначен внешним для NAT.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
o	Отладка и диагностика:&lt;br /&gt;
 sh ip nat translations   - просмотр таблицы текущих трансляций;&lt;br /&gt;
 clear ip nat translations - удалить все текущие трансляции;&lt;br /&gt;
 debug ip nat – включение отладочных сообщений (undebug all – выключение отладки).&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
Приведем несколько демонстрационных примеров для эмулятора cisco Packet Tracer.&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода небольшой сети в интернет через пул внешних адресов&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_SNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода сети в интернет через один внешний адрес&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_PAT.pkt&lt;br /&gt;
&lt;br /&gt;
Схема объединения сетей с пересекающейся адресацией&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_SDNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Инструкция по cisco IOS NAT&lt;br /&gt;
http://www.cisco.com/en/US/technologies/tk648/tk361/tk438/technologies_white_paper09186a0080091cb9.html&lt;br /&gt;
&lt;br /&gt;
== Порядок работы NAT ==&lt;br /&gt;
Порядок применения правил NAT различается у различных производителей и на различном оборудовании. Приведем порядок применения политик NAT для маршрутизаторов на cisco IOS:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside-to-Outside	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET (Cisco Encryption Technology) or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
NAT inside to outside (local to global translation)&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect (Context-based Access Control (CBAC))&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outside-to-Inside&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
NAT outside to inside (global to local translation)&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect CBAC&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Интернет-канал от одного провайдера через NAT ==&lt;br /&gt;
Простая схема реализации NAT с одним провайдером&lt;br /&gt;
&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp_no_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
==  Резервирование интернет-канала от двух провайдеров при помощи NAT, ip sla ==&lt;br /&gt;
&lt;br /&gt;
Дано: мы получаем для нескольких компьютеров интернет от провайдера ISP1. Он выделили нам адрес 212.192.88.150.&lt;br /&gt;
Выход в интернет организован с этого ip адреса через NAT.&lt;br /&gt;
&lt;br /&gt;
Задача: подключить резервного провайдера - ISP2. Он выделит нам адрес 212.192.90.150.&lt;br /&gt;
Организовать балансировку трафика: web-трафик пускать через ISP1, прочий трафик - через ISP2.&lt;br /&gt;
В случае отказа одного из провайдеров - пускать весь трафик по живому каналу.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В чем сложность задачи?&lt;br /&gt;
clear ip nat translations?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Схема ===&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
=== Конфиг ===&lt;br /&gt;
&lt;br /&gt;
1 clear ip nat translations *&lt;br /&gt;
&lt;br /&gt;
Найден, оттестирован такой кусок EEM.&lt;br /&gt;
Не на всех версиях IOS  генерируется событие.. Надо уточнить.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
event manager applet NAT-TRACK&lt;br /&gt;
event syslog pattern &amp;quot;TRACKING-5-STATE&amp;quot;&lt;br /&gt;
action 0.1 cli command &amp;quot;enable&amp;quot;&lt;br /&gt;
action 0.2 wait 3&lt;br /&gt;
action 0.3 cli command &amp;quot;clear ip nat translation *&amp;quot;&lt;br /&gt;
action 0.4 syslog msg &amp;quot;NAT translation cleared after track state change&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2 При падении интерфейса на провайдера, велики шансы, что его шлюз будет пинговаться через второго&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
username ИМЯ password 0 ПАРОЛЬ&lt;br /&gt;
enable secret 0 ПАРОЛЬКОНФИГА&lt;br /&gt;
!&lt;br /&gt;
! контроль входа на маршрутизатор&lt;br /&gt;
line vty 0 4&lt;br /&gt;
 login local&lt;br /&gt;
!&lt;br /&gt;
! ДХЦП&lt;br /&gt;
ip dhcp pool LAN&lt;br /&gt;
   network ВнутрСеть Маска&lt;br /&gt;
   default-router Шлюз&lt;br /&gt;
   dns-server 10.11.12.13&lt;br /&gt;
! DNS - фиктивный придумали - НЕ из нашей локальной сети&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на адрес шлюза провайдера-1&lt;br /&gt;
! Ждать ответа 100 мс&lt;br /&gt;
! Пинговать с частотой 1 секунда&lt;br /&gt;
ip sla monitor 1&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров1 source-interface ИнтерфейсНаПров1&lt;br /&gt;
 timeout 100&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на провайдера-2&lt;br /&gt;
ip sla monitor 2&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров2 source-interface ИнтерфейсНаПров2&lt;br /&gt;
 timeout 50&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Запуск пинговалок 1 и 2, сейчас и навсегда&lt;br /&gt;
ip sla monitor schedule 1 life forever start-time now&lt;br /&gt;
ip sla monitor schedule 2 life forever start-time now&lt;br /&gt;
!&lt;br /&gt;
! Трэки 10 и 20 - отслеживание состояния пинговалок&lt;br /&gt;
! Реагирует на состояние Down или Up с задержкой 1 сек.&lt;br /&gt;
track 10 rtr 1 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
track 20 rtr 2 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Маршруты на все внешние сети на обоих провайдеров&lt;br /&gt;
! Маршруты привязаны к трэкам&lt;br /&gt;
! и будут активироваться только если трэк в состоянии Up&lt;br /&gt;
! т.е. если шлюз на соответствующего провайдера доступен&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров1 track 10&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров2 track 20&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
int fa 0/0&lt;br /&gt;
  no shut&lt;br /&gt;
!&lt;br /&gt;
! Саб-интерфейсы в сторону внешних провайдеров&lt;br /&gt;
! помечаются как outside для NAT&lt;br /&gt;
interface FastEthernet0/0.1&lt;br /&gt;
 description ISP1&lt;br /&gt;
 encaps dot1q НомерВланПров1&lt;br /&gt;
 ip address ipНаПров1 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0.2&lt;br /&gt;
 description ISP2&lt;br /&gt;
 encapsulation dot1Q НомерВланПров2&lt;br /&gt;
 ip address ipНаПров2 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
! Интерфейс на внутр сеть&lt;br /&gt;
! помечается как inside для NAT&lt;br /&gt;
! Привязывается политика маршрутизации PBR&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
 ip address ipНаВнутрСеть маска&lt;br /&gt;
 ip nat inside&lt;br /&gt;
 ip policy route-map PBR&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
! Аксесс-листы из внутр сети наружу&lt;br /&gt;
! На веб-трафик и на все остальное&lt;br /&gt;
ip access-list extended LOCAL&lt;br /&gt;
 permit ip внутрСеть any&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended WEB&lt;br /&gt;
 permit tcp внутрСеть any eq www&lt;br /&gt;
 permit tcp внутрСеть any eq 443&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended ALL&lt;br /&gt;
 permit ip any any&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! хитрый рут-мап PBR&lt;br /&gt;
! Если трафик из локалки на Веб&lt;br /&gt;
!    то назначить ему шлюзом первого провайдера&lt;br /&gt;
! Иначе, прочему трафику из локалки&lt;br /&gt;
!    назначить шлюзом второго провайдера.&lt;br /&gt;
! При назначении шлюза проверяются Трэки&lt;br /&gt;
route-map PBR permit 10&lt;br /&gt;
 match ip address WEB&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров1 1 track 10&lt;br /&gt;
!&lt;br /&gt;
route-map PBR permit 20&lt;br /&gt;
 match ip address ALL&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров2 1 track 20&lt;br /&gt;
!&lt;br /&gt;
!  &lt;br /&gt;
!  хитрый рут-мап ISP1&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.1&lt;br /&gt;
route-map ISP1 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.1&lt;br /&gt;
!&lt;br /&gt;
!  хитрый рут-мап ISP2&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.2&lt;br /&gt;
route-map ISP2 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.2&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Наконец, NAT ;-)&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки в первого провайдера Натить через первый интерфейс&lt;br /&gt;
ip nat inside source route-map ISP1 interface FastEthernet0/0.1 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки во второго провайдера Натить через второй интерфейс&lt;br /&gt;
ip nat inside source route-map ISP2 interface FastEthernet0/0.2 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик на фиктивный ДНС переНатить на Гугл-ДНС&lt;br /&gt;
!          no-alias - не создавать arp-proxy-alias для внешнего ip в статик-трансляции&lt;br /&gt;
ip nat outside source static 8.8.8.8 10.11.12.13 no-alias&lt;br /&gt;
!&lt;br /&gt;
! проброс внутреннего порта 3389 на внешний порт 1111&lt;br /&gt;
!          extendable - разрешает делать много записей для одного внутрХоста&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip1 1111 extendable&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip2 1111 extendable&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Разное ==&lt;br /&gt;
&lt;br /&gt;
TTL&lt;br /&gt;
&lt;br /&gt;
CGN (carrier grade nat) с особым пулом приватных адресов &lt;br /&gt;
&lt;br /&gt;
NAT как ALG (application layer gateway), (plain text protocols e.g. SIP)&lt;br /&gt;
NAT - helpers&lt;br /&gt;
&lt;br /&gt;
linux-style masquerade, mikrotik netmap&lt;br /&gt;
&lt;br /&gt;
NAT64, DNS64&lt;br /&gt;
&lt;br /&gt;
IPsec nat traversal&lt;br /&gt;
&lt;br /&gt;
uPNP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[Категория:Сети]]&lt;br /&gt;
[[Category:Cisco]] [[Category:NAT]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=440</id>
		<title>NAT (обзор и примеры)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=NAT_(%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B)&amp;diff=440"/>
				<updated>2020-06-16T05:42:24Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Разное */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NAT != proxy ==&lt;br /&gt;
Это абсолютно разные технологии. Не путайте их.&lt;br /&gt;
&lt;br /&gt;
== Что такое NAT ==&lt;br /&gt;
&lt;br /&gt;
NAT - собирательный термин, обозначает технологию трансляции сетевых адресов и/или протоколов. NAT устройства производят над проходящими пакетами преобразования с заменой адресов, портов, протоколов и пр.&lt;br /&gt;
&lt;br /&gt;
Существуют более узкие понятие SNAT, DNAT, маскарадинг, PAT, NAT-PT и т.д.&lt;br /&gt;
&lt;br /&gt;
== зачем нужен NAT, как его используют ==&lt;br /&gt;
&lt;br /&gt;
Для вывода в интернет внутренней сети&lt;br /&gt;
* через пул внешних адресов&lt;br /&gt;
* через один внешний адрес&lt;br /&gt;
&lt;br /&gt;
Для подмены внешнего ip адреса другим (перенаправление трафика)&lt;br /&gt;
&lt;br /&gt;
Для балансировки нагрузки между одинаковыми серверами с разными ip адресами.&lt;br /&gt;
&lt;br /&gt;
Для объединения двух локальных сетей с пересекающейся внутренней адресацией.&lt;br /&gt;
&lt;br /&gt;
== как устроен NAT ==&lt;br /&gt;
&lt;br /&gt;
destination NAT&lt;br /&gt;
&lt;br /&gt;
source NAT&lt;br /&gt;
&lt;br /&gt;
s+d NAT (branch merging - evil!)&lt;br /&gt;
&lt;br /&gt;
PAT (overload)&lt;br /&gt;
&lt;br /&gt;
port-mapping, прокидывание портов&lt;br /&gt;
&lt;br /&gt;
== Преимущества и недостатки ==&lt;br /&gt;
&lt;br /&gt;
Несовместим с некоторыми протоколами. Конкретная реализация NAT должна поддерживать инспекцию требуемого протокола.&lt;br /&gt;
&lt;br /&gt;
NAT обладает свойством &amp;quot;экранировать&amp;quot; внутреннюю сеть от внешнего мира, но его нельзя использовать вместо межсетевого экрана.&lt;br /&gt;
&lt;br /&gt;
== Настройка на Cisco IOS ==&lt;br /&gt;
&lt;br /&gt;
Маршрутизаторы и межсетевые экраны Cisco поддерживают различные типы NAT, в зависимости от набора опций ПО. Наиболее используемым является метод NAT с привязкой внутренних локальных адресов в различные порты одного внешнего адреса (PAT в терминологии Cisco). &lt;br /&gt;
&lt;br /&gt;
Для настройки NAT на маршрутизаторе требуется:&lt;br /&gt;
o	Определить трафик, который необходимо транслировать (при помощи access-list’ов или route-map);&lt;br /&gt;
&lt;br /&gt;
 ip access-list extended LOCAL&lt;br /&gt;
 permit ip 10.0.0.0 0.255.255.255 any&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 route-map INT1&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/1.1&lt;br /&gt;
	Аксесс-лист LOCAL выбирает весь трафик из 10 сети.&lt;br /&gt;
&lt;br /&gt;
Роут-мап INT1 выбирает трафик аксесс-листа LOCAL, выходящий через сабинтерфейс Fa 0/1.1 &lt;br /&gt;
&lt;br /&gt;
o	Определить на какие внешние адреса проводить трансляцию. Выбрать пул внешних адресов. Для PAT достаточно одного адреса.&lt;br /&gt;
&lt;br /&gt;
 ip nat pool GLOBAL 212.192.64.74 212.192.64.74 netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Задание пула внешних адресов с именем  GLOBAL. В пуле всего один адрес.&lt;br /&gt;
&lt;br /&gt;
o	Включить NAT для выбранных внутренних и внешних адресов.&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source route-map INT1 pool GLOBAL overload&lt;br /&gt;
&lt;br /&gt;
Включение NAT для трансляции адресов источника на внутреннем интерфейсе.&lt;br /&gt;
Будет транслироваться только трафик попадающий под условия роут-мапа INT1.&lt;br /&gt;
Внешний адрес будет браться из пула GLOBAL.&lt;br /&gt;
&lt;br /&gt;
 ip nat inside source static tcp 10.0.0.1 23 212.192.64.74 23 extend&lt;br /&gt;
&lt;br /&gt;
Статическое «прокидывание порта» или «публикация сервиса».&lt;br /&gt;
В трафике идущем внутрь на адрес 212.192.64.74 на порт tcp 23 будет заменен адресат на адрес 10.0.0.1 и порт 23. &lt;br /&gt;
&lt;br /&gt;
o	Назначить внутренние и внешние интерфейсы.&lt;br /&gt;
 interface FastEthernet0/0&lt;br /&gt;
 ip nat inside&lt;br /&gt;
&lt;br /&gt;
 interface FastEthernet0/1.1&lt;br /&gt;
 ip nat outside&lt;br /&gt;
	 Интерфейс Fa 0/0 назначен внутренним для NAT.&lt;br /&gt;
&lt;br /&gt;
Сабинтерфейс Fa 0/1.1 назначен внешним для NAT.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
o	Отладка и диагностика:&lt;br /&gt;
 sh ip nat translations   - просмотр таблицы текущих трансляций;&lt;br /&gt;
 clear ip nat translations - удалить все текущие трансляции;&lt;br /&gt;
 debug ip nat – включение отладочных сообщений (undebug all – выключение отладки).&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
Приведем несколько демонстрационных примеров для эмулятора cisco Packet Tracer.&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода небольшой сети в интернет через пул внешних адресов&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_SNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Простая схема вывода сети в интернет через один внешний адрес&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_Simple_PAT.pkt&lt;br /&gt;
&lt;br /&gt;
Схема объединения сетей с пересекающейся адресацией&lt;br /&gt;
http://k.psu.ru/disk/files/user/MoiseevVI/wiki/NAT_exapmles_SDNAT.pkt&lt;br /&gt;
&lt;br /&gt;
Инструкция по cisco IOS NAT&lt;br /&gt;
http://www.cisco.com/en/US/technologies/tk648/tk361/tk438/technologies_white_paper09186a0080091cb9.html&lt;br /&gt;
&lt;br /&gt;
== Порядок работы NAT ==&lt;br /&gt;
Порядок применения правил NAT различается у различных производителей и на различном оборудовании. Приведем порядок применения политик NAT для маршрутизаторов на cisco IOS:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inside-to-Outside	&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET (Cisco Encryption Technology) or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
NAT inside to outside (local to global translation)&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect (Context-based Access Control (CBAC))&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outside-to-Inside&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
If IPSec then check input access list&lt;br /&gt;
decryption - for CET or IPSec&lt;br /&gt;
check input access list&lt;br /&gt;
check input rate limits&lt;br /&gt;
input accounting&lt;br /&gt;
redirect to web cache&lt;br /&gt;
NAT outside to inside (global to local translation)&lt;br /&gt;
policy routing&lt;br /&gt;
routing&lt;br /&gt;
crypto (check map and mark for encryption)&lt;br /&gt;
check output access list&lt;br /&gt;
inspect CBAC&lt;br /&gt;
TCP intercept&lt;br /&gt;
encryption&lt;br /&gt;
Queueing&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Интернет-канал от одного провайдера через NAT ==&lt;br /&gt;
Простая схема реализации NAT с одним провайдером&lt;br /&gt;
&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp_no_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
==  Резервирование интернет-канала от двух провайдеров при помощи NAT, ip sla ==&lt;br /&gt;
&lt;br /&gt;
Дано: мы получаем для нескольких компьютеров интернет от провайдера ISP1. Он выделили нам адрес 212.192.88.150.&lt;br /&gt;
Выход в интернет организован с этого ip адреса через NAT.&lt;br /&gt;
&lt;br /&gt;
Задача: подключить резервного провайдера - ISP2. Он выделит нам адрес 212.192.90.150.&lt;br /&gt;
Организовать балансировку трафика: web-трафик пускать через ISP1, прочий трафик - через ISP2.&lt;br /&gt;
В случае отказа одного из провайдеров - пускать весь трафик по живому каналу.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В чем сложность задачи?&lt;br /&gt;
clear ip nat translations?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Схема ===&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/NAT_2isp.PNG&lt;br /&gt;
&lt;br /&gt;
=== Конфиг ===&lt;br /&gt;
&lt;br /&gt;
1 clear ip nat translations *&lt;br /&gt;
&lt;br /&gt;
Найден, оттестирован такой кусок EEM.&lt;br /&gt;
Не на всех версиях IOS  генерируется событие.. Надо уточнить.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
event manager applet NAT-TRACK&lt;br /&gt;
event syslog pattern &amp;quot;TRACKING-5-STATE&amp;quot;&lt;br /&gt;
action 0.1 cli command &amp;quot;enable&amp;quot;&lt;br /&gt;
action 0.2 wait 3&lt;br /&gt;
action 0.3 cli command &amp;quot;clear ip nat translation *&amp;quot;&lt;br /&gt;
action 0.4 syslog msg &amp;quot;NAT translation cleared after track state change&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2 При падении интерфейса на провайдера, велики шансы, что его шлюз будет пинговаться через второго&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
username ИМЯ password 0 ПАРОЛЬ&lt;br /&gt;
enable secret 0 ПАРОЛЬКОНФИГА&lt;br /&gt;
!&lt;br /&gt;
! контроль входа на маршрутизатор&lt;br /&gt;
line vty 0 4&lt;br /&gt;
 login local&lt;br /&gt;
!&lt;br /&gt;
! ДХЦП&lt;br /&gt;
ip dhcp pool LAN&lt;br /&gt;
   network ВнутрСеть Маска&lt;br /&gt;
   default-router Шлюз&lt;br /&gt;
   dns-server 10.11.12.13&lt;br /&gt;
! DNS - фиктивный придумали - НЕ из нашей локальной сети&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на адрес шлюза провайдера-1&lt;br /&gt;
! Ждать ответа 100 мс&lt;br /&gt;
! Пинговать с частотой 1 секунда&lt;br /&gt;
ip sla monitor 1&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров1 source-interface ИнтерфейсНаПров1&lt;br /&gt;
 timeout 100&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Монитор пинга на провайдера-2&lt;br /&gt;
ip sla monitor 2&lt;br /&gt;
 type echo protocol ipIcmpEcho ШлюзПров2 source-interface ИнтерфейсНаПров2&lt;br /&gt;
 timeout 50&lt;br /&gt;
 frequency 1&lt;br /&gt;
!&lt;br /&gt;
! Запуск пинговалок 1 и 2, сейчас и навсегда&lt;br /&gt;
ip sla monitor schedule 1 life forever start-time now&lt;br /&gt;
ip sla monitor schedule 2 life forever start-time now&lt;br /&gt;
!&lt;br /&gt;
! Трэки 10 и 20 - отслеживание состояния пинговалок&lt;br /&gt;
! Реагирует на состояние Down или Up с задержкой 1 сек.&lt;br /&gt;
track 10 rtr 1 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
track 20 rtr 2 reachability&lt;br /&gt;
 delay down 1 up 1&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Маршруты на все внешние сети на обоих провайдеров&lt;br /&gt;
! Маршруты привязаны к трэкам&lt;br /&gt;
! и будут активироваться только если трэк в состоянии Up&lt;br /&gt;
! т.е. если шлюз на соответствующего провайдера доступен&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров1 track 10&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 ШлюзПров2 track 20&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
int fa 0/0&lt;br /&gt;
  no shut&lt;br /&gt;
!&lt;br /&gt;
! Саб-интерфейсы в сторону внешних провайдеров&lt;br /&gt;
! помечаются как outside для NAT&lt;br /&gt;
interface FastEthernet0/0.1&lt;br /&gt;
 description ISP1&lt;br /&gt;
 encaps dot1q НомерВланПров1&lt;br /&gt;
 ip address ipНаПров1 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0.2&lt;br /&gt;
 description ISP2&lt;br /&gt;
 encapsulation dot1Q НомерВланПров2&lt;br /&gt;
 ip address ipНаПров2 Маска&lt;br /&gt;
 ip nat outside&lt;br /&gt;
!&lt;br /&gt;
! Интерфейс на внутр сеть&lt;br /&gt;
! помечается как inside для NAT&lt;br /&gt;
! Привязывается политика маршрутизации PBR&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
 ip address ipНаВнутрСеть маска&lt;br /&gt;
 ip nat inside&lt;br /&gt;
 ip policy route-map PBR&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
! Аксесс-листы из внутр сети наружу&lt;br /&gt;
! На веб-трафик и на все остальное&lt;br /&gt;
ip access-list extended LOCAL&lt;br /&gt;
 permit ip внутрСеть any&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended WEB&lt;br /&gt;
 permit tcp внутрСеть any eq www&lt;br /&gt;
 permit tcp внутрСеть any eq 443&lt;br /&gt;
!&lt;br /&gt;
ip access-list extended ALL&lt;br /&gt;
 permit ip any any&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! хитрый рут-мап PBR&lt;br /&gt;
! Если трафик из локалки на Веб&lt;br /&gt;
!    то назначить ему шлюзом первого провайдера&lt;br /&gt;
! Иначе, прочему трафику из локалки&lt;br /&gt;
!    назначить шлюзом второго провайдера.&lt;br /&gt;
! При назначении шлюза проверяются Трэки&lt;br /&gt;
route-map PBR permit 10&lt;br /&gt;
 match ip address WEB&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров1 1 track 10&lt;br /&gt;
!&lt;br /&gt;
route-map PBR permit 20&lt;br /&gt;
 match ip address ALL&lt;br /&gt;
 set ip next-hop verify-availability ШлюзПров2 1 track 20&lt;br /&gt;
!&lt;br /&gt;
!  &lt;br /&gt;
!  хитрый рут-мап ISP1&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.1&lt;br /&gt;
route-map ISP1 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.1&lt;br /&gt;
!&lt;br /&gt;
!  хитрый рут-мап ISP2&lt;br /&gt;
!  срабатывает если трафик из локалки&lt;br /&gt;
!  пытается выйти через интерфейс Fa0/0.2&lt;br /&gt;
route-map ISP2 permit 10&lt;br /&gt;
 match ip address LOCAL&lt;br /&gt;
 match interface FastEthernet0/0.2&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Наконец, NAT ;-)&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки в первого провайдера Натить через первый интерфейс&lt;br /&gt;
ip nat inside source route-map ISP1 interface FastEthernet0/0.1 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик из локалки во второго провайдера Натить через второй интерфейс&lt;br /&gt;
ip nat inside source route-map ISP2 interface FastEthernet0/0.2 overload&lt;br /&gt;
!&lt;br /&gt;
! Трафик на фиктивный ДНС переНатить на Гугл-ДНС&lt;br /&gt;
ip nat outside source static 8.8.8.8 10.11.12.13 no-alias&lt;br /&gt;
!&lt;br /&gt;
! проброс внутреннего порта 3389 на внешний порт 1111&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip 1111 extendable&lt;br /&gt;
ip nat inside source static tcp внутрХост 3389 внешip 1111 extendable&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Разное ==&lt;br /&gt;
&lt;br /&gt;
TTL&lt;br /&gt;
&lt;br /&gt;
CGN (carrier grade nat) с особым пулом приватных адресов &lt;br /&gt;
&lt;br /&gt;
NAT как ALG (application layer gateway), (plain text protocols e.g. SIP)&lt;br /&gt;
NAT - helpers&lt;br /&gt;
&lt;br /&gt;
linux-style masquerade, mikrotik netmap&lt;br /&gt;
&lt;br /&gt;
NAT64, DNS64&lt;br /&gt;
&lt;br /&gt;
IPsec nat traversal&lt;br /&gt;
&lt;br /&gt;
uPNP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[Категория:Сети]]&lt;br /&gt;
[[Category:Cisco]] [[Category:NAT]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=HTTPS_%D0%BD%D0%B0_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5_Apache2_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D0%B5)&amp;diff=439</id>
		<title>HTTPS на примере Apache2 (методическое пособие)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=HTTPS_%D0%BD%D0%B0_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5_Apache2_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D0%B5)&amp;diff=439"/>
				<updated>2020-04-07T07:22:49Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* SSL сертификат */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= HTTPS =&lt;br /&gt;
== PKI ==&lt;br /&gt;
&lt;br /&gt;
Сертификат сервера должен быть выдан Центром Сертификации, которому доверяет браузер. Браузер доверяет ЦС сертификаты которых хранятся в системном хранилище.&lt;br /&gt;
&lt;br /&gt;
При использовании самоподписанных сертификатов, корневые сертификаты ставятся на компьютеры клиентов вручную (или с помощью груповой политики).&lt;br /&gt;
&lt;br /&gt;
Крупные коммерческие ЦС, продающие сертификаты, распространяют свои корневые сертификаты с обновлениями браузеров и операционных систем.&lt;br /&gt;
&lt;br /&gt;
== TLS/SSL ==&lt;br /&gt;
HTTPS это протокол HTTP используемый поверх шифрованного канала TLS или SSL. Стандартный порт 443.&lt;br /&gt;
&lt;br /&gt;
Использование TLS канала позволяет защитить передаваемые данные шифрованием. Использование сертификата сервера позволяет клиентам быть уверенными в аутентичности сайта.&lt;br /&gt;
&lt;br /&gt;
= SSL сертификат =&lt;br /&gt;
&lt;br /&gt;
Для протокола SSL на стороне сервера нам требуется сертификат X.509 на конкретное доменное имя и соответствующий закрытый ключ.&lt;br /&gt;
Доменное имя должно быть указано в поле Subject сертификата в графе CN. Для указания множества имен используется поле subjectAltName.&lt;br /&gt;
Имя домена должно указываться в том виде, в каком оно используется в ссылках на сайт. В нашем примере это будет доменное имя &amp;quot;www.model.local&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Для внутрикорпоративного использования, в простейшем случае, нам потребуется самостоятельно создать сертификат для доменного имени.&lt;br /&gt;
&lt;br /&gt;
Если сертификатов требуется несколько - разумно создать Удостоверяющий Центр, сгенерировать корневой сертификат и им подписывать сертификаты сайтов. На компьютеры клиентов придется устанавливать корневой сертификат.&lt;br /&gt;
&lt;br /&gt;
Если сертификат требуется один - можно создать самоподписанный сертификат для сайта сразу. На компьютеры клиентов придется устанавливать этот сертификат.&lt;br /&gt;
&lt;br /&gt;
Создаем простой Самоподписанный Сертификат и ключ для доменного имени www.model.local со сроком действия 1024 дня с ключом RSA 2048 бит. Сертификат будет подписан алгоритмом SHA512/256.&lt;br /&gt;
&lt;br /&gt;
Воспользуемся пакетом openssl. Часть параметров указывается в командной строке, часть в режиме диалога, расширения сертификата описаны в файле ./cert.config.&lt;br /&gt;
&lt;br /&gt;
Отредактируйте файл cert.config в соответствии с требуемыми параметрами сертификата. Пример:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code C&amp;gt;&lt;br /&gt;
[ req ]&lt;br /&gt;
default_bits        = 2048&lt;br /&gt;
distinguished_name  = subject&lt;br /&gt;
#req_extensions      = req_ext&lt;br /&gt;
x509_extensions     = x509_ext&lt;br /&gt;
string_mask         = utf8only&lt;br /&gt;
&lt;br /&gt;
[ subject ]&lt;br /&gt;
countryName                     = Country Code&lt;br /&gt;
countryName_default             = RU&lt;br /&gt;
stateOrProvinceName             = State&lt;br /&gt;
stateOrProvinceName_default     = Permski Kray&lt;br /&gt;
localityName                    = City&lt;br /&gt;
localityName_default            = Perm&lt;br /&gt;
organizationName                = Organization&lt;br /&gt;
organizationName_default        = PSU&lt;br /&gt;
&lt;br /&gt;
commonName                  = Common Name&lt;br /&gt;
commonName_default          = PSU server&lt;br /&gt;
&lt;br /&gt;
[ x509_ext ]&lt;br /&gt;
subjectKeyIdentifier        = hash&lt;br /&gt;
authorityKeyIdentifier  = keyid,issuer&lt;br /&gt;
&lt;br /&gt;
#   RSA Key transport = keyEncipherment = non-ephemeral&lt;br /&gt;
basicConstraints        = CA:FALSE&lt;br /&gt;
keyUsage            = digitalSignature, keyEncipherment&lt;br /&gt;
subjectAltName          = @alternate_names&lt;br /&gt;
nsComment           = &amp;quot;PSU Generated Certificate&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[ alternate_names ]&lt;br /&gt;
IP.0 = 1.2.3.4&lt;br /&gt;
DNS.1       = model.local&lt;br /&gt;
DNS.2       = www.model.local&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Обратите внимание на то, что DNS имя сервера указывается в расширении alternate_names.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем сертификат командой openssl с параметрами, ссылаясь на файл конфигурации:&lt;br /&gt;
&amp;lt;code C&amp;gt;&lt;br /&gt;
root@model-net-ctrl-1:~/ssltest# openssl req -x509 -nodes -days 1024 -newkey rsa:2048 -sha512  -config cert.config -keyout web_key.pem -out web_cert.pem&lt;br /&gt;
Generating a 2048 bit RSA private key&lt;br /&gt;
writing new private key to 'web_key.pem'&lt;br /&gt;
Country Name (2 letter code) [AU]:RU&lt;br /&gt;
State or Province Name (full name) [Some-State]:Permsky Krai&lt;br /&gt;
Locality Name (eg, city) []:Perm&lt;br /&gt;
Organization Name (eg, company) [Internet Widgits Pty Ltd]:PSU&lt;br /&gt;
Common Name (e.g. server FQDN or YOUR name) []: PSU server www.model.local&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В текущем каталоге будут созданы файл сертификат и файл ключ. На файл ключа необходимо поставить доступ только на чтение и только пользователю, который будет шифровать.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
-rw-r--r-- 1 root root 1424 Feb 26 12:23 web_cert.pem&lt;br /&gt;
-rw-r--r-- 1 root root 1704 Feb 26 12:23 web_key.pem&lt;br /&gt;
root@model-net-ctrl-1:~/ssltest# chmod 0400 web_key.pem&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Проверить параметры сертификата можно следующей командой&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
root@model-net-ctrl-1:~/ssltest# openssl x509 -in ./web_cert.pem -noout -text&lt;br /&gt;
Certificate:&lt;br /&gt;
    Data:&lt;br /&gt;
        Version: 3 (0x2)&lt;br /&gt;
        Serial Number: 9676869248984892495 (0x864b254fcba5444f)&lt;br /&gt;
    Signature Algorithm: sha1WithRSAEncryption&lt;br /&gt;
        Issuer: C=RU, ST=Permsky Krai, L=Perm, O=PSNRU, OU=KOIBAS, CN=www.model.local/emailAddress=ru@ru.ru&lt;br /&gt;
        Validity&lt;br /&gt;
            Not Before: Feb 26 06:49:43 2014 GMT&lt;br /&gt;
            Not After : Dec 16 06:49:43 2016 GMT&lt;br /&gt;
        Subject: C=RU, ST=Permsky Krai, L=Perm, O=PSNRU, OU=KOIBAS, CN=www.model.local/emailAddress=ru@ru.ru&lt;br /&gt;
        Subject Public Key Info:&lt;br /&gt;
            Public Key Algorithm: rsaEncryption&lt;br /&gt;
                Public-Key: (2048 bit)&lt;br /&gt;
                Modulus:&lt;br /&gt;
                    00:b6:39:4e:10:41:b4:e8:b1:17:87:e0:3f:61:3f:&lt;br /&gt;
        X509v3 extensions:&lt;br /&gt;
            X509v3 Subject Key Identifier:&lt;br /&gt;
                FC:42:EF:CE:C0:B8:33:19:1A:AE:48:12:76:AD:E8:4D:75:A2:B0:2D&lt;br /&gt;
            X509v3 Authority Key Identifier:&lt;br /&gt;
                keyid:FC:42:EF:CE:C0:B8:33:19:1A:AE:48:12:76:AD:E8:4D:75:A2:B0:2D&lt;br /&gt;
            X509v3 Basic Constraints:&lt;br /&gt;
                CA:TRUE&lt;br /&gt;
    Signature Algorithm: sha1WithRSAEncryption&lt;br /&gt;
         6f:19:9e:f1:11:bc:fe:2d:3a:05:01:a3:5c:e3:97:03:e3:e7:&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Как видим, subject и issuer совпадают, поле CA=TRUE, значит это самоподписанный корневой сертификат.&lt;br /&gt;
&lt;br /&gt;
= Apache2 =&lt;br /&gt;
&lt;br /&gt;
По-умолчанию шаблон конфигурации сайта для SSL лежит в /etc/apache2/sites-available/default-ssl.&lt;br /&gt;
Корневой каталог сайта /var/www.&lt;br /&gt;
&lt;br /&gt;
Для запуска SSL необходимо включить соответствующий модуль.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь в конфигурации сайта (/etc/apache2/sites-available/default-ssl) указываем путь к сертификату и закрытому ключу&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
        SSLCertificateFile    /etc/apache2/ssltest/web_cert.pem&lt;br /&gt;
        SSLCertificateKeyFile /etc/apache2/ssltest/web_key.pem&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Включаем наш сайт, проверяем конфиг и перезапускаем Apache2.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
a2ensite default-ssl&lt;br /&gt;
apache2ctl configtest&lt;br /&gt;
apache2ctl restart&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если все сделано правильно, новый сайт будет доступен по адресу https://www.model.local.&lt;br /&gt;
&lt;br /&gt;
= Настройка браузера =&lt;br /&gt;
&lt;br /&gt;
При открытии сайта браузер будет выдавать сообщение об ошибке сертификата, т.к. издатель сертификата не является доверенным.&lt;br /&gt;
&lt;br /&gt;
Чтобы браузер стал доверять нашему сертификату, необходимо его поместить в хранилище доверенных.&lt;br /&gt;
&lt;br /&gt;
Для этого надо открыть сайт. В предупреждении о сертификате выбрать подробные сведения. Открывшийся сертификат сохранить в файл на диске. Браузер необходимо закрыть.&lt;br /&gt;
&lt;br /&gt;
Запустить файл с сертификатом с диска. При помощи Мастера импорта сертификатов поместить сертификат в хранилище Доверенные Корневые ЦС.&lt;br /&gt;
&lt;br /&gt;
Заново открыть сайт в браузере. На этот раз сайт должен открыться без предупреждений по защищенному каналу.&lt;br /&gt;
&lt;br /&gt;
Следите за тем, чтобы на защищаемом сайте все ссылки имели вид https://&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:SSL/TLS]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=BIND9_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D0%B5)&amp;diff=438</id>
		<title>BIND9 (методическое пособие)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=BIND9_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D0%B5)&amp;diff=438"/>
				<updated>2020-03-11T12:02:03Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* DNAME */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Архитектура DNS=&lt;br /&gt;
root(.)&lt;br /&gt;
&lt;br /&gt;
gTLD&lt;br /&gt;
&lt;br /&gt;
ccTLD&lt;br /&gt;
&lt;br /&gt;
Домены, поддомены, псевдо-поддомены, зоны прямые и обратные&lt;br /&gt;
&lt;br /&gt;
Делегирование зон&lt;br /&gt;
&lt;br /&gt;
Трансфер зон&lt;br /&gt;
&lt;br /&gt;
Рекурсивный и нерекурсивный запрос&lt;br /&gt;
&lt;br /&gt;
Stub-resolver.&lt;br /&gt;
Тупиковый резолвер с кэшем поддерживает только рекурсивный запрос. (win: DNS-client)&lt;br /&gt;
TSIG протокол позволяет аутентифицировать передачу данных между DNS-серверами. Можно проверять подлинность данных при передаче зон, рекурсивных запросах, динамических обновлениях. Сами данные не шифруются, но подлинность проверяется. TSIG использует метки времени для предотвращения атаки повторения пакетов.&lt;br /&gt;
&lt;br /&gt;
DNSSEC&lt;br /&gt;
&lt;br /&gt;
=== nslookup ===&lt;br /&gt;
&lt;br /&gt;
Пример dns запроса на сервер 10.13.0.101 - рекурсия разрешена:&lt;br /&gt;
&lt;br /&gt;
 root@netctrl-01:/etc/bind# nslookup www.ru. 10.13.0.101&lt;br /&gt;
 Server:         10.13.0.101&lt;br /&gt;
 Address:        10.13.0.101#53&lt;br /&gt;
 Non-authoritative answer:&lt;br /&gt;
 Name:   www.ru&lt;br /&gt;
 Address: 194.87.0.50&lt;br /&gt;
&lt;br /&gt;
Пример dns запроса на сервер 10.13.0.101 - рекурсия запрещена:&lt;br /&gt;
 root@netctrl-01:/etc/bind# nslookup www.ru. 10.13.0.101&lt;br /&gt;
 Server:         10.13.0.101&lt;br /&gt;
 Address:        10.13.0.101#53&lt;br /&gt;
 ** server can't find www.ru: REFUSED&lt;br /&gt;
&lt;br /&gt;
=== dig ===&lt;br /&gt;
Пример запроса при помощи команды dig. Рекурсия запрещена&lt;br /&gt;
 root@netctrl-01:/etc# dig +all ya.ru.&lt;br /&gt;
 ; &amp;lt;&amp;lt;&amp;gt;&amp;gt; DiG 9.8.4-rpz2+rl005.12-P1 &amp;lt;&amp;lt;&amp;gt;&amp;gt; +all ya.ru.&lt;br /&gt;
 ;; global options: +cmd&lt;br /&gt;
 ;; Got answer:&lt;br /&gt;
 ;; -&amp;gt;&amp;gt;HEADER&amp;lt;&amp;lt;- opcode: QUERY, status: REFUSED, id: 36103&lt;br /&gt;
 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0&lt;br /&gt;
 ;; WARNING: recursion requested but not available&lt;br /&gt;
 ;; QUESTION SECTION:&lt;br /&gt;
 ;ya.ru.                         IN      A&lt;br /&gt;
 ;; Query time: 0 msec&lt;br /&gt;
 ;; SERVER: 127.0.0.1#53(127.0.0.1)&lt;br /&gt;
 ;; WHEN: Thu Feb 20 16:21:58 2014&lt;br /&gt;
 ;; MSG SIZE  rcvd: 23&lt;br /&gt;
&lt;br /&gt;
Рекурсия разрешена&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
root@netctrl-01:/etc/bind# dig +trace ya.ru.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;&amp;lt;&amp;gt;&amp;gt; DiG 9.8.4-rpz2+rl005.12-P1 &amp;lt;&amp;lt;&amp;gt;&amp;gt; +trace ya.ru.&lt;br /&gt;
;; global options: +cmd&lt;br /&gt;
.                       510544  IN      NS      m.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      b.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      a.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      g.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      k.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      f.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      d.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      j.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      l.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      h.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      e.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      i.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      c.root-servers.net.&lt;br /&gt;
;; Received 512 bytes from 127.0.0.1#53(127.0.0.1) in 3 ms&lt;br /&gt;
&lt;br /&gt;
ru.                     172800  IN      NS      a.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      b.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      d.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      e.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      f.dns.ripn.net.&lt;br /&gt;
;; Received 335 bytes from 128.63.2.53#53(128.63.2.53) in 191 ms&lt;br /&gt;
&lt;br /&gt;
ya.ru.                  345600  IN      NS      ns1.yandex.ru.&lt;br /&gt;
ya.ru.                  345600  IN      NS      ns2.yandex.ru.&lt;br /&gt;
;; Received 154 bytes from 193.232.156.17#53(193.232.156.17) in 288 ms&lt;br /&gt;
&lt;br /&gt;
ya.ru.                  7200    IN      A       213.180.204.3&lt;br /&gt;
ya.ru.                  7200    IN      A       93.158.134.3&lt;br /&gt;
ya.ru.                  7200    IN      A       213.180.193.3&lt;br /&gt;
ya.ru.                  7200    IN      NS      ns1.yandex.ru.&lt;br /&gt;
ya.ru.                  7200    IN      NS      ns2.yandex.ru.&lt;br /&gt;
;; Received 202 bytes from 213.180.193.1#53(213.180.193.1) in 47 ms&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Сервер имен BIND9 =&lt;br /&gt;
== Управление ==&lt;br /&gt;
Проверяет конфиг сервера имен&lt;br /&gt;
 named-checkconf&lt;br /&gt;
&lt;br /&gt;
Перезагружает конфиг и зоны&lt;br /&gt;
 rndc reload&lt;br /&gt;
&lt;br /&gt;
Перезагружает только изменившиеся зоны&lt;br /&gt;
 rndc reconfig&lt;br /&gt;
&lt;br /&gt;
Запуск&lt;br /&gt;
 service bind9 start&lt;br /&gt;
&lt;br /&gt;
Состояние сервера&lt;br /&gt;
 rndc status&lt;br /&gt;
&lt;br /&gt;
Сброс кэша&lt;br /&gt;
 rndc flush&lt;br /&gt;
&lt;br /&gt;
Конфигурация и файлы зон по-умолчанию лежат в /etc/bind/&lt;br /&gt;
&lt;br /&gt;
== Опции ==&lt;br /&gt;
&lt;br /&gt;
Списки доступа&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
acl network1 {&lt;br /&gt;
        1.2.3.0/24;&lt;br /&gt;
        192.168.0.0/20;&lt;br /&gt;
};&lt;br /&gt;
acl GoodDns {&lt;br /&gt;
       1.2.3.4;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ограничение на трансфер зон и запросы&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
        allow-transfer {&lt;br /&gt;
                localhost;&lt;br /&gt;
               GoodDns;&lt;br /&gt;
        };&lt;br /&gt;
        allow-query {&lt;br /&gt;
               any;&lt;br /&gt;
        };&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Настройка зоны и подключение файла зоны&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zone &amp;quot;example.com&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.example.com.&amp;quot;;&lt;br /&gt;
        allow-query {&lt;br /&gt;
                any;&lt;br /&gt;
        };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Зона прямого просмотра ==&lt;br /&gt;
Зоны прямого просмотра делегируются нам владельцем родительского домена.&lt;br /&gt;
&lt;br /&gt;
Пример файла зоны, для которой мы являемся мастером (SOA ns1.model.local.)&lt;br /&gt;
Сервер ns.example.com. указан в качестве вторичного.&lt;br /&gt;
&lt;br /&gt;
Параметры времени жизни записи:&lt;br /&gt;
* TTL - время, на которое запись считается действительной, после выдачи сервером. Записи в кэше хранятся в течение TTL.&lt;br /&gt;
* Negative Cache TTL - время действия ответа об отсутствии записи (NXDOMAIN). Запись о том, что запрошенное имя не существует хранится в кэше на это время.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TTL можно задавать отдельно для каждой записи. Negative Cache TTL - действует на зоны в целом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN model.local.&lt;br /&gt;
$TTL 1h&lt;br /&gt;
;&lt;br /&gt;
@       IN      SOA     ns1.model.local.        hostmaster.model.local. (&lt;br /&gt;
                                                2014023001      ; Serial Number&lt;br /&gt;
                                                10800           ; refresh&lt;br /&gt;
                                                3600            ; retry&lt;br /&gt;
                                                604800          ; expire&lt;br /&gt;
                                                86400   )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
                        IN      NS      ns1.model.local.&lt;br /&gt;
                        IN      NS      ns.example.com.&lt;br /&gt;
                        IN      MX      10      mail1&lt;br /&gt;
;&lt;br /&gt;
gw                      IN      A       10.13.0.1&lt;br /&gt;
; несколько имен на один адрес&lt;br /&gt;
ns1                     IN      A       10.13.0.2&lt;br /&gt;
net-ctrl-1              IN      A       10.13.0.2&lt;br /&gt;
mail1                  IN      A       10.13.0.10&lt;br /&gt;
front2                  IN      A       10.13.0.11&lt;br /&gt;
back1                   IN      A       10.13.0.20&lt;br /&gt;
back2                   IN      A       10.13.0.21&lt;br /&gt;
; несколько адресов на одно имя - балансировка&lt;br /&gt;
back                    IN      A       10.13.0.20&lt;br /&gt;
                        IN      A       10.13.0.21&lt;br /&gt;
stor1                   IN      A       10.13.0.30&lt;br /&gt;
stor2                   IN      A       10.13.0.31&lt;br /&gt;
stor-vip                IN      A       10.13.0.40&lt;br /&gt;
front-vrrp              IN      A       10.13.0.50&lt;br /&gt;
www                     IN      CNAME   model.local.&lt;br /&gt;
bc                      IN      A       10.13.0.255&lt;br /&gt;
;&lt;br /&gt;
; users&lt;br /&gt;
user1                  IN      CNAME   back.model.local.&lt;br /&gt;
www.user1              IN      CNAME   back.model.local.&lt;br /&gt;
user2                  IN      CNAME   back.model.local.&lt;br /&gt;
www.user2              IN      CNAME   back.model.local.&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Зона обратного просмотра ==&lt;br /&gt;
&lt;br /&gt;
Зона обратного просмотра управляется владельцем диапазона ip адресов. &lt;br /&gt;
&lt;br /&gt;
Пример файла зоны обратного просмотра, для которой мы являемся мастером&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN 0.13.10.IN-ADDR.ARPA.&lt;br /&gt;
$TTL 1h&lt;br /&gt;
;&lt;br /&gt;
@       IN      SOA     ns1.model.local.        hostmaster.model.local. (&lt;br /&gt;
                                                2014023001      ; Serial Number&lt;br /&gt;
                                                10800           ; refresh&lt;br /&gt;
                                                3600            ; retry&lt;br /&gt;
                                                604800          ; expire&lt;br /&gt;
                                                86400   )       ; min TTL&lt;br /&gt;
;&lt;br /&gt;
                        IN      NS      ns1.model.local.&lt;br /&gt;
;&lt;br /&gt;
2                       IN      PTR     ns1.model.local.&lt;br /&gt;
101                     IN      PTR     netctrl-01.model.local.&lt;br /&gt;
255                     IN      PTR     bc.model.local.&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Зоны по-умолчанию ==&lt;br /&gt;
&lt;br /&gt;
Зона типа hint для домена точки со списком корневых серверов. Файл зона необходимо периодически обновлять с сервера ftp://ftp.internic.net/domain/named.cache&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zone &amp;quot;.&amp;quot; {&lt;br /&gt;
        type hint;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.root&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Зоны замыкания на себя прямые, обратные и броадкастов.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zone &amp;quot;localhost&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.local&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;127.in-addr.arpa&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.127&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;0.in-addr.arpa&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.0&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;255.in-addr.arpa&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.255&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример прямой и обратной зоны замыкания на себя, входящих в дистрибутив BIND9&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
; BIND data file for local loopback interface&lt;br /&gt;
;&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     localhost. root.localhost. (&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
@       IN      NS      localhost.&lt;br /&gt;
@       IN      A       127.0.0.1&lt;br /&gt;
@       IN      AAAA    ::1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     localhost. root.localhost. (&lt;br /&gt;
                              1         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
@       IN      NS      localhost.&lt;br /&gt;
1.0.0   IN      PTR     localhost.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Типы ресурсных записей (RR) ==&lt;br /&gt;
&lt;br /&gt;
=== SOA ===&lt;br /&gt;
SOA запись в файле зоны должна быть только одна. В файле она должна стоять первой.&lt;br /&gt;
Запись SOA определяет какой сервер является владельцем зоны и какие на зону установлены параметры.&lt;br /&gt;
После записи SOA надо обязательно указать IN NS запись с тем-же сервером, что и в заголовке.&lt;br /&gt;
&lt;br /&gt;
Пример: домен example.com обслуживается серверами ns.example.com и ns.examle.net.&lt;br /&gt;
После указания директивы $ORIGIN сервер автоматически допишет за нас все неполные dns имена (таким образом hostmaster читается как hostmaster.example.com). Имя сервера вне зоны пишется полностью.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone TTL default = 2 days or 172800 seconds&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
@      IN      SOA   ns hostmaster (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               1d12h      ; refresh =  1 day 12 hours&lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
       IN      NS  ns&lt;br /&gt;
       IN      NS  ns.example.net.  ; out-of-zone &lt;br /&gt;
...&lt;br /&gt;
; A record for the NS RR above&lt;br /&gt;
ns     IN      A   192.168.2.1&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример 2: домен example.com обслуживается двумя серверами вне зоны. Для них указаны полные имена в записях IN NS.&lt;br /&gt;
Т.к. домен обслуживается другими серверами никакие A записи не допускаются.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone TTL default = 2 days or 172800 seconds&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
@      IN      SOA   ns.example.net. hostmaster.example.com. (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               1d12h      ; refresh =  1 day 12 hours&lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
        IN     NS    ns.example.net. ; out-of-zone name server&lt;br /&gt;
        IN     NS    ns.example.org. ; out-of-zone name server&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== NS ===&lt;br /&gt;
Инфраструктурная запись, указывающая имя сервера имен для данного домена.&lt;br /&gt;
Формат&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
owner-name     ttl  class   rr     target-name&lt;br /&gt;
example.com.        IN      NS      ns1.example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Согласно стандарту, каждый публичный домен должен иметь минимум 2 сервера имен. Частный домен может обслуживаться и одним сервером.&lt;br /&gt;
&lt;br /&gt;
Если NS сервер для нашего домена находится в нашем домене, то мы обязаны указать A-запись для этого сервера (glue-record).&lt;br /&gt;
Если NS сервер лежит вне домена - A-запись указывать не нужно.&lt;br /&gt;
&lt;br /&gt;
Пример: NS записи для основного домена и для делегированного поддомена с указанием glue-records.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; default TTL is 2 days&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
@              IN      SOA   ns1.example.com. hostmaster.example.com. (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               2h         ; refresh =  2 hours &lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
              IN      NS     ns1.example.com.&lt;br /&gt;
              IN      NS     ns2.example.com.&lt;br /&gt;
; обязательно указываем адреса этих серверов&lt;br /&gt;
ns1           IN      A      192.168.0.3&lt;br /&gt;
ns2           IN      A      192.168.0.4&lt;br /&gt;
; переключение на поддомен&lt;br /&gt;
$ORIGIN us.example.com.&lt;br /&gt;
@             IN      NS     ns3.us.example.com.&lt;br /&gt;
              IN      NS     ns1.example.com.&lt;br /&gt;
; обязательно указываем на сервер поддомена&lt;br /&gt;
ns3.us.example.com. A 10.10.0.24&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== A, AAAA ===&lt;br /&gt;
A-запись указывает на ip адрес для данного имени хоста. Опционально указать особо ttl.&lt;br /&gt;
&lt;br /&gt;
Пример: различные вариации записи&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone default = 2 days or 172800 seconds&lt;br /&gt;
joe        IN      A      192.168.0.3  ; одинаковые ip&lt;br /&gt;
www        IN      A      192.168.0.3&lt;br /&gt;
; можно указать домен полностью&lt;br /&gt;
www.example.com.   A      192.168.0.3&lt;br /&gt;
fred  3600 IN      A      192.168.0.4  ; указан другой ttl&lt;br /&gt;
ftp        IN      A      192.168.0.24 ; разные ip для одного имени&lt;br /&gt;
           IN      A      192.168.0.7&lt;br /&gt;
mail       IN      A      192.168.0.15  ; разные ip для одного имени&lt;br /&gt;
mail       IN      A      192.168.0.32&lt;br /&gt;
mail       IN      A      192.168.0.3&lt;br /&gt;
squat      IN      A      10.0.14.13  ; другая подсеть&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
AAAA-запись используется для IPv6 адресов&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ws1-29                  A       10.0.10.29                                                                                      &lt;br /&gt;
                        AAAA    2002:d4c0:4090::d110:1011 &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Когда одному имени сопоставлено много адресов, в обратной записи для адреса нужно выдрать только одно имя.&lt;br /&gt;
&lt;br /&gt;
=== MX ===&lt;br /&gt;
Инфраструктурная запись  указывающая на имя почтового сервера для домена.&lt;br /&gt;
Если имя сервера в этом-же домене - требуется еще А-запись с ip адресом почтового сервера.&lt;br /&gt;
&lt;br /&gt;
Почтовых серверов для домена можно указать несколько с разными приоритетами.&lt;br /&gt;
&lt;br /&gt;
Пример: почтовые сервера для домена и поддомена в одном файле&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone default = 2 days or 172800 seconds&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
example.com. IN     SOA   ns1.example.com. root.example.com. (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               2h         ; refresh =  2 hours &lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
; почтовый сервер для адресов вида user@example.com&lt;br /&gt;
              IN      MX 10  mail.example.com.&lt;br /&gt;
; почтовые сервера для поддомена user@us.example.com&lt;br /&gt;
us            IN      MX 10  mail.us.example.com.&lt;br /&gt;
us            IN      MX 20  mail.example.com.&lt;br /&gt;
; A-запись для основного почтового сервера&lt;br /&gt;
mail          IN      A      192.168.0.5&lt;br /&gt;
; Переключение на поддомен&lt;br /&gt;
$ORIGIN us.example.com.&lt;br /&gt;
; A-запись для почтового сервера поддомена&lt;br /&gt;
mail          IN      A      10.10.0.29&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CNAME ===&lt;br /&gt;
&lt;br /&gt;
Запись CNAME используется для указания псевдонима или ссылки одного имени на другое.&lt;br /&gt;
Если сервер вернул клиенту CNAME в ответ на запрос, то клиенту придется повторно делать запрос на разрешение CNAME.&lt;br /&gt;
Используется для удобства администрирования при наличии многих имен у одного сервера.&lt;br /&gt;
&lt;br /&gt;
Примеры различных псевдонимов в домене example.com.:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
joe        IN      A      192.168.254.3   &lt;br /&gt;
www        IN      CNAME  joe &lt;br /&gt;
www        IN      CNAME  joe.example.com. &lt;br /&gt;
ftp        IN      CNAME  www.example.com. ; паровоз&lt;br /&gt;
bill       IN      CNAME  fred.another.com. ; перенаправление на имя в другом домене&lt;br /&gt;
;&lt;br /&gt;
           IN      A      192.168.254.8&lt;br /&gt;
www        IN      CNAME  example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
=== DNAME ===&lt;br /&gt;
Перенаправление зон RFC 6672&lt;br /&gt;
&lt;br /&gt;
=== PTR ===&lt;br /&gt;
Обратная запись указывает на имя по ip адресу. Используется специальный домен .IN-ADDR.ARPA.&lt;br /&gt;
Для IPv6 используется другой домен - IP6.ARPA. Поэтому обратные записи необходимо держать в разных файлах для ipv4 и ipv6.&lt;br /&gt;
&lt;br /&gt;
Пример для IPv4:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; 172800 secs&lt;br /&gt;
$ORIGIN 23.168.192.IN-ADDR.ARPA.&lt;br /&gt;
@             IN      SOA   ns1.example.com. hostmaster.example.com. (&lt;br /&gt;
                              2003080800 ; serial number&lt;br /&gt;
                              12h         ; refresh&lt;br /&gt;
                              15m        ; update retry&lt;br /&gt;
                              3w         ; expiry&lt;br /&gt;
                              3h         ; minimum&lt;br /&gt;
                              )&lt;br /&gt;
              IN      NS      ns1.example.com.&lt;br /&gt;
              IN      NS      ns2.example.com.&lt;br /&gt;
2             IN      PTR     joe.example.com. ; FDQN&lt;br /&gt;
15            IN      PTR     www.example.com.&lt;br /&gt;
17            IN      PTR     bill.example.com.&lt;br /&gt;
74            IN      PTR     fred.example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример для IPv6:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
; reverse IPV6 zone file for example.com&lt;br /&gt;
$TTL 2d    ; default TTL for zone 172800 secs&lt;br /&gt;
$ORIGIN 0.0.0.0.8.b.d.0.1.0.0.2.IP6.ARPA.&lt;br /&gt;
@         IN      SOA   ns1.example.com. hostmaster.example.com. (&lt;br /&gt;
                        2003080800 ; sn = serial number&lt;br /&gt;
                        12h         ; refresh = refresh&lt;br /&gt;
                        15m        ; retry = update retry&lt;br /&gt;
                        3w         ; expiry = expiry&lt;br /&gt;
                        2h         ; min = minimum&lt;br /&gt;
                        )&lt;br /&gt;
          IN      NS      ns1.example.com.&lt;br /&gt;
          IN      NS      ns2.example.net.&lt;br /&gt;
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0         IN      PTR     ns1.example.com.&lt;br /&gt;
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0         IN      PTR     mail.example.com.&lt;br /&gt;
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0         IN      PTR     joe.example.com.&lt;br /&gt;
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0         IN      PTR     www.example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
=== TEXT ===&lt;br /&gt;
=== SRV ===&lt;br /&gt;
=== Обратные зоны для бесклассовых подсетей ===&lt;br /&gt;
Приемы через CNAME и DNAME&lt;br /&gt;
&lt;br /&gt;
== Директивы сервера bind==&lt;br /&gt;
&lt;br /&gt;
$TTL&lt;br /&gt;
$ORIGIN&lt;br /&gt;
&lt;br /&gt;
== View - ограничение видимости зон ==&lt;br /&gt;
Использование ограничения видимости позволяет применять различные опции по отношению к различным клиентам.&lt;br /&gt;
Опция вступают в действие в зависимости от ip адреса клиента - источника запроса.&lt;br /&gt;
&lt;br /&gt;
Это позволяет использовать разные данные по одной и той-же зоне для разных клиентов.&lt;br /&gt;
Для внутренних клиентов мы должны разрешить рекурсивные запросы, для внешних - запретить.&lt;br /&gt;
&lt;br /&gt;
В конфигурационном файле необходимо запретить рекурсию по-умолчанию (закомментировать).&lt;br /&gt;
На рубеже версии 9.5 поведение этого флажка меняется, на новых версиях надо оставить строчку включенной.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
allow-recursion { any; };&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
На версии 9.8.4 поведение такое:&lt;br /&gt;
* allow-recursion { any; }; view recusion yes; - разрешает рекурсию. (на нерекурсивный запрос дает хинт root-list);&lt;br /&gt;
* allow-recursion { any; }; view recusion no; - запрещает рекурсию молча (no answer);&lt;br /&gt;
* allow-recursion { none; }; view recusion yes|no; - запрещает рекурсию (REFUSED);&lt;br /&gt;
* закомментарен allow-recursion { none; }; view recusion yes|no; - запрещает рекурсию (REFUSED);&lt;br /&gt;
Т.е. для нас актуальны первые два варианта.&lt;br /&gt;
&lt;br /&gt;
Выключить проверку DNSSEC. Требуется если мы в лабораторных условиях сквоттим TLD.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
dnssec-validation no;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Конфигурация зон /etc/bind/named.conf&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
; список доступа - наши внутренние клиенты&lt;br /&gt;
acl internal {&lt;br /&gt;
    10.13.0.0/24;&lt;br /&gt;
    localhost;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
; область видимости для внутренних клиентов&lt;br /&gt;
view &amp;quot;internal-view&amp;quot; {&lt;br /&gt;
  ; клиент - соответствует списку доступа&lt;br /&gt;
  match-clients { internal; };&lt;br /&gt;
  ; разрешена рекурсия для внутренних клиентов&lt;br /&gt;
  recursion yes;&lt;br /&gt;
&lt;br /&gt;
 ;  зона видима только для внутренних клиентов&lt;br /&gt;
  zone &amp;quot;model.local&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.model.local&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
; зона видима для внутренних клиентов иначе, чем для внешних&lt;br /&gt;
; файл зоны свой&lt;br /&gt;
  zone &amp;quot;model.example.net&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.model.example.net.internal&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
; обратная зона для внутренних клиентов тоже своя&lt;br /&gt;
  zone &amp;quot;0.13.10.in-addr.arpa&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/rev.10.13.0.internal&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
; дефолтные зоны сервера&lt;br /&gt;
  include &amp;quot;/etc/bind/named.conf.default-zones&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
; область видимости, доступная всем прочим клиентам&lt;br /&gt;
view &amp;quot;external-view&amp;quot; {&lt;br /&gt;
  match-clients { any; };&lt;br /&gt;
; запрет рекурсии&lt;br /&gt;
  recursion no;&lt;br /&gt;
; запрет добавления Additional секции со ссылками на root сервера для всех запросов, которых нет в зонах.&lt;br /&gt;
; заставляет bind отвечать REFUSED на запрос посторонних имен. (Блокировка Upward referrals)&lt;br /&gt;
  additional-from-cache no;&lt;br /&gt;
&lt;br /&gt;
; зона видится внешними клиентами не так, как внутренними&lt;br /&gt;
; файл зоны свой&lt;br /&gt;
  zone &amp;quot;model.example.net&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.model.example.net&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
;  обратная зона видится внешними клиентами не так, как внутренними&lt;br /&gt;
; файл зоны свой&lt;br /&gt;
  zone &amp;quot;0.13.10.in-addr.arpa&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/rev.10.13.0&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обратите внимание: при запрете рекурсии внутри view перестанут работать CNAME на посторонние зоны.&lt;br /&gt;
&lt;br /&gt;
При дублировании зон в областях видимости не забывайте прописать после NS записи еще и A-запись для вашего dns-сервера.&lt;br /&gt;
Внешние клиенты тоже должны знать ip адрес вашего NS.&lt;br /&gt;
Пример:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$ORIGIN model.local.&lt;br /&gt;
$TTL 1h&lt;br /&gt;
;&lt;br /&gt;
@       IN      SOA     ns1.model.local.        hostmaster.model.local. (&lt;br /&gt;
                                                2014025006      ; Serial Number&lt;br /&gt;
                                                10800           ; refresh&lt;br /&gt;
                                                3600            ; retry&lt;br /&gt;
                                                604800          ; expire&lt;br /&gt;
                                                86400   )       ; min TTL&lt;br /&gt;
;&lt;br /&gt;
                        IN      NS      ns1.model.local.&lt;br /&gt;
                        IN      MX      10      mail1&lt;br /&gt;
;&lt;br /&gt;
ns1                     IN      A       10.13.0.104 ; &amp;lt;--------- ОБЯЗАТЕЛЬНО&lt;br /&gt;
gw                      IN      A       10.13.0.43&lt;br /&gt;
hi                      IN      A       10.13.0.223&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если этого не сделать, в ответ на запрос к любому имени в зоне сервер будет отвечать ошибкой &amp;quot;ServerFail&amp;quot;:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
root@model-net-ctrl-1:/etc/bind# dig hi.model.local. @10.13.0.104&lt;br /&gt;
;; Got answer:&lt;br /&gt;
;; HEADER opcode: QUERY, status: SERVFAIL, id: 60022&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Запрет рекурсий ==&lt;br /&gt;
См. upward referrals debates&lt;br /&gt;
https://www.dns-oarc.net/oarc/articles/upward-referrals-considered-harmful&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:DNS]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=BIND9_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D0%B5)&amp;diff=437</id>
		<title>BIND9 (методическое пособие)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=BIND9_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D0%B5)&amp;diff=437"/>
				<updated>2020-03-11T12:01:31Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Обратные зоны для бесклассовых подсетей */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Архитектура DNS=&lt;br /&gt;
root(.)&lt;br /&gt;
&lt;br /&gt;
gTLD&lt;br /&gt;
&lt;br /&gt;
ccTLD&lt;br /&gt;
&lt;br /&gt;
Домены, поддомены, псевдо-поддомены, зоны прямые и обратные&lt;br /&gt;
&lt;br /&gt;
Делегирование зон&lt;br /&gt;
&lt;br /&gt;
Трансфер зон&lt;br /&gt;
&lt;br /&gt;
Рекурсивный и нерекурсивный запрос&lt;br /&gt;
&lt;br /&gt;
Stub-resolver.&lt;br /&gt;
Тупиковый резолвер с кэшем поддерживает только рекурсивный запрос. (win: DNS-client)&lt;br /&gt;
TSIG протокол позволяет аутентифицировать передачу данных между DNS-серверами. Можно проверять подлинность данных при передаче зон, рекурсивных запросах, динамических обновлениях. Сами данные не шифруются, но подлинность проверяется. TSIG использует метки времени для предотвращения атаки повторения пакетов.&lt;br /&gt;
&lt;br /&gt;
DNSSEC&lt;br /&gt;
&lt;br /&gt;
=== nslookup ===&lt;br /&gt;
&lt;br /&gt;
Пример dns запроса на сервер 10.13.0.101 - рекурсия разрешена:&lt;br /&gt;
&lt;br /&gt;
 root@netctrl-01:/etc/bind# nslookup www.ru. 10.13.0.101&lt;br /&gt;
 Server:         10.13.0.101&lt;br /&gt;
 Address:        10.13.0.101#53&lt;br /&gt;
 Non-authoritative answer:&lt;br /&gt;
 Name:   www.ru&lt;br /&gt;
 Address: 194.87.0.50&lt;br /&gt;
&lt;br /&gt;
Пример dns запроса на сервер 10.13.0.101 - рекурсия запрещена:&lt;br /&gt;
 root@netctrl-01:/etc/bind# nslookup www.ru. 10.13.0.101&lt;br /&gt;
 Server:         10.13.0.101&lt;br /&gt;
 Address:        10.13.0.101#53&lt;br /&gt;
 ** server can't find www.ru: REFUSED&lt;br /&gt;
&lt;br /&gt;
=== dig ===&lt;br /&gt;
Пример запроса при помощи команды dig. Рекурсия запрещена&lt;br /&gt;
 root@netctrl-01:/etc# dig +all ya.ru.&lt;br /&gt;
 ; &amp;lt;&amp;lt;&amp;gt;&amp;gt; DiG 9.8.4-rpz2+rl005.12-P1 &amp;lt;&amp;lt;&amp;gt;&amp;gt; +all ya.ru.&lt;br /&gt;
 ;; global options: +cmd&lt;br /&gt;
 ;; Got answer:&lt;br /&gt;
 ;; -&amp;gt;&amp;gt;HEADER&amp;lt;&amp;lt;- opcode: QUERY, status: REFUSED, id: 36103&lt;br /&gt;
 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0&lt;br /&gt;
 ;; WARNING: recursion requested but not available&lt;br /&gt;
 ;; QUESTION SECTION:&lt;br /&gt;
 ;ya.ru.                         IN      A&lt;br /&gt;
 ;; Query time: 0 msec&lt;br /&gt;
 ;; SERVER: 127.0.0.1#53(127.0.0.1)&lt;br /&gt;
 ;; WHEN: Thu Feb 20 16:21:58 2014&lt;br /&gt;
 ;; MSG SIZE  rcvd: 23&lt;br /&gt;
&lt;br /&gt;
Рекурсия разрешена&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
root@netctrl-01:/etc/bind# dig +trace ya.ru.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;&amp;lt;&amp;gt;&amp;gt; DiG 9.8.4-rpz2+rl005.12-P1 &amp;lt;&amp;lt;&amp;gt;&amp;gt; +trace ya.ru.&lt;br /&gt;
;; global options: +cmd&lt;br /&gt;
.                       510544  IN      NS      m.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      b.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      a.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      g.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      k.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      f.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      d.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      j.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      l.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      h.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      e.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      i.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      c.root-servers.net.&lt;br /&gt;
;; Received 512 bytes from 127.0.0.1#53(127.0.0.1) in 3 ms&lt;br /&gt;
&lt;br /&gt;
ru.                     172800  IN      NS      a.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      b.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      d.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      e.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      f.dns.ripn.net.&lt;br /&gt;
;; Received 335 bytes from 128.63.2.53#53(128.63.2.53) in 191 ms&lt;br /&gt;
&lt;br /&gt;
ya.ru.                  345600  IN      NS      ns1.yandex.ru.&lt;br /&gt;
ya.ru.                  345600  IN      NS      ns2.yandex.ru.&lt;br /&gt;
;; Received 154 bytes from 193.232.156.17#53(193.232.156.17) in 288 ms&lt;br /&gt;
&lt;br /&gt;
ya.ru.                  7200    IN      A       213.180.204.3&lt;br /&gt;
ya.ru.                  7200    IN      A       93.158.134.3&lt;br /&gt;
ya.ru.                  7200    IN      A       213.180.193.3&lt;br /&gt;
ya.ru.                  7200    IN      NS      ns1.yandex.ru.&lt;br /&gt;
ya.ru.                  7200    IN      NS      ns2.yandex.ru.&lt;br /&gt;
;; Received 202 bytes from 213.180.193.1#53(213.180.193.1) in 47 ms&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Сервер имен BIND9 =&lt;br /&gt;
== Управление ==&lt;br /&gt;
Проверяет конфиг сервера имен&lt;br /&gt;
 named-checkconf&lt;br /&gt;
&lt;br /&gt;
Перезагружает конфиг и зоны&lt;br /&gt;
 rndc reload&lt;br /&gt;
&lt;br /&gt;
Перезагружает только изменившиеся зоны&lt;br /&gt;
 rndc reconfig&lt;br /&gt;
&lt;br /&gt;
Запуск&lt;br /&gt;
 service bind9 start&lt;br /&gt;
&lt;br /&gt;
Состояние сервера&lt;br /&gt;
 rndc status&lt;br /&gt;
&lt;br /&gt;
Сброс кэша&lt;br /&gt;
 rndc flush&lt;br /&gt;
&lt;br /&gt;
Конфигурация и файлы зон по-умолчанию лежат в /etc/bind/&lt;br /&gt;
&lt;br /&gt;
== Опции ==&lt;br /&gt;
&lt;br /&gt;
Списки доступа&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
acl network1 {&lt;br /&gt;
        1.2.3.0/24;&lt;br /&gt;
        192.168.0.0/20;&lt;br /&gt;
};&lt;br /&gt;
acl GoodDns {&lt;br /&gt;
       1.2.3.4;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ограничение на трансфер зон и запросы&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
        allow-transfer {&lt;br /&gt;
                localhost;&lt;br /&gt;
               GoodDns;&lt;br /&gt;
        };&lt;br /&gt;
        allow-query {&lt;br /&gt;
               any;&lt;br /&gt;
        };&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Настройка зоны и подключение файла зоны&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zone &amp;quot;example.com&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.example.com.&amp;quot;;&lt;br /&gt;
        allow-query {&lt;br /&gt;
                any;&lt;br /&gt;
        };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Зона прямого просмотра ==&lt;br /&gt;
Зоны прямого просмотра делегируются нам владельцем родительского домена.&lt;br /&gt;
&lt;br /&gt;
Пример файла зоны, для которой мы являемся мастером (SOA ns1.model.local.)&lt;br /&gt;
Сервер ns.example.com. указан в качестве вторичного.&lt;br /&gt;
&lt;br /&gt;
Параметры времени жизни записи:&lt;br /&gt;
* TTL - время, на которое запись считается действительной, после выдачи сервером. Записи в кэше хранятся в течение TTL.&lt;br /&gt;
* Negative Cache TTL - время действия ответа об отсутствии записи (NXDOMAIN). Запись о том, что запрошенное имя не существует хранится в кэше на это время.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TTL можно задавать отдельно для каждой записи. Negative Cache TTL - действует на зоны в целом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN model.local.&lt;br /&gt;
$TTL 1h&lt;br /&gt;
;&lt;br /&gt;
@       IN      SOA     ns1.model.local.        hostmaster.model.local. (&lt;br /&gt;
                                                2014023001      ; Serial Number&lt;br /&gt;
                                                10800           ; refresh&lt;br /&gt;
                                                3600            ; retry&lt;br /&gt;
                                                604800          ; expire&lt;br /&gt;
                                                86400   )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
                        IN      NS      ns1.model.local.&lt;br /&gt;
                        IN      NS      ns.example.com.&lt;br /&gt;
                        IN      MX      10      mail1&lt;br /&gt;
;&lt;br /&gt;
gw                      IN      A       10.13.0.1&lt;br /&gt;
; несколько имен на один адрес&lt;br /&gt;
ns1                     IN      A       10.13.0.2&lt;br /&gt;
net-ctrl-1              IN      A       10.13.0.2&lt;br /&gt;
mail1                  IN      A       10.13.0.10&lt;br /&gt;
front2                  IN      A       10.13.0.11&lt;br /&gt;
back1                   IN      A       10.13.0.20&lt;br /&gt;
back2                   IN      A       10.13.0.21&lt;br /&gt;
; несколько адресов на одно имя - балансировка&lt;br /&gt;
back                    IN      A       10.13.0.20&lt;br /&gt;
                        IN      A       10.13.0.21&lt;br /&gt;
stor1                   IN      A       10.13.0.30&lt;br /&gt;
stor2                   IN      A       10.13.0.31&lt;br /&gt;
stor-vip                IN      A       10.13.0.40&lt;br /&gt;
front-vrrp              IN      A       10.13.0.50&lt;br /&gt;
www                     IN      CNAME   model.local.&lt;br /&gt;
bc                      IN      A       10.13.0.255&lt;br /&gt;
;&lt;br /&gt;
; users&lt;br /&gt;
user1                  IN      CNAME   back.model.local.&lt;br /&gt;
www.user1              IN      CNAME   back.model.local.&lt;br /&gt;
user2                  IN      CNAME   back.model.local.&lt;br /&gt;
www.user2              IN      CNAME   back.model.local.&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Зона обратного просмотра ==&lt;br /&gt;
&lt;br /&gt;
Зона обратного просмотра управляется владельцем диапазона ip адресов. &lt;br /&gt;
&lt;br /&gt;
Пример файла зоны обратного просмотра, для которой мы являемся мастером&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN 0.13.10.IN-ADDR.ARPA.&lt;br /&gt;
$TTL 1h&lt;br /&gt;
;&lt;br /&gt;
@       IN      SOA     ns1.model.local.        hostmaster.model.local. (&lt;br /&gt;
                                                2014023001      ; Serial Number&lt;br /&gt;
                                                10800           ; refresh&lt;br /&gt;
                                                3600            ; retry&lt;br /&gt;
                                                604800          ; expire&lt;br /&gt;
                                                86400   )       ; min TTL&lt;br /&gt;
;&lt;br /&gt;
                        IN      NS      ns1.model.local.&lt;br /&gt;
;&lt;br /&gt;
2                       IN      PTR     ns1.model.local.&lt;br /&gt;
101                     IN      PTR     netctrl-01.model.local.&lt;br /&gt;
255                     IN      PTR     bc.model.local.&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Зоны по-умолчанию ==&lt;br /&gt;
&lt;br /&gt;
Зона типа hint для домена точки со списком корневых серверов. Файл зона необходимо периодически обновлять с сервера ftp://ftp.internic.net/domain/named.cache&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zone &amp;quot;.&amp;quot; {&lt;br /&gt;
        type hint;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.root&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Зоны замыкания на себя прямые, обратные и броадкастов.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zone &amp;quot;localhost&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.local&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;127.in-addr.arpa&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.127&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;0.in-addr.arpa&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.0&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;255.in-addr.arpa&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.255&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример прямой и обратной зоны замыкания на себя, входящих в дистрибутив BIND9&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
; BIND data file for local loopback interface&lt;br /&gt;
;&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     localhost. root.localhost. (&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
@       IN      NS      localhost.&lt;br /&gt;
@       IN      A       127.0.0.1&lt;br /&gt;
@       IN      AAAA    ::1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     localhost. root.localhost. (&lt;br /&gt;
                              1         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
@       IN      NS      localhost.&lt;br /&gt;
1.0.0   IN      PTR     localhost.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Типы ресурсных записей (RR) ==&lt;br /&gt;
&lt;br /&gt;
=== SOA ===&lt;br /&gt;
SOA запись в файле зоны должна быть только одна. В файле она должна стоять первой.&lt;br /&gt;
Запись SOA определяет какой сервер является владельцем зоны и какие на зону установлены параметры.&lt;br /&gt;
После записи SOA надо обязательно указать IN NS запись с тем-же сервером, что и в заголовке.&lt;br /&gt;
&lt;br /&gt;
Пример: домен example.com обслуживается серверами ns.example.com и ns.examle.net.&lt;br /&gt;
После указания директивы $ORIGIN сервер автоматически допишет за нас все неполные dns имена (таким образом hostmaster читается как hostmaster.example.com). Имя сервера вне зоны пишется полностью.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone TTL default = 2 days or 172800 seconds&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
@      IN      SOA   ns hostmaster (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               1d12h      ; refresh =  1 day 12 hours&lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
       IN      NS  ns&lt;br /&gt;
       IN      NS  ns.example.net.  ; out-of-zone &lt;br /&gt;
...&lt;br /&gt;
; A record for the NS RR above&lt;br /&gt;
ns     IN      A   192.168.2.1&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример 2: домен example.com обслуживается двумя серверами вне зоны. Для них указаны полные имена в записях IN NS.&lt;br /&gt;
Т.к. домен обслуживается другими серверами никакие A записи не допускаются.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone TTL default = 2 days or 172800 seconds&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
@      IN      SOA   ns.example.net. hostmaster.example.com. (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               1d12h      ; refresh =  1 day 12 hours&lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
        IN     NS    ns.example.net. ; out-of-zone name server&lt;br /&gt;
        IN     NS    ns.example.org. ; out-of-zone name server&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== NS ===&lt;br /&gt;
Инфраструктурная запись, указывающая имя сервера имен для данного домена.&lt;br /&gt;
Формат&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
owner-name     ttl  class   rr     target-name&lt;br /&gt;
example.com.        IN      NS      ns1.example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Согласно стандарту, каждый публичный домен должен иметь минимум 2 сервера имен. Частный домен может обслуживаться и одним сервером.&lt;br /&gt;
&lt;br /&gt;
Если NS сервер для нашего домена находится в нашем домене, то мы обязаны указать A-запись для этого сервера (glue-record).&lt;br /&gt;
Если NS сервер лежит вне домена - A-запись указывать не нужно.&lt;br /&gt;
&lt;br /&gt;
Пример: NS записи для основного домена и для делегированного поддомена с указанием glue-records.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; default TTL is 2 days&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
@              IN      SOA   ns1.example.com. hostmaster.example.com. (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               2h         ; refresh =  2 hours &lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
              IN      NS     ns1.example.com.&lt;br /&gt;
              IN      NS     ns2.example.com.&lt;br /&gt;
; обязательно указываем адреса этих серверов&lt;br /&gt;
ns1           IN      A      192.168.0.3&lt;br /&gt;
ns2           IN      A      192.168.0.4&lt;br /&gt;
; переключение на поддомен&lt;br /&gt;
$ORIGIN us.example.com.&lt;br /&gt;
@             IN      NS     ns3.us.example.com.&lt;br /&gt;
              IN      NS     ns1.example.com.&lt;br /&gt;
; обязательно указываем на сервер поддомена&lt;br /&gt;
ns3.us.example.com. A 10.10.0.24&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== A, AAAA ===&lt;br /&gt;
A-запись указывает на ip адрес для данного имени хоста. Опционально указать особо ttl.&lt;br /&gt;
&lt;br /&gt;
Пример: различные вариации записи&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone default = 2 days or 172800 seconds&lt;br /&gt;
joe        IN      A      192.168.0.3  ; одинаковые ip&lt;br /&gt;
www        IN      A      192.168.0.3&lt;br /&gt;
; можно указать домен полностью&lt;br /&gt;
www.example.com.   A      192.168.0.3&lt;br /&gt;
fred  3600 IN      A      192.168.0.4  ; указан другой ttl&lt;br /&gt;
ftp        IN      A      192.168.0.24 ; разные ip для одного имени&lt;br /&gt;
           IN      A      192.168.0.7&lt;br /&gt;
mail       IN      A      192.168.0.15  ; разные ip для одного имени&lt;br /&gt;
mail       IN      A      192.168.0.32&lt;br /&gt;
mail       IN      A      192.168.0.3&lt;br /&gt;
squat      IN      A      10.0.14.13  ; другая подсеть&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
AAAA-запись используется для IPv6 адресов&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ws1-29                  A       10.0.10.29                                                                                      &lt;br /&gt;
                        AAAA    2002:d4c0:4090::d110:1011 &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Когда одному имени сопоставлено много адресов, в обратной записи для адреса нужно выдрать только одно имя.&lt;br /&gt;
&lt;br /&gt;
=== MX ===&lt;br /&gt;
Инфраструктурная запись  указывающая на имя почтового сервера для домена.&lt;br /&gt;
Если имя сервера в этом-же домене - требуется еще А-запись с ip адресом почтового сервера.&lt;br /&gt;
&lt;br /&gt;
Почтовых серверов для домена можно указать несколько с разными приоритетами.&lt;br /&gt;
&lt;br /&gt;
Пример: почтовые сервера для домена и поддомена в одном файле&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone default = 2 days or 172800 seconds&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
example.com. IN     SOA   ns1.example.com. root.example.com. (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               2h         ; refresh =  2 hours &lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
; почтовый сервер для адресов вида user@example.com&lt;br /&gt;
              IN      MX 10  mail.example.com.&lt;br /&gt;
; почтовые сервера для поддомена user@us.example.com&lt;br /&gt;
us            IN      MX 10  mail.us.example.com.&lt;br /&gt;
us            IN      MX 20  mail.example.com.&lt;br /&gt;
; A-запись для основного почтового сервера&lt;br /&gt;
mail          IN      A      192.168.0.5&lt;br /&gt;
; Переключение на поддомен&lt;br /&gt;
$ORIGIN us.example.com.&lt;br /&gt;
; A-запись для почтового сервера поддомена&lt;br /&gt;
mail          IN      A      10.10.0.29&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CNAME ===&lt;br /&gt;
&lt;br /&gt;
Запись CNAME используется для указания псевдонима или ссылки одного имени на другое.&lt;br /&gt;
Если сервер вернул клиенту CNAME в ответ на запрос, то клиенту придется повторно делать запрос на разрешение CNAME.&lt;br /&gt;
Используется для удобства администрирования при наличии многих имен у одного сервера.&lt;br /&gt;
&lt;br /&gt;
Примеры различных псевдонимов в домене example.com.:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
joe        IN      A      192.168.254.3   &lt;br /&gt;
www        IN      CNAME  joe &lt;br /&gt;
www        IN      CNAME  joe.example.com. &lt;br /&gt;
ftp        IN      CNAME  www.example.com. ; паровоз&lt;br /&gt;
bill       IN      CNAME  fred.another.com. ; перенаправление на имя в другом домене&lt;br /&gt;
;&lt;br /&gt;
           IN      A      192.168.254.8&lt;br /&gt;
www        IN      CNAME  example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
=== DNAME ===&lt;br /&gt;
Перенаправление зон&lt;br /&gt;
&lt;br /&gt;
=== PTR ===&lt;br /&gt;
Обратная запись указывает на имя по ip адресу. Используется специальный домен .IN-ADDR.ARPA.&lt;br /&gt;
Для IPv6 используется другой домен - IP6.ARPA. Поэтому обратные записи необходимо держать в разных файлах для ipv4 и ipv6.&lt;br /&gt;
&lt;br /&gt;
Пример для IPv4:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; 172800 secs&lt;br /&gt;
$ORIGIN 23.168.192.IN-ADDR.ARPA.&lt;br /&gt;
@             IN      SOA   ns1.example.com. hostmaster.example.com. (&lt;br /&gt;
                              2003080800 ; serial number&lt;br /&gt;
                              12h         ; refresh&lt;br /&gt;
                              15m        ; update retry&lt;br /&gt;
                              3w         ; expiry&lt;br /&gt;
                              3h         ; minimum&lt;br /&gt;
                              )&lt;br /&gt;
              IN      NS      ns1.example.com.&lt;br /&gt;
              IN      NS      ns2.example.com.&lt;br /&gt;
2             IN      PTR     joe.example.com. ; FDQN&lt;br /&gt;
15            IN      PTR     www.example.com.&lt;br /&gt;
17            IN      PTR     bill.example.com.&lt;br /&gt;
74            IN      PTR     fred.example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример для IPv6:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
; reverse IPV6 zone file for example.com&lt;br /&gt;
$TTL 2d    ; default TTL for zone 172800 secs&lt;br /&gt;
$ORIGIN 0.0.0.0.8.b.d.0.1.0.0.2.IP6.ARPA.&lt;br /&gt;
@         IN      SOA   ns1.example.com. hostmaster.example.com. (&lt;br /&gt;
                        2003080800 ; sn = serial number&lt;br /&gt;
                        12h         ; refresh = refresh&lt;br /&gt;
                        15m        ; retry = update retry&lt;br /&gt;
                        3w         ; expiry = expiry&lt;br /&gt;
                        2h         ; min = minimum&lt;br /&gt;
                        )&lt;br /&gt;
          IN      NS      ns1.example.com.&lt;br /&gt;
          IN      NS      ns2.example.net.&lt;br /&gt;
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0         IN      PTR     ns1.example.com.&lt;br /&gt;
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0         IN      PTR     mail.example.com.&lt;br /&gt;
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0         IN      PTR     joe.example.com.&lt;br /&gt;
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0         IN      PTR     www.example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
=== TEXT ===&lt;br /&gt;
=== SRV ===&lt;br /&gt;
=== Обратные зоны для бесклассовых подсетей ===&lt;br /&gt;
Приемы через CNAME и DNAME&lt;br /&gt;
&lt;br /&gt;
== Директивы сервера bind==&lt;br /&gt;
&lt;br /&gt;
$TTL&lt;br /&gt;
$ORIGIN&lt;br /&gt;
&lt;br /&gt;
== View - ограничение видимости зон ==&lt;br /&gt;
Использование ограничения видимости позволяет применять различные опции по отношению к различным клиентам.&lt;br /&gt;
Опция вступают в действие в зависимости от ip адреса клиента - источника запроса.&lt;br /&gt;
&lt;br /&gt;
Это позволяет использовать разные данные по одной и той-же зоне для разных клиентов.&lt;br /&gt;
Для внутренних клиентов мы должны разрешить рекурсивные запросы, для внешних - запретить.&lt;br /&gt;
&lt;br /&gt;
В конфигурационном файле необходимо запретить рекурсию по-умолчанию (закомментировать).&lt;br /&gt;
На рубеже версии 9.5 поведение этого флажка меняется, на новых версиях надо оставить строчку включенной.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
allow-recursion { any; };&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
На версии 9.8.4 поведение такое:&lt;br /&gt;
* allow-recursion { any; }; view recusion yes; - разрешает рекурсию. (на нерекурсивный запрос дает хинт root-list);&lt;br /&gt;
* allow-recursion { any; }; view recusion no; - запрещает рекурсию молча (no answer);&lt;br /&gt;
* allow-recursion { none; }; view recusion yes|no; - запрещает рекурсию (REFUSED);&lt;br /&gt;
* закомментарен allow-recursion { none; }; view recusion yes|no; - запрещает рекурсию (REFUSED);&lt;br /&gt;
Т.е. для нас актуальны первые два варианта.&lt;br /&gt;
&lt;br /&gt;
Выключить проверку DNSSEC. Требуется если мы в лабораторных условиях сквоттим TLD.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
dnssec-validation no;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Конфигурация зон /etc/bind/named.conf&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
; список доступа - наши внутренние клиенты&lt;br /&gt;
acl internal {&lt;br /&gt;
    10.13.0.0/24;&lt;br /&gt;
    localhost;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
; область видимости для внутренних клиентов&lt;br /&gt;
view &amp;quot;internal-view&amp;quot; {&lt;br /&gt;
  ; клиент - соответствует списку доступа&lt;br /&gt;
  match-clients { internal; };&lt;br /&gt;
  ; разрешена рекурсия для внутренних клиентов&lt;br /&gt;
  recursion yes;&lt;br /&gt;
&lt;br /&gt;
 ;  зона видима только для внутренних клиентов&lt;br /&gt;
  zone &amp;quot;model.local&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.model.local&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
; зона видима для внутренних клиентов иначе, чем для внешних&lt;br /&gt;
; файл зоны свой&lt;br /&gt;
  zone &amp;quot;model.example.net&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.model.example.net.internal&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
; обратная зона для внутренних клиентов тоже своя&lt;br /&gt;
  zone &amp;quot;0.13.10.in-addr.arpa&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/rev.10.13.0.internal&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
; дефолтные зоны сервера&lt;br /&gt;
  include &amp;quot;/etc/bind/named.conf.default-zones&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
; область видимости, доступная всем прочим клиентам&lt;br /&gt;
view &amp;quot;external-view&amp;quot; {&lt;br /&gt;
  match-clients { any; };&lt;br /&gt;
; запрет рекурсии&lt;br /&gt;
  recursion no;&lt;br /&gt;
; запрет добавления Additional секции со ссылками на root сервера для всех запросов, которых нет в зонах.&lt;br /&gt;
; заставляет bind отвечать REFUSED на запрос посторонних имен. (Блокировка Upward referrals)&lt;br /&gt;
  additional-from-cache no;&lt;br /&gt;
&lt;br /&gt;
; зона видится внешними клиентами не так, как внутренними&lt;br /&gt;
; файл зоны свой&lt;br /&gt;
  zone &amp;quot;model.example.net&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.model.example.net&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
;  обратная зона видится внешними клиентами не так, как внутренними&lt;br /&gt;
; файл зоны свой&lt;br /&gt;
  zone &amp;quot;0.13.10.in-addr.arpa&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/rev.10.13.0&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обратите внимание: при запрете рекурсии внутри view перестанут работать CNAME на посторонние зоны.&lt;br /&gt;
&lt;br /&gt;
При дублировании зон в областях видимости не забывайте прописать после NS записи еще и A-запись для вашего dns-сервера.&lt;br /&gt;
Внешние клиенты тоже должны знать ip адрес вашего NS.&lt;br /&gt;
Пример:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$ORIGIN model.local.&lt;br /&gt;
$TTL 1h&lt;br /&gt;
;&lt;br /&gt;
@       IN      SOA     ns1.model.local.        hostmaster.model.local. (&lt;br /&gt;
                                                2014025006      ; Serial Number&lt;br /&gt;
                                                10800           ; refresh&lt;br /&gt;
                                                3600            ; retry&lt;br /&gt;
                                                604800          ; expire&lt;br /&gt;
                                                86400   )       ; min TTL&lt;br /&gt;
;&lt;br /&gt;
                        IN      NS      ns1.model.local.&lt;br /&gt;
                        IN      MX      10      mail1&lt;br /&gt;
;&lt;br /&gt;
ns1                     IN      A       10.13.0.104 ; &amp;lt;--------- ОБЯЗАТЕЛЬНО&lt;br /&gt;
gw                      IN      A       10.13.0.43&lt;br /&gt;
hi                      IN      A       10.13.0.223&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если этого не сделать, в ответ на запрос к любому имени в зоне сервер будет отвечать ошибкой &amp;quot;ServerFail&amp;quot;:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
root@model-net-ctrl-1:/etc/bind# dig hi.model.local. @10.13.0.104&lt;br /&gt;
;; Got answer:&lt;br /&gt;
;; HEADER opcode: QUERY, status: SERVFAIL, id: 60022&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Запрет рекурсий ==&lt;br /&gt;
См. upward referrals debates&lt;br /&gt;
https://www.dns-oarc.net/oarc/articles/upward-referrals-considered-harmful&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:DNS]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=BIND9_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D0%B5)&amp;diff=436</id>
		<title>BIND9 (методическое пособие)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=BIND9_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D0%B5)&amp;diff=436"/>
				<updated>2020-03-11T12:01:00Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Типы ресурсных записей (RR) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Архитектура DNS=&lt;br /&gt;
root(.)&lt;br /&gt;
&lt;br /&gt;
gTLD&lt;br /&gt;
&lt;br /&gt;
ccTLD&lt;br /&gt;
&lt;br /&gt;
Домены, поддомены, псевдо-поддомены, зоны прямые и обратные&lt;br /&gt;
&lt;br /&gt;
Делегирование зон&lt;br /&gt;
&lt;br /&gt;
Трансфер зон&lt;br /&gt;
&lt;br /&gt;
Рекурсивный и нерекурсивный запрос&lt;br /&gt;
&lt;br /&gt;
Stub-resolver.&lt;br /&gt;
Тупиковый резолвер с кэшем поддерживает только рекурсивный запрос. (win: DNS-client)&lt;br /&gt;
TSIG протокол позволяет аутентифицировать передачу данных между DNS-серверами. Можно проверять подлинность данных при передаче зон, рекурсивных запросах, динамических обновлениях. Сами данные не шифруются, но подлинность проверяется. TSIG использует метки времени для предотвращения атаки повторения пакетов.&lt;br /&gt;
&lt;br /&gt;
DNSSEC&lt;br /&gt;
&lt;br /&gt;
=== nslookup ===&lt;br /&gt;
&lt;br /&gt;
Пример dns запроса на сервер 10.13.0.101 - рекурсия разрешена:&lt;br /&gt;
&lt;br /&gt;
 root@netctrl-01:/etc/bind# nslookup www.ru. 10.13.0.101&lt;br /&gt;
 Server:         10.13.0.101&lt;br /&gt;
 Address:        10.13.0.101#53&lt;br /&gt;
 Non-authoritative answer:&lt;br /&gt;
 Name:   www.ru&lt;br /&gt;
 Address: 194.87.0.50&lt;br /&gt;
&lt;br /&gt;
Пример dns запроса на сервер 10.13.0.101 - рекурсия запрещена:&lt;br /&gt;
 root@netctrl-01:/etc/bind# nslookup www.ru. 10.13.0.101&lt;br /&gt;
 Server:         10.13.0.101&lt;br /&gt;
 Address:        10.13.0.101#53&lt;br /&gt;
 ** server can't find www.ru: REFUSED&lt;br /&gt;
&lt;br /&gt;
=== dig ===&lt;br /&gt;
Пример запроса при помощи команды dig. Рекурсия запрещена&lt;br /&gt;
 root@netctrl-01:/etc# dig +all ya.ru.&lt;br /&gt;
 ; &amp;lt;&amp;lt;&amp;gt;&amp;gt; DiG 9.8.4-rpz2+rl005.12-P1 &amp;lt;&amp;lt;&amp;gt;&amp;gt; +all ya.ru.&lt;br /&gt;
 ;; global options: +cmd&lt;br /&gt;
 ;; Got answer:&lt;br /&gt;
 ;; -&amp;gt;&amp;gt;HEADER&amp;lt;&amp;lt;- opcode: QUERY, status: REFUSED, id: 36103&lt;br /&gt;
 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0&lt;br /&gt;
 ;; WARNING: recursion requested but not available&lt;br /&gt;
 ;; QUESTION SECTION:&lt;br /&gt;
 ;ya.ru.                         IN      A&lt;br /&gt;
 ;; Query time: 0 msec&lt;br /&gt;
 ;; SERVER: 127.0.0.1#53(127.0.0.1)&lt;br /&gt;
 ;; WHEN: Thu Feb 20 16:21:58 2014&lt;br /&gt;
 ;; MSG SIZE  rcvd: 23&lt;br /&gt;
&lt;br /&gt;
Рекурсия разрешена&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
root@netctrl-01:/etc/bind# dig +trace ya.ru.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;&amp;lt;&amp;gt;&amp;gt; DiG 9.8.4-rpz2+rl005.12-P1 &amp;lt;&amp;lt;&amp;gt;&amp;gt; +trace ya.ru.&lt;br /&gt;
;; global options: +cmd&lt;br /&gt;
.                       510544  IN      NS      m.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      b.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      a.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      g.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      k.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      f.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      d.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      j.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      l.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      h.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      e.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      i.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      c.root-servers.net.&lt;br /&gt;
;; Received 512 bytes from 127.0.0.1#53(127.0.0.1) in 3 ms&lt;br /&gt;
&lt;br /&gt;
ru.                     172800  IN      NS      a.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      b.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      d.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      e.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      f.dns.ripn.net.&lt;br /&gt;
;; Received 335 bytes from 128.63.2.53#53(128.63.2.53) in 191 ms&lt;br /&gt;
&lt;br /&gt;
ya.ru.                  345600  IN      NS      ns1.yandex.ru.&lt;br /&gt;
ya.ru.                  345600  IN      NS      ns2.yandex.ru.&lt;br /&gt;
;; Received 154 bytes from 193.232.156.17#53(193.232.156.17) in 288 ms&lt;br /&gt;
&lt;br /&gt;
ya.ru.                  7200    IN      A       213.180.204.3&lt;br /&gt;
ya.ru.                  7200    IN      A       93.158.134.3&lt;br /&gt;
ya.ru.                  7200    IN      A       213.180.193.3&lt;br /&gt;
ya.ru.                  7200    IN      NS      ns1.yandex.ru.&lt;br /&gt;
ya.ru.                  7200    IN      NS      ns2.yandex.ru.&lt;br /&gt;
;; Received 202 bytes from 213.180.193.1#53(213.180.193.1) in 47 ms&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Сервер имен BIND9 =&lt;br /&gt;
== Управление ==&lt;br /&gt;
Проверяет конфиг сервера имен&lt;br /&gt;
 named-checkconf&lt;br /&gt;
&lt;br /&gt;
Перезагружает конфиг и зоны&lt;br /&gt;
 rndc reload&lt;br /&gt;
&lt;br /&gt;
Перезагружает только изменившиеся зоны&lt;br /&gt;
 rndc reconfig&lt;br /&gt;
&lt;br /&gt;
Запуск&lt;br /&gt;
 service bind9 start&lt;br /&gt;
&lt;br /&gt;
Состояние сервера&lt;br /&gt;
 rndc status&lt;br /&gt;
&lt;br /&gt;
Сброс кэша&lt;br /&gt;
 rndc flush&lt;br /&gt;
&lt;br /&gt;
Конфигурация и файлы зон по-умолчанию лежат в /etc/bind/&lt;br /&gt;
&lt;br /&gt;
== Опции ==&lt;br /&gt;
&lt;br /&gt;
Списки доступа&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
acl network1 {&lt;br /&gt;
        1.2.3.0/24;&lt;br /&gt;
        192.168.0.0/20;&lt;br /&gt;
};&lt;br /&gt;
acl GoodDns {&lt;br /&gt;
       1.2.3.4;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ограничение на трансфер зон и запросы&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
        allow-transfer {&lt;br /&gt;
                localhost;&lt;br /&gt;
               GoodDns;&lt;br /&gt;
        };&lt;br /&gt;
        allow-query {&lt;br /&gt;
               any;&lt;br /&gt;
        };&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Настройка зоны и подключение файла зоны&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zone &amp;quot;example.com&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.example.com.&amp;quot;;&lt;br /&gt;
        allow-query {&lt;br /&gt;
                any;&lt;br /&gt;
        };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Зона прямого просмотра ==&lt;br /&gt;
Зоны прямого просмотра делегируются нам владельцем родительского домена.&lt;br /&gt;
&lt;br /&gt;
Пример файла зоны, для которой мы являемся мастером (SOA ns1.model.local.)&lt;br /&gt;
Сервер ns.example.com. указан в качестве вторичного.&lt;br /&gt;
&lt;br /&gt;
Параметры времени жизни записи:&lt;br /&gt;
* TTL - время, на которое запись считается действительной, после выдачи сервером. Записи в кэше хранятся в течение TTL.&lt;br /&gt;
* Negative Cache TTL - время действия ответа об отсутствии записи (NXDOMAIN). Запись о том, что запрошенное имя не существует хранится в кэше на это время.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TTL можно задавать отдельно для каждой записи. Negative Cache TTL - действует на зоны в целом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN model.local.&lt;br /&gt;
$TTL 1h&lt;br /&gt;
;&lt;br /&gt;
@       IN      SOA     ns1.model.local.        hostmaster.model.local. (&lt;br /&gt;
                                                2014023001      ; Serial Number&lt;br /&gt;
                                                10800           ; refresh&lt;br /&gt;
                                                3600            ; retry&lt;br /&gt;
                                                604800          ; expire&lt;br /&gt;
                                                86400   )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
                        IN      NS      ns1.model.local.&lt;br /&gt;
                        IN      NS      ns.example.com.&lt;br /&gt;
                        IN      MX      10      mail1&lt;br /&gt;
;&lt;br /&gt;
gw                      IN      A       10.13.0.1&lt;br /&gt;
; несколько имен на один адрес&lt;br /&gt;
ns1                     IN      A       10.13.0.2&lt;br /&gt;
net-ctrl-1              IN      A       10.13.0.2&lt;br /&gt;
mail1                  IN      A       10.13.0.10&lt;br /&gt;
front2                  IN      A       10.13.0.11&lt;br /&gt;
back1                   IN      A       10.13.0.20&lt;br /&gt;
back2                   IN      A       10.13.0.21&lt;br /&gt;
; несколько адресов на одно имя - балансировка&lt;br /&gt;
back                    IN      A       10.13.0.20&lt;br /&gt;
                        IN      A       10.13.0.21&lt;br /&gt;
stor1                   IN      A       10.13.0.30&lt;br /&gt;
stor2                   IN      A       10.13.0.31&lt;br /&gt;
stor-vip                IN      A       10.13.0.40&lt;br /&gt;
front-vrrp              IN      A       10.13.0.50&lt;br /&gt;
www                     IN      CNAME   model.local.&lt;br /&gt;
bc                      IN      A       10.13.0.255&lt;br /&gt;
;&lt;br /&gt;
; users&lt;br /&gt;
user1                  IN      CNAME   back.model.local.&lt;br /&gt;
www.user1              IN      CNAME   back.model.local.&lt;br /&gt;
user2                  IN      CNAME   back.model.local.&lt;br /&gt;
www.user2              IN      CNAME   back.model.local.&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Зона обратного просмотра ==&lt;br /&gt;
&lt;br /&gt;
Зона обратного просмотра управляется владельцем диапазона ip адресов. &lt;br /&gt;
&lt;br /&gt;
Пример файла зоны обратного просмотра, для которой мы являемся мастером&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN 0.13.10.IN-ADDR.ARPA.&lt;br /&gt;
$TTL 1h&lt;br /&gt;
;&lt;br /&gt;
@       IN      SOA     ns1.model.local.        hostmaster.model.local. (&lt;br /&gt;
                                                2014023001      ; Serial Number&lt;br /&gt;
                                                10800           ; refresh&lt;br /&gt;
                                                3600            ; retry&lt;br /&gt;
                                                604800          ; expire&lt;br /&gt;
                                                86400   )       ; min TTL&lt;br /&gt;
;&lt;br /&gt;
                        IN      NS      ns1.model.local.&lt;br /&gt;
;&lt;br /&gt;
2                       IN      PTR     ns1.model.local.&lt;br /&gt;
101                     IN      PTR     netctrl-01.model.local.&lt;br /&gt;
255                     IN      PTR     bc.model.local.&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Зоны по-умолчанию ==&lt;br /&gt;
&lt;br /&gt;
Зона типа hint для домена точки со списком корневых серверов. Файл зона необходимо периодически обновлять с сервера ftp://ftp.internic.net/domain/named.cache&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zone &amp;quot;.&amp;quot; {&lt;br /&gt;
        type hint;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.root&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Зоны замыкания на себя прямые, обратные и броадкастов.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zone &amp;quot;localhost&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.local&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;127.in-addr.arpa&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.127&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;0.in-addr.arpa&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.0&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;255.in-addr.arpa&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.255&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример прямой и обратной зоны замыкания на себя, входящих в дистрибутив BIND9&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
; BIND data file for local loopback interface&lt;br /&gt;
;&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     localhost. root.localhost. (&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
@       IN      NS      localhost.&lt;br /&gt;
@       IN      A       127.0.0.1&lt;br /&gt;
@       IN      AAAA    ::1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     localhost. root.localhost. (&lt;br /&gt;
                              1         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
@       IN      NS      localhost.&lt;br /&gt;
1.0.0   IN      PTR     localhost.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Типы ресурсных записей (RR) ==&lt;br /&gt;
&lt;br /&gt;
=== SOA ===&lt;br /&gt;
SOA запись в файле зоны должна быть только одна. В файле она должна стоять первой.&lt;br /&gt;
Запись SOA определяет какой сервер является владельцем зоны и какие на зону установлены параметры.&lt;br /&gt;
После записи SOA надо обязательно указать IN NS запись с тем-же сервером, что и в заголовке.&lt;br /&gt;
&lt;br /&gt;
Пример: домен example.com обслуживается серверами ns.example.com и ns.examle.net.&lt;br /&gt;
После указания директивы $ORIGIN сервер автоматически допишет за нас все неполные dns имена (таким образом hostmaster читается как hostmaster.example.com). Имя сервера вне зоны пишется полностью.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone TTL default = 2 days or 172800 seconds&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
@      IN      SOA   ns hostmaster (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               1d12h      ; refresh =  1 day 12 hours&lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
       IN      NS  ns&lt;br /&gt;
       IN      NS  ns.example.net.  ; out-of-zone &lt;br /&gt;
...&lt;br /&gt;
; A record for the NS RR above&lt;br /&gt;
ns     IN      A   192.168.2.1&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример 2: домен example.com обслуживается двумя серверами вне зоны. Для них указаны полные имена в записях IN NS.&lt;br /&gt;
Т.к. домен обслуживается другими серверами никакие A записи не допускаются.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone TTL default = 2 days or 172800 seconds&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
@      IN      SOA   ns.example.net. hostmaster.example.com. (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               1d12h      ; refresh =  1 day 12 hours&lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
        IN     NS    ns.example.net. ; out-of-zone name server&lt;br /&gt;
        IN     NS    ns.example.org. ; out-of-zone name server&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== NS ===&lt;br /&gt;
Инфраструктурная запись, указывающая имя сервера имен для данного домена.&lt;br /&gt;
Формат&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
owner-name     ttl  class   rr     target-name&lt;br /&gt;
example.com.        IN      NS      ns1.example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Согласно стандарту, каждый публичный домен должен иметь минимум 2 сервера имен. Частный домен может обслуживаться и одним сервером.&lt;br /&gt;
&lt;br /&gt;
Если NS сервер для нашего домена находится в нашем домене, то мы обязаны указать A-запись для этого сервера (glue-record).&lt;br /&gt;
Если NS сервер лежит вне домена - A-запись указывать не нужно.&lt;br /&gt;
&lt;br /&gt;
Пример: NS записи для основного домена и для делегированного поддомена с указанием glue-records.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; default TTL is 2 days&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
@              IN      SOA   ns1.example.com. hostmaster.example.com. (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               2h         ; refresh =  2 hours &lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
              IN      NS     ns1.example.com.&lt;br /&gt;
              IN      NS     ns2.example.com.&lt;br /&gt;
; обязательно указываем адреса этих серверов&lt;br /&gt;
ns1           IN      A      192.168.0.3&lt;br /&gt;
ns2           IN      A      192.168.0.4&lt;br /&gt;
; переключение на поддомен&lt;br /&gt;
$ORIGIN us.example.com.&lt;br /&gt;
@             IN      NS     ns3.us.example.com.&lt;br /&gt;
              IN      NS     ns1.example.com.&lt;br /&gt;
; обязательно указываем на сервер поддомена&lt;br /&gt;
ns3.us.example.com. A 10.10.0.24&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== A, AAAA ===&lt;br /&gt;
A-запись указывает на ip адрес для данного имени хоста. Опционально указать особо ttl.&lt;br /&gt;
&lt;br /&gt;
Пример: различные вариации записи&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone default = 2 days or 172800 seconds&lt;br /&gt;
joe        IN      A      192.168.0.3  ; одинаковые ip&lt;br /&gt;
www        IN      A      192.168.0.3&lt;br /&gt;
; можно указать домен полностью&lt;br /&gt;
www.example.com.   A      192.168.0.3&lt;br /&gt;
fred  3600 IN      A      192.168.0.4  ; указан другой ttl&lt;br /&gt;
ftp        IN      A      192.168.0.24 ; разные ip для одного имени&lt;br /&gt;
           IN      A      192.168.0.7&lt;br /&gt;
mail       IN      A      192.168.0.15  ; разные ip для одного имени&lt;br /&gt;
mail       IN      A      192.168.0.32&lt;br /&gt;
mail       IN      A      192.168.0.3&lt;br /&gt;
squat      IN      A      10.0.14.13  ; другая подсеть&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
AAAA-запись используется для IPv6 адресов&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ws1-29                  A       10.0.10.29                                                                                      &lt;br /&gt;
                        AAAA    2002:d4c0:4090::d110:1011 &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Когда одному имени сопоставлено много адресов, в обратной записи для адреса нужно выдрать только одно имя.&lt;br /&gt;
&lt;br /&gt;
=== MX ===&lt;br /&gt;
Инфраструктурная запись  указывающая на имя почтового сервера для домена.&lt;br /&gt;
Если имя сервера в этом-же домене - требуется еще А-запись с ip адресом почтового сервера.&lt;br /&gt;
&lt;br /&gt;
Почтовых серверов для домена можно указать несколько с разными приоритетами.&lt;br /&gt;
&lt;br /&gt;
Пример: почтовые сервера для домена и поддомена в одном файле&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone default = 2 days or 172800 seconds&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
example.com. IN     SOA   ns1.example.com. root.example.com. (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               2h         ; refresh =  2 hours &lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
; почтовый сервер для адресов вида user@example.com&lt;br /&gt;
              IN      MX 10  mail.example.com.&lt;br /&gt;
; почтовые сервера для поддомена user@us.example.com&lt;br /&gt;
us            IN      MX 10  mail.us.example.com.&lt;br /&gt;
us            IN      MX 20  mail.example.com.&lt;br /&gt;
; A-запись для основного почтового сервера&lt;br /&gt;
mail          IN      A      192.168.0.5&lt;br /&gt;
; Переключение на поддомен&lt;br /&gt;
$ORIGIN us.example.com.&lt;br /&gt;
; A-запись для почтового сервера поддомена&lt;br /&gt;
mail          IN      A      10.10.0.29&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CNAME ===&lt;br /&gt;
&lt;br /&gt;
Запись CNAME используется для указания псевдонима или ссылки одного имени на другое.&lt;br /&gt;
Если сервер вернул клиенту CNAME в ответ на запрос, то клиенту придется повторно делать запрос на разрешение CNAME.&lt;br /&gt;
Используется для удобства администрирования при наличии многих имен у одного сервера.&lt;br /&gt;
&lt;br /&gt;
Примеры различных псевдонимов в домене example.com.:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
joe        IN      A      192.168.254.3   &lt;br /&gt;
www        IN      CNAME  joe &lt;br /&gt;
www        IN      CNAME  joe.example.com. &lt;br /&gt;
ftp        IN      CNAME  www.example.com. ; паровоз&lt;br /&gt;
bill       IN      CNAME  fred.another.com. ; перенаправление на имя в другом домене&lt;br /&gt;
;&lt;br /&gt;
           IN      A      192.168.254.8&lt;br /&gt;
www        IN      CNAME  example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
=== DNAME ===&lt;br /&gt;
Перенаправление зон&lt;br /&gt;
&lt;br /&gt;
=== PTR ===&lt;br /&gt;
Обратная запись указывает на имя по ip адресу. Используется специальный домен .IN-ADDR.ARPA.&lt;br /&gt;
Для IPv6 используется другой домен - IP6.ARPA. Поэтому обратные записи необходимо держать в разных файлах для ipv4 и ipv6.&lt;br /&gt;
&lt;br /&gt;
Пример для IPv4:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; 172800 secs&lt;br /&gt;
$ORIGIN 23.168.192.IN-ADDR.ARPA.&lt;br /&gt;
@             IN      SOA   ns1.example.com. hostmaster.example.com. (&lt;br /&gt;
                              2003080800 ; serial number&lt;br /&gt;
                              12h         ; refresh&lt;br /&gt;
                              15m        ; update retry&lt;br /&gt;
                              3w         ; expiry&lt;br /&gt;
                              3h         ; minimum&lt;br /&gt;
                              )&lt;br /&gt;
              IN      NS      ns1.example.com.&lt;br /&gt;
              IN      NS      ns2.example.com.&lt;br /&gt;
2             IN      PTR     joe.example.com. ; FDQN&lt;br /&gt;
15            IN      PTR     www.example.com.&lt;br /&gt;
17            IN      PTR     bill.example.com.&lt;br /&gt;
74            IN      PTR     fred.example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример для IPv6:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
; reverse IPV6 zone file for example.com&lt;br /&gt;
$TTL 2d    ; default TTL for zone 172800 secs&lt;br /&gt;
$ORIGIN 0.0.0.0.8.b.d.0.1.0.0.2.IP6.ARPA.&lt;br /&gt;
@         IN      SOA   ns1.example.com. hostmaster.example.com. (&lt;br /&gt;
                        2003080800 ; sn = serial number&lt;br /&gt;
                        12h         ; refresh = refresh&lt;br /&gt;
                        15m        ; retry = update retry&lt;br /&gt;
                        3w         ; expiry = expiry&lt;br /&gt;
                        2h         ; min = minimum&lt;br /&gt;
                        )&lt;br /&gt;
          IN      NS      ns1.example.com.&lt;br /&gt;
          IN      NS      ns2.example.net.&lt;br /&gt;
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0         IN      PTR     ns1.example.com.&lt;br /&gt;
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0         IN      PTR     mail.example.com.&lt;br /&gt;
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0         IN      PTR     joe.example.com.&lt;br /&gt;
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0         IN      PTR     www.example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
=== TEXT ===&lt;br /&gt;
=== SRV ===&lt;br /&gt;
=== Обратные зоны для бесклассовых подсетей ===&lt;br /&gt;
&lt;br /&gt;
== Директивы сервера bind==&lt;br /&gt;
&lt;br /&gt;
$TTL&lt;br /&gt;
$ORIGIN&lt;br /&gt;
&lt;br /&gt;
== View - ограничение видимости зон ==&lt;br /&gt;
Использование ограничения видимости позволяет применять различные опции по отношению к различным клиентам.&lt;br /&gt;
Опция вступают в действие в зависимости от ip адреса клиента - источника запроса.&lt;br /&gt;
&lt;br /&gt;
Это позволяет использовать разные данные по одной и той-же зоне для разных клиентов.&lt;br /&gt;
Для внутренних клиентов мы должны разрешить рекурсивные запросы, для внешних - запретить.&lt;br /&gt;
&lt;br /&gt;
В конфигурационном файле необходимо запретить рекурсию по-умолчанию (закомментировать).&lt;br /&gt;
На рубеже версии 9.5 поведение этого флажка меняется, на новых версиях надо оставить строчку включенной.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
allow-recursion { any; };&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
На версии 9.8.4 поведение такое:&lt;br /&gt;
* allow-recursion { any; }; view recusion yes; - разрешает рекурсию. (на нерекурсивный запрос дает хинт root-list);&lt;br /&gt;
* allow-recursion { any; }; view recusion no; - запрещает рекурсию молча (no answer);&lt;br /&gt;
* allow-recursion { none; }; view recusion yes|no; - запрещает рекурсию (REFUSED);&lt;br /&gt;
* закомментарен allow-recursion { none; }; view recusion yes|no; - запрещает рекурсию (REFUSED);&lt;br /&gt;
Т.е. для нас актуальны первые два варианта.&lt;br /&gt;
&lt;br /&gt;
Выключить проверку DNSSEC. Требуется если мы в лабораторных условиях сквоттим TLD.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
dnssec-validation no;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Конфигурация зон /etc/bind/named.conf&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
; список доступа - наши внутренние клиенты&lt;br /&gt;
acl internal {&lt;br /&gt;
    10.13.0.0/24;&lt;br /&gt;
    localhost;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
; область видимости для внутренних клиентов&lt;br /&gt;
view &amp;quot;internal-view&amp;quot; {&lt;br /&gt;
  ; клиент - соответствует списку доступа&lt;br /&gt;
  match-clients { internal; };&lt;br /&gt;
  ; разрешена рекурсия для внутренних клиентов&lt;br /&gt;
  recursion yes;&lt;br /&gt;
&lt;br /&gt;
 ;  зона видима только для внутренних клиентов&lt;br /&gt;
  zone &amp;quot;model.local&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.model.local&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
; зона видима для внутренних клиентов иначе, чем для внешних&lt;br /&gt;
; файл зоны свой&lt;br /&gt;
  zone &amp;quot;model.example.net&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.model.example.net.internal&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
; обратная зона для внутренних клиентов тоже своя&lt;br /&gt;
  zone &amp;quot;0.13.10.in-addr.arpa&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/rev.10.13.0.internal&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
; дефолтные зоны сервера&lt;br /&gt;
  include &amp;quot;/etc/bind/named.conf.default-zones&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
; область видимости, доступная всем прочим клиентам&lt;br /&gt;
view &amp;quot;external-view&amp;quot; {&lt;br /&gt;
  match-clients { any; };&lt;br /&gt;
; запрет рекурсии&lt;br /&gt;
  recursion no;&lt;br /&gt;
; запрет добавления Additional секции со ссылками на root сервера для всех запросов, которых нет в зонах.&lt;br /&gt;
; заставляет bind отвечать REFUSED на запрос посторонних имен. (Блокировка Upward referrals)&lt;br /&gt;
  additional-from-cache no;&lt;br /&gt;
&lt;br /&gt;
; зона видится внешними клиентами не так, как внутренними&lt;br /&gt;
; файл зоны свой&lt;br /&gt;
  zone &amp;quot;model.example.net&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.model.example.net&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
;  обратная зона видится внешними клиентами не так, как внутренними&lt;br /&gt;
; файл зоны свой&lt;br /&gt;
  zone &amp;quot;0.13.10.in-addr.arpa&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/rev.10.13.0&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обратите внимание: при запрете рекурсии внутри view перестанут работать CNAME на посторонние зоны.&lt;br /&gt;
&lt;br /&gt;
При дублировании зон в областях видимости не забывайте прописать после NS записи еще и A-запись для вашего dns-сервера.&lt;br /&gt;
Внешние клиенты тоже должны знать ip адрес вашего NS.&lt;br /&gt;
Пример:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$ORIGIN model.local.&lt;br /&gt;
$TTL 1h&lt;br /&gt;
;&lt;br /&gt;
@       IN      SOA     ns1.model.local.        hostmaster.model.local. (&lt;br /&gt;
                                                2014025006      ; Serial Number&lt;br /&gt;
                                                10800           ; refresh&lt;br /&gt;
                                                3600            ; retry&lt;br /&gt;
                                                604800          ; expire&lt;br /&gt;
                                                86400   )       ; min TTL&lt;br /&gt;
;&lt;br /&gt;
                        IN      NS      ns1.model.local.&lt;br /&gt;
                        IN      MX      10      mail1&lt;br /&gt;
;&lt;br /&gt;
ns1                     IN      A       10.13.0.104 ; &amp;lt;--------- ОБЯЗАТЕЛЬНО&lt;br /&gt;
gw                      IN      A       10.13.0.43&lt;br /&gt;
hi                      IN      A       10.13.0.223&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если этого не сделать, в ответ на запрос к любому имени в зоне сервер будет отвечать ошибкой &amp;quot;ServerFail&amp;quot;:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
root@model-net-ctrl-1:/etc/bind# dig hi.model.local. @10.13.0.104&lt;br /&gt;
;; Got answer:&lt;br /&gt;
;; HEADER opcode: QUERY, status: SERVFAIL, id: 60022&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Запрет рекурсий ==&lt;br /&gt;
См. upward referrals debates&lt;br /&gt;
https://www.dns-oarc.net/oarc/articles/upward-referrals-considered-harmful&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:DNS]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=BIND9_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D0%B5)&amp;diff=435</id>
		<title>BIND9 (методическое пособие)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=BIND9_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D0%B5)&amp;diff=435"/>
				<updated>2020-03-11T10:15:14Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Запрет рекурсий */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Архитектура DNS=&lt;br /&gt;
root(.)&lt;br /&gt;
&lt;br /&gt;
gTLD&lt;br /&gt;
&lt;br /&gt;
ccTLD&lt;br /&gt;
&lt;br /&gt;
Домены, поддомены, псевдо-поддомены, зоны прямые и обратные&lt;br /&gt;
&lt;br /&gt;
Делегирование зон&lt;br /&gt;
&lt;br /&gt;
Трансфер зон&lt;br /&gt;
&lt;br /&gt;
Рекурсивный и нерекурсивный запрос&lt;br /&gt;
&lt;br /&gt;
Stub-resolver.&lt;br /&gt;
Тупиковый резолвер с кэшем поддерживает только рекурсивный запрос. (win: DNS-client)&lt;br /&gt;
TSIG протокол позволяет аутентифицировать передачу данных между DNS-серверами. Можно проверять подлинность данных при передаче зон, рекурсивных запросах, динамических обновлениях. Сами данные не шифруются, но подлинность проверяется. TSIG использует метки времени для предотвращения атаки повторения пакетов.&lt;br /&gt;
&lt;br /&gt;
DNSSEC&lt;br /&gt;
&lt;br /&gt;
=== nslookup ===&lt;br /&gt;
&lt;br /&gt;
Пример dns запроса на сервер 10.13.0.101 - рекурсия разрешена:&lt;br /&gt;
&lt;br /&gt;
 root@netctrl-01:/etc/bind# nslookup www.ru. 10.13.0.101&lt;br /&gt;
 Server:         10.13.0.101&lt;br /&gt;
 Address:        10.13.0.101#53&lt;br /&gt;
 Non-authoritative answer:&lt;br /&gt;
 Name:   www.ru&lt;br /&gt;
 Address: 194.87.0.50&lt;br /&gt;
&lt;br /&gt;
Пример dns запроса на сервер 10.13.0.101 - рекурсия запрещена:&lt;br /&gt;
 root@netctrl-01:/etc/bind# nslookup www.ru. 10.13.0.101&lt;br /&gt;
 Server:         10.13.0.101&lt;br /&gt;
 Address:        10.13.0.101#53&lt;br /&gt;
 ** server can't find www.ru: REFUSED&lt;br /&gt;
&lt;br /&gt;
=== dig ===&lt;br /&gt;
Пример запроса при помощи команды dig. Рекурсия запрещена&lt;br /&gt;
 root@netctrl-01:/etc# dig +all ya.ru.&lt;br /&gt;
 ; &amp;lt;&amp;lt;&amp;gt;&amp;gt; DiG 9.8.4-rpz2+rl005.12-P1 &amp;lt;&amp;lt;&amp;gt;&amp;gt; +all ya.ru.&lt;br /&gt;
 ;; global options: +cmd&lt;br /&gt;
 ;; Got answer:&lt;br /&gt;
 ;; -&amp;gt;&amp;gt;HEADER&amp;lt;&amp;lt;- opcode: QUERY, status: REFUSED, id: 36103&lt;br /&gt;
 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0&lt;br /&gt;
 ;; WARNING: recursion requested but not available&lt;br /&gt;
 ;; QUESTION SECTION:&lt;br /&gt;
 ;ya.ru.                         IN      A&lt;br /&gt;
 ;; Query time: 0 msec&lt;br /&gt;
 ;; SERVER: 127.0.0.1#53(127.0.0.1)&lt;br /&gt;
 ;; WHEN: Thu Feb 20 16:21:58 2014&lt;br /&gt;
 ;; MSG SIZE  rcvd: 23&lt;br /&gt;
&lt;br /&gt;
Рекурсия разрешена&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
root@netctrl-01:/etc/bind# dig +trace ya.ru.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;&amp;lt;&amp;gt;&amp;gt; DiG 9.8.4-rpz2+rl005.12-P1 &amp;lt;&amp;lt;&amp;gt;&amp;gt; +trace ya.ru.&lt;br /&gt;
;; global options: +cmd&lt;br /&gt;
.                       510544  IN      NS      m.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      b.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      a.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      g.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      k.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      f.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      d.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      j.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      l.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      h.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      e.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      i.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      c.root-servers.net.&lt;br /&gt;
;; Received 512 bytes from 127.0.0.1#53(127.0.0.1) in 3 ms&lt;br /&gt;
&lt;br /&gt;
ru.                     172800  IN      NS      a.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      b.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      d.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      e.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      f.dns.ripn.net.&lt;br /&gt;
;; Received 335 bytes from 128.63.2.53#53(128.63.2.53) in 191 ms&lt;br /&gt;
&lt;br /&gt;
ya.ru.                  345600  IN      NS      ns1.yandex.ru.&lt;br /&gt;
ya.ru.                  345600  IN      NS      ns2.yandex.ru.&lt;br /&gt;
;; Received 154 bytes from 193.232.156.17#53(193.232.156.17) in 288 ms&lt;br /&gt;
&lt;br /&gt;
ya.ru.                  7200    IN      A       213.180.204.3&lt;br /&gt;
ya.ru.                  7200    IN      A       93.158.134.3&lt;br /&gt;
ya.ru.                  7200    IN      A       213.180.193.3&lt;br /&gt;
ya.ru.                  7200    IN      NS      ns1.yandex.ru.&lt;br /&gt;
ya.ru.                  7200    IN      NS      ns2.yandex.ru.&lt;br /&gt;
;; Received 202 bytes from 213.180.193.1#53(213.180.193.1) in 47 ms&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Сервер имен BIND9 =&lt;br /&gt;
== Управление ==&lt;br /&gt;
Проверяет конфиг сервера имен&lt;br /&gt;
 named-checkconf&lt;br /&gt;
&lt;br /&gt;
Перезагружает конфиг и зоны&lt;br /&gt;
 rndc reload&lt;br /&gt;
&lt;br /&gt;
Перезагружает только изменившиеся зоны&lt;br /&gt;
 rndc reconfig&lt;br /&gt;
&lt;br /&gt;
Запуск&lt;br /&gt;
 service bind9 start&lt;br /&gt;
&lt;br /&gt;
Состояние сервера&lt;br /&gt;
 rndc status&lt;br /&gt;
&lt;br /&gt;
Сброс кэша&lt;br /&gt;
 rndc flush&lt;br /&gt;
&lt;br /&gt;
Конфигурация и файлы зон по-умолчанию лежат в /etc/bind/&lt;br /&gt;
&lt;br /&gt;
== Опции ==&lt;br /&gt;
&lt;br /&gt;
Списки доступа&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
acl network1 {&lt;br /&gt;
        1.2.3.0/24;&lt;br /&gt;
        192.168.0.0/20;&lt;br /&gt;
};&lt;br /&gt;
acl GoodDns {&lt;br /&gt;
       1.2.3.4;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ограничение на трансфер зон и запросы&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
        allow-transfer {&lt;br /&gt;
                localhost;&lt;br /&gt;
               GoodDns;&lt;br /&gt;
        };&lt;br /&gt;
        allow-query {&lt;br /&gt;
               any;&lt;br /&gt;
        };&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Настройка зоны и подключение файла зоны&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zone &amp;quot;example.com&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.example.com.&amp;quot;;&lt;br /&gt;
        allow-query {&lt;br /&gt;
                any;&lt;br /&gt;
        };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Зона прямого просмотра ==&lt;br /&gt;
Зоны прямого просмотра делегируются нам владельцем родительского домена.&lt;br /&gt;
&lt;br /&gt;
Пример файла зоны, для которой мы являемся мастером (SOA ns1.model.local.)&lt;br /&gt;
Сервер ns.example.com. указан в качестве вторичного.&lt;br /&gt;
&lt;br /&gt;
Параметры времени жизни записи:&lt;br /&gt;
* TTL - время, на которое запись считается действительной, после выдачи сервером. Записи в кэше хранятся в течение TTL.&lt;br /&gt;
* Negative Cache TTL - время действия ответа об отсутствии записи (NXDOMAIN). Запись о том, что запрошенное имя не существует хранится в кэше на это время.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TTL можно задавать отдельно для каждой записи. Negative Cache TTL - действует на зоны в целом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN model.local.&lt;br /&gt;
$TTL 1h&lt;br /&gt;
;&lt;br /&gt;
@       IN      SOA     ns1.model.local.        hostmaster.model.local. (&lt;br /&gt;
                                                2014023001      ; Serial Number&lt;br /&gt;
                                                10800           ; refresh&lt;br /&gt;
                                                3600            ; retry&lt;br /&gt;
                                                604800          ; expire&lt;br /&gt;
                                                86400   )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
                        IN      NS      ns1.model.local.&lt;br /&gt;
                        IN      NS      ns.example.com.&lt;br /&gt;
                        IN      MX      10      mail1&lt;br /&gt;
;&lt;br /&gt;
gw                      IN      A       10.13.0.1&lt;br /&gt;
; несколько имен на один адрес&lt;br /&gt;
ns1                     IN      A       10.13.0.2&lt;br /&gt;
net-ctrl-1              IN      A       10.13.0.2&lt;br /&gt;
mail1                  IN      A       10.13.0.10&lt;br /&gt;
front2                  IN      A       10.13.0.11&lt;br /&gt;
back1                   IN      A       10.13.0.20&lt;br /&gt;
back2                   IN      A       10.13.0.21&lt;br /&gt;
; несколько адресов на одно имя - балансировка&lt;br /&gt;
back                    IN      A       10.13.0.20&lt;br /&gt;
                        IN      A       10.13.0.21&lt;br /&gt;
stor1                   IN      A       10.13.0.30&lt;br /&gt;
stor2                   IN      A       10.13.0.31&lt;br /&gt;
stor-vip                IN      A       10.13.0.40&lt;br /&gt;
front-vrrp              IN      A       10.13.0.50&lt;br /&gt;
www                     IN      CNAME   model.local.&lt;br /&gt;
bc                      IN      A       10.13.0.255&lt;br /&gt;
;&lt;br /&gt;
; users&lt;br /&gt;
user1                  IN      CNAME   back.model.local.&lt;br /&gt;
www.user1              IN      CNAME   back.model.local.&lt;br /&gt;
user2                  IN      CNAME   back.model.local.&lt;br /&gt;
www.user2              IN      CNAME   back.model.local.&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Зона обратного просмотра ==&lt;br /&gt;
&lt;br /&gt;
Зона обратного просмотра управляется владельцем диапазона ip адресов. &lt;br /&gt;
&lt;br /&gt;
Пример файла зоны обратного просмотра, для которой мы являемся мастером&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN 0.13.10.IN-ADDR.ARPA.&lt;br /&gt;
$TTL 1h&lt;br /&gt;
;&lt;br /&gt;
@       IN      SOA     ns1.model.local.        hostmaster.model.local. (&lt;br /&gt;
                                                2014023001      ; Serial Number&lt;br /&gt;
                                                10800           ; refresh&lt;br /&gt;
                                                3600            ; retry&lt;br /&gt;
                                                604800          ; expire&lt;br /&gt;
                                                86400   )       ; min TTL&lt;br /&gt;
;&lt;br /&gt;
                        IN      NS      ns1.model.local.&lt;br /&gt;
;&lt;br /&gt;
2                       IN      PTR     ns1.model.local.&lt;br /&gt;
101                     IN      PTR     netctrl-01.model.local.&lt;br /&gt;
255                     IN      PTR     bc.model.local.&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Зоны по-умолчанию ==&lt;br /&gt;
&lt;br /&gt;
Зона типа hint для домена точки со списком корневых серверов. Файл зона необходимо периодически обновлять с сервера ftp://ftp.internic.net/domain/named.cache&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zone &amp;quot;.&amp;quot; {&lt;br /&gt;
        type hint;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.root&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Зоны замыкания на себя прямые, обратные и броадкастов.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zone &amp;quot;localhost&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.local&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;127.in-addr.arpa&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.127&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;0.in-addr.arpa&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.0&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;255.in-addr.arpa&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.255&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример прямой и обратной зоны замыкания на себя, входящих в дистрибутив BIND9&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
; BIND data file for local loopback interface&lt;br /&gt;
;&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     localhost. root.localhost. (&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
@       IN      NS      localhost.&lt;br /&gt;
@       IN      A       127.0.0.1&lt;br /&gt;
@       IN      AAAA    ::1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     localhost. root.localhost. (&lt;br /&gt;
                              1         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
@       IN      NS      localhost.&lt;br /&gt;
1.0.0   IN      PTR     localhost.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Типы ресурсных записей (RR) ==&lt;br /&gt;
&lt;br /&gt;
=== SOA ===&lt;br /&gt;
SOA запись в файле зоны должна быть только одна. В файле она должна стоять первой.&lt;br /&gt;
Запись SOA определяет какой сервер является владельцем зоны и какие на зону установлены параметры.&lt;br /&gt;
После записи SOA надо обязательно указать IN NS запись с тем-же сервером, что и в заголовке.&lt;br /&gt;
&lt;br /&gt;
Пример: домен example.com обслуживается серверами ns.example.com и ns.examle.net.&lt;br /&gt;
После указания директивы $ORIGIN сервер автоматически допишет за нас все неполные dns имена (таким образом hostmaster читается как hostmaster.example.com). Имя сервера вне зоны пишется полностью.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone TTL default = 2 days or 172800 seconds&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
@      IN      SOA   ns hostmaster (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               1d12h      ; refresh =  1 day 12 hours&lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
       IN      NS  ns&lt;br /&gt;
       IN      NS  ns.example.net.  ; out-of-zone &lt;br /&gt;
...&lt;br /&gt;
; A record for the NS RR above&lt;br /&gt;
ns     IN      A   192.168.2.1&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример 2: домен example.com обслуживается двумя серверами вне зоны. Для них указаны полные имена в записях IN NS.&lt;br /&gt;
Т.к. домен обслуживается другими серверами никакие A записи не допускаются.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone TTL default = 2 days or 172800 seconds&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
@      IN      SOA   ns.example.net. hostmaster.example.com. (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               1d12h      ; refresh =  1 day 12 hours&lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
        IN     NS    ns.example.net. ; out-of-zone name server&lt;br /&gt;
        IN     NS    ns.example.org. ; out-of-zone name server&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== NS ===&lt;br /&gt;
Инфраструктурная запись, указывающая имя сервера имен для данного домена.&lt;br /&gt;
Формат&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
owner-name     ttl  class   rr     target-name&lt;br /&gt;
example.com.        IN      NS      ns1.example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Согласно стандарту, каждый публичный домен должен иметь минимум 2 сервера имен. Частный домен может обслуживаться и одним сервером.&lt;br /&gt;
&lt;br /&gt;
Если NS сервер для нашего домена находится в нашем домене, то мы обязаны указать A-запись для этого сервера (glue-record).&lt;br /&gt;
Если NS сервер лежит вне домена - A-запись указывать не нужно.&lt;br /&gt;
&lt;br /&gt;
Пример: NS записи для основного домена и для делегированного поддомена с указанием glue-records.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; default TTL is 2 days&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
@              IN      SOA   ns1.example.com. hostmaster.example.com. (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               2h         ; refresh =  2 hours &lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
              IN      NS     ns1.example.com.&lt;br /&gt;
              IN      NS     ns2.example.com.&lt;br /&gt;
; обязательно указываем адреса этих серверов&lt;br /&gt;
ns1           IN      A      192.168.0.3&lt;br /&gt;
ns2           IN      A      192.168.0.4&lt;br /&gt;
; переключение на поддомен&lt;br /&gt;
$ORIGIN us.example.com.&lt;br /&gt;
@             IN      NS     ns3.us.example.com.&lt;br /&gt;
              IN      NS     ns1.example.com.&lt;br /&gt;
; обязательно указываем на сервер поддомена&lt;br /&gt;
ns3.us.example.com. A 10.10.0.24&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== A, AAAA ===&lt;br /&gt;
A-запись указывает на ip адрес для данного имени хоста. Опционально указать особо ttl.&lt;br /&gt;
&lt;br /&gt;
Пример: различные вариации записи&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone default = 2 days or 172800 seconds&lt;br /&gt;
joe        IN      A      192.168.0.3  ; одинаковые ip&lt;br /&gt;
www        IN      A      192.168.0.3&lt;br /&gt;
; можно указать домен полностью&lt;br /&gt;
www.example.com.   A      192.168.0.3&lt;br /&gt;
fred  3600 IN      A      192.168.0.4  ; указан другой ttl&lt;br /&gt;
ftp        IN      A      192.168.0.24 ; разные ip для одного имени&lt;br /&gt;
           IN      A      192.168.0.7&lt;br /&gt;
mail       IN      A      192.168.0.15  ; разные ip для одного имени&lt;br /&gt;
mail       IN      A      192.168.0.32&lt;br /&gt;
mail       IN      A      192.168.0.3&lt;br /&gt;
squat      IN      A      10.0.14.13  ; другая подсеть&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
AAAA-запись используется для IPv6 адресов&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ws1-29                  A       10.0.10.29                                                                                      &lt;br /&gt;
                        AAAA    2002:d4c0:4090::d110:1011 &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Когда одному имени сопоставлено много адресов, в обратной записи для адреса нужно выдрать только одно имя.&lt;br /&gt;
&lt;br /&gt;
=== MX ===&lt;br /&gt;
Инфраструктурная запись  указывающая на имя почтового сервера для домена.&lt;br /&gt;
Если имя сервера в этом-же домене - требуется еще А-запись с ip адресом почтового сервера.&lt;br /&gt;
&lt;br /&gt;
Почтовых серверов для домена можно указать несколько с разными приоритетами.&lt;br /&gt;
&lt;br /&gt;
Пример: почтовые сервера для домена и поддомена в одном файле&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone default = 2 days or 172800 seconds&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
example.com. IN     SOA   ns1.example.com. root.example.com. (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               2h         ; refresh =  2 hours &lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
; почтовый сервер для адресов вида user@example.com&lt;br /&gt;
              IN      MX 10  mail.example.com.&lt;br /&gt;
; почтовые сервера для поддомена user@us.example.com&lt;br /&gt;
us            IN      MX 10  mail.us.example.com.&lt;br /&gt;
us            IN      MX 20  mail.example.com.&lt;br /&gt;
; A-запись для основного почтового сервера&lt;br /&gt;
mail          IN      A      192.168.0.5&lt;br /&gt;
; Переключение на поддомен&lt;br /&gt;
$ORIGIN us.example.com.&lt;br /&gt;
; A-запись для почтового сервера поддомена&lt;br /&gt;
mail          IN      A      10.10.0.29&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CNAME ===&lt;br /&gt;
&lt;br /&gt;
Запись CNAME используется для указания псевдонима или ссылки одного имени на другое.&lt;br /&gt;
Если сервер вернул клиенту CNAME в ответ на запрос, то клиенту придется повторно делать запрос на разрешение CNAME.&lt;br /&gt;
Используется для удобства администрирования при наличии многих имен у одного сервера.&lt;br /&gt;
&lt;br /&gt;
Примеры различных псевдонимов в домене example.com.:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
joe        IN      A      192.168.254.3   &lt;br /&gt;
www        IN      CNAME  joe &lt;br /&gt;
www        IN      CNAME  joe.example.com. &lt;br /&gt;
ftp        IN      CNAME  www.example.com. ; паровоз&lt;br /&gt;
bill       IN      CNAME  fred.another.com. ; перенаправление на имя в другом домене&lt;br /&gt;
;&lt;br /&gt;
           IN      A      192.168.254.8&lt;br /&gt;
www        IN      CNAME  example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PTR ===&lt;br /&gt;
Обратная запись указывает на имя по ip адресу. Используется специальный домен .IN-ADDR.ARPA.&lt;br /&gt;
Для IPv6 используется другой домен - IP6.ARPA. Поэтому обратные записи необходимо держать в разных файлах для ipv4 и ipv6.&lt;br /&gt;
&lt;br /&gt;
Пример для IPv4:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; 172800 secs&lt;br /&gt;
$ORIGIN 23.168.192.IN-ADDR.ARPA.&lt;br /&gt;
@             IN      SOA   ns1.example.com. hostmaster.example.com. (&lt;br /&gt;
                              2003080800 ; serial number&lt;br /&gt;
                              12h         ; refresh&lt;br /&gt;
                              15m        ; update retry&lt;br /&gt;
                              3w         ; expiry&lt;br /&gt;
                              3h         ; minimum&lt;br /&gt;
                              )&lt;br /&gt;
              IN      NS      ns1.example.com.&lt;br /&gt;
              IN      NS      ns2.example.com.&lt;br /&gt;
2             IN      PTR     joe.example.com. ; FDQN&lt;br /&gt;
15            IN      PTR     www.example.com.&lt;br /&gt;
17            IN      PTR     bill.example.com.&lt;br /&gt;
74            IN      PTR     fred.example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример для IPv6:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
; reverse IPV6 zone file for example.com&lt;br /&gt;
$TTL 2d    ; default TTL for zone 172800 secs&lt;br /&gt;
$ORIGIN 0.0.0.0.8.b.d.0.1.0.0.2.IP6.ARPA.&lt;br /&gt;
@         IN      SOA   ns1.example.com. hostmaster.example.com. (&lt;br /&gt;
                        2003080800 ; sn = serial number&lt;br /&gt;
                        12h         ; refresh = refresh&lt;br /&gt;
                        15m        ; retry = update retry&lt;br /&gt;
                        3w         ; expiry = expiry&lt;br /&gt;
                        2h         ; min = minimum&lt;br /&gt;
                        )&lt;br /&gt;
          IN      NS      ns1.example.com.&lt;br /&gt;
          IN      NS      ns2.example.net.&lt;br /&gt;
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0         IN      PTR     ns1.example.com.&lt;br /&gt;
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0         IN      PTR     mail.example.com.&lt;br /&gt;
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0         IN      PTR     joe.example.com.&lt;br /&gt;
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0         IN      PTR     www.example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SRV ===&lt;br /&gt;
&lt;br /&gt;
== Директивы сервера bind==&lt;br /&gt;
&lt;br /&gt;
$TTL&lt;br /&gt;
$ORIGIN&lt;br /&gt;
&lt;br /&gt;
== View - ограничение видимости зон ==&lt;br /&gt;
Использование ограничения видимости позволяет применять различные опции по отношению к различным клиентам.&lt;br /&gt;
Опция вступают в действие в зависимости от ip адреса клиента - источника запроса.&lt;br /&gt;
&lt;br /&gt;
Это позволяет использовать разные данные по одной и той-же зоне для разных клиентов.&lt;br /&gt;
Для внутренних клиентов мы должны разрешить рекурсивные запросы, для внешних - запретить.&lt;br /&gt;
&lt;br /&gt;
В конфигурационном файле необходимо запретить рекурсию по-умолчанию (закомментировать).&lt;br /&gt;
На рубеже версии 9.5 поведение этого флажка меняется, на новых версиях надо оставить строчку включенной.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
allow-recursion { any; };&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
На версии 9.8.4 поведение такое:&lt;br /&gt;
* allow-recursion { any; }; view recusion yes; - разрешает рекурсию. (на нерекурсивный запрос дает хинт root-list);&lt;br /&gt;
* allow-recursion { any; }; view recusion no; - запрещает рекурсию молча (no answer);&lt;br /&gt;
* allow-recursion { none; }; view recusion yes|no; - запрещает рекурсию (REFUSED);&lt;br /&gt;
* закомментарен allow-recursion { none; }; view recusion yes|no; - запрещает рекурсию (REFUSED);&lt;br /&gt;
Т.е. для нас актуальны первые два варианта.&lt;br /&gt;
&lt;br /&gt;
Выключить проверку DNSSEC. Требуется если мы в лабораторных условиях сквоттим TLD.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
dnssec-validation no;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Конфигурация зон /etc/bind/named.conf&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
; список доступа - наши внутренние клиенты&lt;br /&gt;
acl internal {&lt;br /&gt;
    10.13.0.0/24;&lt;br /&gt;
    localhost;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
; область видимости для внутренних клиентов&lt;br /&gt;
view &amp;quot;internal-view&amp;quot; {&lt;br /&gt;
  ; клиент - соответствует списку доступа&lt;br /&gt;
  match-clients { internal; };&lt;br /&gt;
  ; разрешена рекурсия для внутренних клиентов&lt;br /&gt;
  recursion yes;&lt;br /&gt;
&lt;br /&gt;
 ;  зона видима только для внутренних клиентов&lt;br /&gt;
  zone &amp;quot;model.local&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.model.local&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
; зона видима для внутренних клиентов иначе, чем для внешних&lt;br /&gt;
; файл зоны свой&lt;br /&gt;
  zone &amp;quot;model.example.net&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.model.example.net.internal&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
; обратная зона для внутренних клиентов тоже своя&lt;br /&gt;
  zone &amp;quot;0.13.10.in-addr.arpa&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/rev.10.13.0.internal&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
; дефолтные зоны сервера&lt;br /&gt;
  include &amp;quot;/etc/bind/named.conf.default-zones&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
; область видимости, доступная всем прочим клиентам&lt;br /&gt;
view &amp;quot;external-view&amp;quot; {&lt;br /&gt;
  match-clients { any; };&lt;br /&gt;
; запрет рекурсии&lt;br /&gt;
  recursion no;&lt;br /&gt;
; запрет добавления Additional секции со ссылками на root сервера для всех запросов, которых нет в зонах.&lt;br /&gt;
; заставляет bind отвечать REFUSED на запрос посторонних имен. (Блокировка Upward referrals)&lt;br /&gt;
  additional-from-cache no;&lt;br /&gt;
&lt;br /&gt;
; зона видится внешними клиентами не так, как внутренними&lt;br /&gt;
; файл зоны свой&lt;br /&gt;
  zone &amp;quot;model.example.net&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.model.example.net&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
;  обратная зона видится внешними клиентами не так, как внутренними&lt;br /&gt;
; файл зоны свой&lt;br /&gt;
  zone &amp;quot;0.13.10.in-addr.arpa&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/rev.10.13.0&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обратите внимание: при запрете рекурсии внутри view перестанут работать CNAME на посторонние зоны.&lt;br /&gt;
&lt;br /&gt;
При дублировании зон в областях видимости не забывайте прописать после NS записи еще и A-запись для вашего dns-сервера.&lt;br /&gt;
Внешние клиенты тоже должны знать ip адрес вашего NS.&lt;br /&gt;
Пример:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$ORIGIN model.local.&lt;br /&gt;
$TTL 1h&lt;br /&gt;
;&lt;br /&gt;
@       IN      SOA     ns1.model.local.        hostmaster.model.local. (&lt;br /&gt;
                                                2014025006      ; Serial Number&lt;br /&gt;
                                                10800           ; refresh&lt;br /&gt;
                                                3600            ; retry&lt;br /&gt;
                                                604800          ; expire&lt;br /&gt;
                                                86400   )       ; min TTL&lt;br /&gt;
;&lt;br /&gt;
                        IN      NS      ns1.model.local.&lt;br /&gt;
                        IN      MX      10      mail1&lt;br /&gt;
;&lt;br /&gt;
ns1                     IN      A       10.13.0.104 ; &amp;lt;--------- ОБЯЗАТЕЛЬНО&lt;br /&gt;
gw                      IN      A       10.13.0.43&lt;br /&gt;
hi                      IN      A       10.13.0.223&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если этого не сделать, в ответ на запрос к любому имени в зоне сервер будет отвечать ошибкой &amp;quot;ServerFail&amp;quot;:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
root@model-net-ctrl-1:/etc/bind# dig hi.model.local. @10.13.0.104&lt;br /&gt;
;; Got answer:&lt;br /&gt;
;; HEADER opcode: QUERY, status: SERVFAIL, id: 60022&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Запрет рекурсий ==&lt;br /&gt;
См. upward referrals debates&lt;br /&gt;
https://www.dns-oarc.net/oarc/articles/upward-referrals-considered-harmful&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:DNS]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=BIND9_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D0%B5)&amp;diff=434</id>
		<title>BIND9 (методическое пособие)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=BIND9_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D0%B5)&amp;diff=434"/>
				<updated>2020-03-11T10:14:36Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* View - ограничение видимости зон */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Архитектура DNS=&lt;br /&gt;
root(.)&lt;br /&gt;
&lt;br /&gt;
gTLD&lt;br /&gt;
&lt;br /&gt;
ccTLD&lt;br /&gt;
&lt;br /&gt;
Домены, поддомены, псевдо-поддомены, зоны прямые и обратные&lt;br /&gt;
&lt;br /&gt;
Делегирование зон&lt;br /&gt;
&lt;br /&gt;
Трансфер зон&lt;br /&gt;
&lt;br /&gt;
Рекурсивный и нерекурсивный запрос&lt;br /&gt;
&lt;br /&gt;
Stub-resolver.&lt;br /&gt;
Тупиковый резолвер с кэшем поддерживает только рекурсивный запрос. (win: DNS-client)&lt;br /&gt;
TSIG протокол позволяет аутентифицировать передачу данных между DNS-серверами. Можно проверять подлинность данных при передаче зон, рекурсивных запросах, динамических обновлениях. Сами данные не шифруются, но подлинность проверяется. TSIG использует метки времени для предотвращения атаки повторения пакетов.&lt;br /&gt;
&lt;br /&gt;
DNSSEC&lt;br /&gt;
&lt;br /&gt;
=== nslookup ===&lt;br /&gt;
&lt;br /&gt;
Пример dns запроса на сервер 10.13.0.101 - рекурсия разрешена:&lt;br /&gt;
&lt;br /&gt;
 root@netctrl-01:/etc/bind# nslookup www.ru. 10.13.0.101&lt;br /&gt;
 Server:         10.13.0.101&lt;br /&gt;
 Address:        10.13.0.101#53&lt;br /&gt;
 Non-authoritative answer:&lt;br /&gt;
 Name:   www.ru&lt;br /&gt;
 Address: 194.87.0.50&lt;br /&gt;
&lt;br /&gt;
Пример dns запроса на сервер 10.13.0.101 - рекурсия запрещена:&lt;br /&gt;
 root@netctrl-01:/etc/bind# nslookup www.ru. 10.13.0.101&lt;br /&gt;
 Server:         10.13.0.101&lt;br /&gt;
 Address:        10.13.0.101#53&lt;br /&gt;
 ** server can't find www.ru: REFUSED&lt;br /&gt;
&lt;br /&gt;
=== dig ===&lt;br /&gt;
Пример запроса при помощи команды dig. Рекурсия запрещена&lt;br /&gt;
 root@netctrl-01:/etc# dig +all ya.ru.&lt;br /&gt;
 ; &amp;lt;&amp;lt;&amp;gt;&amp;gt; DiG 9.8.4-rpz2+rl005.12-P1 &amp;lt;&amp;lt;&amp;gt;&amp;gt; +all ya.ru.&lt;br /&gt;
 ;; global options: +cmd&lt;br /&gt;
 ;; Got answer:&lt;br /&gt;
 ;; -&amp;gt;&amp;gt;HEADER&amp;lt;&amp;lt;- opcode: QUERY, status: REFUSED, id: 36103&lt;br /&gt;
 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0&lt;br /&gt;
 ;; WARNING: recursion requested but not available&lt;br /&gt;
 ;; QUESTION SECTION:&lt;br /&gt;
 ;ya.ru.                         IN      A&lt;br /&gt;
 ;; Query time: 0 msec&lt;br /&gt;
 ;; SERVER: 127.0.0.1#53(127.0.0.1)&lt;br /&gt;
 ;; WHEN: Thu Feb 20 16:21:58 2014&lt;br /&gt;
 ;; MSG SIZE  rcvd: 23&lt;br /&gt;
&lt;br /&gt;
Рекурсия разрешена&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
root@netctrl-01:/etc/bind# dig +trace ya.ru.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;&amp;lt;&amp;gt;&amp;gt; DiG 9.8.4-rpz2+rl005.12-P1 &amp;lt;&amp;lt;&amp;gt;&amp;gt; +trace ya.ru.&lt;br /&gt;
;; global options: +cmd&lt;br /&gt;
.                       510544  IN      NS      m.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      b.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      a.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      g.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      k.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      f.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      d.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      j.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      l.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      h.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      e.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      i.root-servers.net.&lt;br /&gt;
.                       510544  IN      NS      c.root-servers.net.&lt;br /&gt;
;; Received 512 bytes from 127.0.0.1#53(127.0.0.1) in 3 ms&lt;br /&gt;
&lt;br /&gt;
ru.                     172800  IN      NS      a.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      b.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      d.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      e.dns.ripn.net.&lt;br /&gt;
ru.                     172800  IN      NS      f.dns.ripn.net.&lt;br /&gt;
;; Received 335 bytes from 128.63.2.53#53(128.63.2.53) in 191 ms&lt;br /&gt;
&lt;br /&gt;
ya.ru.                  345600  IN      NS      ns1.yandex.ru.&lt;br /&gt;
ya.ru.                  345600  IN      NS      ns2.yandex.ru.&lt;br /&gt;
;; Received 154 bytes from 193.232.156.17#53(193.232.156.17) in 288 ms&lt;br /&gt;
&lt;br /&gt;
ya.ru.                  7200    IN      A       213.180.204.3&lt;br /&gt;
ya.ru.                  7200    IN      A       93.158.134.3&lt;br /&gt;
ya.ru.                  7200    IN      A       213.180.193.3&lt;br /&gt;
ya.ru.                  7200    IN      NS      ns1.yandex.ru.&lt;br /&gt;
ya.ru.                  7200    IN      NS      ns2.yandex.ru.&lt;br /&gt;
;; Received 202 bytes from 213.180.193.1#53(213.180.193.1) in 47 ms&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Сервер имен BIND9 =&lt;br /&gt;
== Управление ==&lt;br /&gt;
Проверяет конфиг сервера имен&lt;br /&gt;
 named-checkconf&lt;br /&gt;
&lt;br /&gt;
Перезагружает конфиг и зоны&lt;br /&gt;
 rndc reload&lt;br /&gt;
&lt;br /&gt;
Перезагружает только изменившиеся зоны&lt;br /&gt;
 rndc reconfig&lt;br /&gt;
&lt;br /&gt;
Запуск&lt;br /&gt;
 service bind9 start&lt;br /&gt;
&lt;br /&gt;
Состояние сервера&lt;br /&gt;
 rndc status&lt;br /&gt;
&lt;br /&gt;
Сброс кэша&lt;br /&gt;
 rndc flush&lt;br /&gt;
&lt;br /&gt;
Конфигурация и файлы зон по-умолчанию лежат в /etc/bind/&lt;br /&gt;
&lt;br /&gt;
== Опции ==&lt;br /&gt;
&lt;br /&gt;
Списки доступа&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
acl network1 {&lt;br /&gt;
        1.2.3.0/24;&lt;br /&gt;
        192.168.0.0/20;&lt;br /&gt;
};&lt;br /&gt;
acl GoodDns {&lt;br /&gt;
       1.2.3.4;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ограничение на трансфер зон и запросы&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
        allow-transfer {&lt;br /&gt;
                localhost;&lt;br /&gt;
               GoodDns;&lt;br /&gt;
        };&lt;br /&gt;
        allow-query {&lt;br /&gt;
               any;&lt;br /&gt;
        };&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Настройка зоны и подключение файла зоны&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zone &amp;quot;example.com&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.example.com.&amp;quot;;&lt;br /&gt;
        allow-query {&lt;br /&gt;
                any;&lt;br /&gt;
        };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Зона прямого просмотра ==&lt;br /&gt;
Зоны прямого просмотра делегируются нам владельцем родительского домена.&lt;br /&gt;
&lt;br /&gt;
Пример файла зоны, для которой мы являемся мастером (SOA ns1.model.local.)&lt;br /&gt;
Сервер ns.example.com. указан в качестве вторичного.&lt;br /&gt;
&lt;br /&gt;
Параметры времени жизни записи:&lt;br /&gt;
* TTL - время, на которое запись считается действительной, после выдачи сервером. Записи в кэше хранятся в течение TTL.&lt;br /&gt;
* Negative Cache TTL - время действия ответа об отсутствии записи (NXDOMAIN). Запись о том, что запрошенное имя не существует хранится в кэше на это время.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TTL можно задавать отдельно для каждой записи. Negative Cache TTL - действует на зоны в целом.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN model.local.&lt;br /&gt;
$TTL 1h&lt;br /&gt;
;&lt;br /&gt;
@       IN      SOA     ns1.model.local.        hostmaster.model.local. (&lt;br /&gt;
                                                2014023001      ; Serial Number&lt;br /&gt;
                                                10800           ; refresh&lt;br /&gt;
                                                3600            ; retry&lt;br /&gt;
                                                604800          ; expire&lt;br /&gt;
                                                86400   )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
                        IN      NS      ns1.model.local.&lt;br /&gt;
                        IN      NS      ns.example.com.&lt;br /&gt;
                        IN      MX      10      mail1&lt;br /&gt;
;&lt;br /&gt;
gw                      IN      A       10.13.0.1&lt;br /&gt;
; несколько имен на один адрес&lt;br /&gt;
ns1                     IN      A       10.13.0.2&lt;br /&gt;
net-ctrl-1              IN      A       10.13.0.2&lt;br /&gt;
mail1                  IN      A       10.13.0.10&lt;br /&gt;
front2                  IN      A       10.13.0.11&lt;br /&gt;
back1                   IN      A       10.13.0.20&lt;br /&gt;
back2                   IN      A       10.13.0.21&lt;br /&gt;
; несколько адресов на одно имя - балансировка&lt;br /&gt;
back                    IN      A       10.13.0.20&lt;br /&gt;
                        IN      A       10.13.0.21&lt;br /&gt;
stor1                   IN      A       10.13.0.30&lt;br /&gt;
stor2                   IN      A       10.13.0.31&lt;br /&gt;
stor-vip                IN      A       10.13.0.40&lt;br /&gt;
front-vrrp              IN      A       10.13.0.50&lt;br /&gt;
www                     IN      CNAME   model.local.&lt;br /&gt;
bc                      IN      A       10.13.0.255&lt;br /&gt;
;&lt;br /&gt;
; users&lt;br /&gt;
user1                  IN      CNAME   back.model.local.&lt;br /&gt;
www.user1              IN      CNAME   back.model.local.&lt;br /&gt;
user2                  IN      CNAME   back.model.local.&lt;br /&gt;
www.user2              IN      CNAME   back.model.local.&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Зона обратного просмотра ==&lt;br /&gt;
&lt;br /&gt;
Зона обратного просмотра управляется владельцем диапазона ip адресов. &lt;br /&gt;
&lt;br /&gt;
Пример файла зоны обратного просмотра, для которой мы являемся мастером&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
$ORIGIN 0.13.10.IN-ADDR.ARPA.&lt;br /&gt;
$TTL 1h&lt;br /&gt;
;&lt;br /&gt;
@       IN      SOA     ns1.model.local.        hostmaster.model.local. (&lt;br /&gt;
                                                2014023001      ; Serial Number&lt;br /&gt;
                                                10800           ; refresh&lt;br /&gt;
                                                3600            ; retry&lt;br /&gt;
                                                604800          ; expire&lt;br /&gt;
                                                86400   )       ; min TTL&lt;br /&gt;
;&lt;br /&gt;
                        IN      NS      ns1.model.local.&lt;br /&gt;
;&lt;br /&gt;
2                       IN      PTR     ns1.model.local.&lt;br /&gt;
101                     IN      PTR     netctrl-01.model.local.&lt;br /&gt;
255                     IN      PTR     bc.model.local.&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Зоны по-умолчанию ==&lt;br /&gt;
&lt;br /&gt;
Зона типа hint для домена точки со списком корневых серверов. Файл зона необходимо периодически обновлять с сервера ftp://ftp.internic.net/domain/named.cache&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zone &amp;quot;.&amp;quot; {&lt;br /&gt;
        type hint;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.root&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Зоны замыкания на себя прямые, обратные и броадкастов.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
zone &amp;quot;localhost&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.local&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;127.in-addr.arpa&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.127&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;0.in-addr.arpa&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.0&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;255.in-addr.arpa&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.255&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример прямой и обратной зоны замыкания на себя, входящих в дистрибутив BIND9&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
; BIND data file for local loopback interface&lt;br /&gt;
;&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     localhost. root.localhost. (&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
@       IN      NS      localhost.&lt;br /&gt;
@       IN      A       127.0.0.1&lt;br /&gt;
@       IN      AAAA    ::1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
$TTL    604800&lt;br /&gt;
@       IN      SOA     localhost. root.localhost. (&lt;br /&gt;
                              1         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
;&lt;br /&gt;
@       IN      NS      localhost.&lt;br /&gt;
1.0.0   IN      PTR     localhost.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Типы ресурсных записей (RR) ==&lt;br /&gt;
&lt;br /&gt;
=== SOA ===&lt;br /&gt;
SOA запись в файле зоны должна быть только одна. В файле она должна стоять первой.&lt;br /&gt;
Запись SOA определяет какой сервер является владельцем зоны и какие на зону установлены параметры.&lt;br /&gt;
После записи SOA надо обязательно указать IN NS запись с тем-же сервером, что и в заголовке.&lt;br /&gt;
&lt;br /&gt;
Пример: домен example.com обслуживается серверами ns.example.com и ns.examle.net.&lt;br /&gt;
После указания директивы $ORIGIN сервер автоматически допишет за нас все неполные dns имена (таким образом hostmaster читается как hostmaster.example.com). Имя сервера вне зоны пишется полностью.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone TTL default = 2 days or 172800 seconds&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
@      IN      SOA   ns hostmaster (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               1d12h      ; refresh =  1 day 12 hours&lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
       IN      NS  ns&lt;br /&gt;
       IN      NS  ns.example.net.  ; out-of-zone &lt;br /&gt;
...&lt;br /&gt;
; A record for the NS RR above&lt;br /&gt;
ns     IN      A   192.168.2.1&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример 2: домен example.com обслуживается двумя серверами вне зоны. Для них указаны полные имена в записях IN NS.&lt;br /&gt;
Т.к. домен обслуживается другими серверами никакие A записи не допускаются.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone TTL default = 2 days or 172800 seconds&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
@      IN      SOA   ns.example.net. hostmaster.example.com. (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               1d12h      ; refresh =  1 day 12 hours&lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
        IN     NS    ns.example.net. ; out-of-zone name server&lt;br /&gt;
        IN     NS    ns.example.org. ; out-of-zone name server&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== NS ===&lt;br /&gt;
Инфраструктурная запись, указывающая имя сервера имен для данного домена.&lt;br /&gt;
Формат&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
owner-name     ttl  class   rr     target-name&lt;br /&gt;
example.com.        IN      NS      ns1.example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Согласно стандарту, каждый публичный домен должен иметь минимум 2 сервера имен. Частный домен может обслуживаться и одним сервером.&lt;br /&gt;
&lt;br /&gt;
Если NS сервер для нашего домена находится в нашем домене, то мы обязаны указать A-запись для этого сервера (glue-record).&lt;br /&gt;
Если NS сервер лежит вне домена - A-запись указывать не нужно.&lt;br /&gt;
&lt;br /&gt;
Пример: NS записи для основного домена и для делегированного поддомена с указанием glue-records.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; default TTL is 2 days&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
@              IN      SOA   ns1.example.com. hostmaster.example.com. (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               2h         ; refresh =  2 hours &lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
              IN      NS     ns1.example.com.&lt;br /&gt;
              IN      NS     ns2.example.com.&lt;br /&gt;
; обязательно указываем адреса этих серверов&lt;br /&gt;
ns1           IN      A      192.168.0.3&lt;br /&gt;
ns2           IN      A      192.168.0.4&lt;br /&gt;
; переключение на поддомен&lt;br /&gt;
$ORIGIN us.example.com.&lt;br /&gt;
@             IN      NS     ns3.us.example.com.&lt;br /&gt;
              IN      NS     ns1.example.com.&lt;br /&gt;
; обязательно указываем на сервер поддомена&lt;br /&gt;
ns3.us.example.com. A 10.10.0.24&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== A, AAAA ===&lt;br /&gt;
A-запись указывает на ip адрес для данного имени хоста. Опционально указать особо ttl.&lt;br /&gt;
&lt;br /&gt;
Пример: различные вариации записи&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone default = 2 days or 172800 seconds&lt;br /&gt;
joe        IN      A      192.168.0.3  ; одинаковые ip&lt;br /&gt;
www        IN      A      192.168.0.3&lt;br /&gt;
; можно указать домен полностью&lt;br /&gt;
www.example.com.   A      192.168.0.3&lt;br /&gt;
fred  3600 IN      A      192.168.0.4  ; указан другой ttl&lt;br /&gt;
ftp        IN      A      192.168.0.24 ; разные ip для одного имени&lt;br /&gt;
           IN      A      192.168.0.7&lt;br /&gt;
mail       IN      A      192.168.0.15  ; разные ip для одного имени&lt;br /&gt;
mail       IN      A      192.168.0.32&lt;br /&gt;
mail       IN      A      192.168.0.3&lt;br /&gt;
squat      IN      A      10.0.14.13  ; другая подсеть&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
AAAA-запись используется для IPv6 адресов&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ws1-29                  A       10.0.10.29                                                                                      &lt;br /&gt;
                        AAAA    2002:d4c0:4090::d110:1011 &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Когда одному имени сопоставлено много адресов, в обратной записи для адреса нужно выдрать только одно имя.&lt;br /&gt;
&lt;br /&gt;
=== MX ===&lt;br /&gt;
Инфраструктурная запись  указывающая на имя почтового сервера для домена.&lt;br /&gt;
Если имя сервера в этом-же домене - требуется еще А-запись с ip адресом почтового сервера.&lt;br /&gt;
&lt;br /&gt;
Почтовых серверов для домена можно указать несколько с разными приоритетами.&lt;br /&gt;
&lt;br /&gt;
Пример: почтовые сервера для домена и поддомена в одном файле&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; zone default = 2 days or 172800 seconds&lt;br /&gt;
$ORIGIN example.com.&lt;br /&gt;
example.com. IN     SOA   ns1.example.com. root.example.com. (&lt;br /&gt;
               2003080800 ; serial number&lt;br /&gt;
               2h         ; refresh =  2 hours &lt;br /&gt;
               15M        ; update retry = 15 minutes&lt;br /&gt;
               3W12h      ; expiry = 3 weeks + 12 hours&lt;br /&gt;
               2h20M      ; minimum = 2 hours + 20 minutes&lt;br /&gt;
               )&lt;br /&gt;
; почтовый сервер для адресов вида user@example.com&lt;br /&gt;
              IN      MX 10  mail.example.com.&lt;br /&gt;
; почтовые сервера для поддомена user@us.example.com&lt;br /&gt;
us            IN      MX 10  mail.us.example.com.&lt;br /&gt;
us            IN      MX 20  mail.example.com.&lt;br /&gt;
; A-запись для основного почтового сервера&lt;br /&gt;
mail          IN      A      192.168.0.5&lt;br /&gt;
; Переключение на поддомен&lt;br /&gt;
$ORIGIN us.example.com.&lt;br /&gt;
; A-запись для почтового сервера поддомена&lt;br /&gt;
mail          IN      A      10.10.0.29&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CNAME ===&lt;br /&gt;
&lt;br /&gt;
Запись CNAME используется для указания псевдонима или ссылки одного имени на другое.&lt;br /&gt;
Если сервер вернул клиенту CNAME в ответ на запрос, то клиенту придется повторно делать запрос на разрешение CNAME.&lt;br /&gt;
Используется для удобства администрирования при наличии многих имен у одного сервера.&lt;br /&gt;
&lt;br /&gt;
Примеры различных псевдонимов в домене example.com.:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
joe        IN      A      192.168.254.3   &lt;br /&gt;
www        IN      CNAME  joe &lt;br /&gt;
www        IN      CNAME  joe.example.com. &lt;br /&gt;
ftp        IN      CNAME  www.example.com. ; паровоз&lt;br /&gt;
bill       IN      CNAME  fred.another.com. ; перенаправление на имя в другом домене&lt;br /&gt;
;&lt;br /&gt;
           IN      A      192.168.254.8&lt;br /&gt;
www        IN      CNAME  example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PTR ===&lt;br /&gt;
Обратная запись указывает на имя по ip адресу. Используется специальный домен .IN-ADDR.ARPA.&lt;br /&gt;
Для IPv6 используется другой домен - IP6.ARPA. Поэтому обратные записи необходимо держать в разных файлах для ipv4 и ipv6.&lt;br /&gt;
&lt;br /&gt;
Пример для IPv4:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$TTL 2d ; 172800 secs&lt;br /&gt;
$ORIGIN 23.168.192.IN-ADDR.ARPA.&lt;br /&gt;
@             IN      SOA   ns1.example.com. hostmaster.example.com. (&lt;br /&gt;
                              2003080800 ; serial number&lt;br /&gt;
                              12h         ; refresh&lt;br /&gt;
                              15m        ; update retry&lt;br /&gt;
                              3w         ; expiry&lt;br /&gt;
                              3h         ; minimum&lt;br /&gt;
                              )&lt;br /&gt;
              IN      NS      ns1.example.com.&lt;br /&gt;
              IN      NS      ns2.example.com.&lt;br /&gt;
2             IN      PTR     joe.example.com. ; FDQN&lt;br /&gt;
15            IN      PTR     www.example.com.&lt;br /&gt;
17            IN      PTR     bill.example.com.&lt;br /&gt;
74            IN      PTR     fred.example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример для IPv6:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
; reverse IPV6 zone file for example.com&lt;br /&gt;
$TTL 2d    ; default TTL for zone 172800 secs&lt;br /&gt;
$ORIGIN 0.0.0.0.8.b.d.0.1.0.0.2.IP6.ARPA.&lt;br /&gt;
@         IN      SOA   ns1.example.com. hostmaster.example.com. (&lt;br /&gt;
                        2003080800 ; sn = serial number&lt;br /&gt;
                        12h         ; refresh = refresh&lt;br /&gt;
                        15m        ; retry = update retry&lt;br /&gt;
                        3w         ; expiry = expiry&lt;br /&gt;
                        2h         ; min = minimum&lt;br /&gt;
                        )&lt;br /&gt;
          IN      NS      ns1.example.com.&lt;br /&gt;
          IN      NS      ns2.example.net.&lt;br /&gt;
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0         IN      PTR     ns1.example.com.&lt;br /&gt;
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0         IN      PTR     mail.example.com.&lt;br /&gt;
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0         IN      PTR     joe.example.com.&lt;br /&gt;
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0         IN      PTR     www.example.com.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SRV ===&lt;br /&gt;
&lt;br /&gt;
== Директивы сервера bind==&lt;br /&gt;
&lt;br /&gt;
$TTL&lt;br /&gt;
$ORIGIN&lt;br /&gt;
&lt;br /&gt;
== View - ограничение видимости зон ==&lt;br /&gt;
Использование ограничения видимости позволяет применять различные опции по отношению к различным клиентам.&lt;br /&gt;
Опция вступают в действие в зависимости от ip адреса клиента - источника запроса.&lt;br /&gt;
&lt;br /&gt;
Это позволяет использовать разные данные по одной и той-же зоне для разных клиентов.&lt;br /&gt;
Для внутренних клиентов мы должны разрешить рекурсивные запросы, для внешних - запретить.&lt;br /&gt;
&lt;br /&gt;
В конфигурационном файле необходимо запретить рекурсию по-умолчанию (закомментировать).&lt;br /&gt;
На рубеже версии 9.5 поведение этого флажка меняется, на новых версиях надо оставить строчку включенной.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
allow-recursion { any; };&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
На версии 9.8.4 поведение такое:&lt;br /&gt;
* allow-recursion { any; }; view recusion yes; - разрешает рекурсию. (на нерекурсивный запрос дает хинт root-list);&lt;br /&gt;
* allow-recursion { any; }; view recusion no; - запрещает рекурсию молча (no answer);&lt;br /&gt;
* allow-recursion { none; }; view recusion yes|no; - запрещает рекурсию (REFUSED);&lt;br /&gt;
* закомментарен allow-recursion { none; }; view recusion yes|no; - запрещает рекурсию (REFUSED);&lt;br /&gt;
Т.е. для нас актуальны первые два варианта.&lt;br /&gt;
&lt;br /&gt;
Выключить проверку DNSSEC. Требуется если мы в лабораторных условиях сквоттим TLD.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
dnssec-validation no;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Конфигурация зон /etc/bind/named.conf&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
; список доступа - наши внутренние клиенты&lt;br /&gt;
acl internal {&lt;br /&gt;
    10.13.0.0/24;&lt;br /&gt;
    localhost;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
; область видимости для внутренних клиентов&lt;br /&gt;
view &amp;quot;internal-view&amp;quot; {&lt;br /&gt;
  ; клиент - соответствует списку доступа&lt;br /&gt;
  match-clients { internal; };&lt;br /&gt;
  ; разрешена рекурсия для внутренних клиентов&lt;br /&gt;
  recursion yes;&lt;br /&gt;
&lt;br /&gt;
 ;  зона видима только для внутренних клиентов&lt;br /&gt;
  zone &amp;quot;model.local&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.model.local&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
; зона видима для внутренних клиентов иначе, чем для внешних&lt;br /&gt;
; файл зоны свой&lt;br /&gt;
  zone &amp;quot;model.example.net&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.model.example.net.internal&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
; обратная зона для внутренних клиентов тоже своя&lt;br /&gt;
  zone &amp;quot;0.13.10.in-addr.arpa&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/rev.10.13.0.internal&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
; дефолтные зоны сервера&lt;br /&gt;
  include &amp;quot;/etc/bind/named.conf.default-zones&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
; область видимости, доступная всем прочим клиентам&lt;br /&gt;
view &amp;quot;external-view&amp;quot; {&lt;br /&gt;
  match-clients { any; };&lt;br /&gt;
; запрет рекурсии&lt;br /&gt;
  recursion no;&lt;br /&gt;
; запрет добавления Additional секции со ссылками на root сервера для всех запросов, которых нет в зонах.&lt;br /&gt;
; заставляет bind отвечать REFUSED на запрос посторонних имен. (Блокировка Upward referrals)&lt;br /&gt;
  additional-from-cache no;&lt;br /&gt;
&lt;br /&gt;
; зона видится внешними клиентами не так, как внутренними&lt;br /&gt;
; файл зоны свой&lt;br /&gt;
  zone &amp;quot;model.example.net&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/db.model.example.net&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
;  обратная зона видится внешними клиентами не так, как внутренними&lt;br /&gt;
; файл зоны свой&lt;br /&gt;
  zone &amp;quot;0.13.10.in-addr.arpa&amp;quot; in {&lt;br /&gt;
    type master;&lt;br /&gt;
    file &amp;quot;/etc/bind/rev.10.13.0&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обратите внимание: при запрете рекурсии внутри view перестанут работать CNAME на посторонние зоны.&lt;br /&gt;
&lt;br /&gt;
При дублировании зон в областях видимости не забывайте прописать после NS записи еще и A-запись для вашего dns-сервера.&lt;br /&gt;
Внешние клиенты тоже должны знать ip адрес вашего NS.&lt;br /&gt;
Пример:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$ORIGIN model.local.&lt;br /&gt;
$TTL 1h&lt;br /&gt;
;&lt;br /&gt;
@       IN      SOA     ns1.model.local.        hostmaster.model.local. (&lt;br /&gt;
                                                2014025006      ; Serial Number&lt;br /&gt;
                                                10800           ; refresh&lt;br /&gt;
                                                3600            ; retry&lt;br /&gt;
                                                604800          ; expire&lt;br /&gt;
                                                86400   )       ; min TTL&lt;br /&gt;
;&lt;br /&gt;
                        IN      NS      ns1.model.local.&lt;br /&gt;
                        IN      MX      10      mail1&lt;br /&gt;
;&lt;br /&gt;
ns1                     IN      A       10.13.0.104 ; &amp;lt;--------- ОБЯЗАТЕЛЬНО&lt;br /&gt;
gw                      IN      A       10.13.0.43&lt;br /&gt;
hi                      IN      A       10.13.0.223&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если этого не сделать, в ответ на запрос к любому имени в зоне сервер будет отвечать ошибкой &amp;quot;ServerFail&amp;quot;:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
root@model-net-ctrl-1:/etc/bind# dig hi.model.local. @10.13.0.104&lt;br /&gt;
;; Got answer:&lt;br /&gt;
;; HEADER opcode: QUERY, status: SERVFAIL, id: 60022&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Запрет рекурсий ==&lt;br /&gt;
См. upward referrals debates&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:DNS]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=VPN_Remote_Access&amp;diff=433</id>
		<title>VPN Remote Access</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=VPN_Remote_Access&amp;diff=433"/>
				<updated>2020-03-05T10:05:49Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* PIX (Nat only) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= VPN удаленного доступа (remote access) =&lt;br /&gt;
== Топология ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  users------PIX-----------inet&lt;br /&gt;
              |              |&lt;br /&gt;
              |              |&lt;br /&gt;
             DMZ          RemoteAccess VPN&lt;br /&gt;
&lt;br /&gt;
users 10.0.0.0/24&lt;br /&gt;
dmz   10.11.12.13/24&lt;br /&gt;
inet  212.192.80.150,151,152&lt;br /&gt;
vpn = users via outside&lt;br /&gt;
&lt;br /&gt;
users -&amp;gt; inet = NAT&lt;br /&gt;
users -&amp;gt; dmz = allow&lt;br /&gt;
vpn   -&amp;gt; users = allow&lt;br /&gt;
vpn   -&amp;gt; dmz = allow&lt;br /&gt;
vpn   -&amp;gt; inet = NAT&lt;br /&gt;
inet  -&amp;gt; dmz = port-forward 4321-&amp;gt;22 static nat &lt;br /&gt;
&lt;br /&gt;
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cisco PIX ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
pixfirewall# sh run&lt;br /&gt;
PIX Version 7.2(1) &lt;br /&gt;
!&lt;br /&gt;
domain-name psu.ru&lt;br /&gt;
!&lt;br /&gt;
interface Ethernet0&lt;br /&gt;
 nameif outside&lt;br /&gt;
 security-level 0&lt;br /&gt;
 ip address 212.192.88.150 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Ethernet1&lt;br /&gt;
 nameif inside&lt;br /&gt;
 security-level 100&lt;br /&gt;
 ip address 10.0.0.1 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Ethernet2&lt;br /&gt;
 nameif dmz&lt;br /&gt;
 security-level 50&lt;br /&gt;
 ip address 10.11.12.1 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
same-security-traffic permit intra-interface&lt;br /&gt;
!&lt;br /&gt;
object-group network LAN&lt;br /&gt;
 network-object 10.0.0.0 255.255.255.0&lt;br /&gt;
!&lt;br /&gt;
access-list NO-NAT extended permit ip 10.0.0.0 255.255.255.0 10.0.0.0 255.255.255.0 &lt;br /&gt;
access-list NO-NAT extended permit ip 10.0.0.0 255.255.255.0 host 10.11.12.13 &lt;br /&gt;
!&lt;br /&gt;
access-list TO-DMZ extended permit tcp any host 212.192.88.150 eq 4321 &lt;br /&gt;
access-list LAN extended permit ip object-group LAN any &lt;br /&gt;
access-list NO-NAT-DMZ extended permit ip host 10.11.12.13 10.0.0.0 255.255.255.0 &lt;br /&gt;
&lt;br /&gt;
ip local pool net10 10.0.0.200-10.0.0.210 mask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
global (outside) 123 interface&lt;br /&gt;
nat (outside) 123 access-list LAN&lt;br /&gt;
nat (inside) 123 access-list LAN&lt;br /&gt;
&lt;br /&gt;
nat (inside) 0 access-list NO-NAT&lt;br /&gt;
nat (dmz) 0 access-list NO-NAT-DMZ&lt;br /&gt;
&lt;br /&gt;
static (dmz,outside) tcp interface 4321 10.11.12.13 ssh netmask 255.255.255.255 &lt;br /&gt;
&lt;br /&gt;
access-group TO-DMZ in interface outside&lt;br /&gt;
route outside 0.0.0.0 0.0.0.0 212.192.88.1 1&lt;br /&gt;
&lt;br /&gt;
group-policy DefaultRAGroup internal&lt;br /&gt;
group-policy DefaultRAGroup attributes&lt;br /&gt;
 dns-server value 212.192.64.2&lt;br /&gt;
 vpn-tunnel-protocol IPSec l2tp-ipsec &lt;br /&gt;
&lt;br /&gt;
username cisco password cisco mschap&lt;br /&gt;
&lt;br /&gt;
crypto ipsec transform-set TRANS_ESP_3DES_SHA esp-3des esp-sha-hmac &lt;br /&gt;
crypto ipsec transform-set TRANS_ESP_3DES_SHA mode transport&lt;br /&gt;
&lt;br /&gt;
crypto dynamic-map CM 65535 set transform-set TRANS_ESP_3DES_SHA&lt;br /&gt;
&lt;br /&gt;
crypto map OUTSIDE 65535 ipsec-isakmp dynamic CM&lt;br /&gt;
crypto map OUTSIDE interface outside&lt;br /&gt;
&lt;br /&gt;
crypto isakmp identity address &lt;br /&gt;
crypto isakmp enable outside&lt;br /&gt;
&lt;br /&gt;
crypto isakmp policy 10&lt;br /&gt;
 authentication pre-share&lt;br /&gt;
 encryption 3des&lt;br /&gt;
 hash sha&lt;br /&gt;
 group 2&lt;br /&gt;
 lifetime 86400&lt;br /&gt;
crypto isakmp nat-traversal  20&lt;br /&gt;
&lt;br /&gt;
tunnel-group DefaultRAGroup general-attributes&lt;br /&gt;
 address-pool net10&lt;br /&gt;
 default-group-policy DefaultRAGroup&lt;br /&gt;
&lt;br /&gt;
tunnel-group DefaultRAGroup ipsec-attributes&lt;br /&gt;
 pre-shared-key 11111&lt;br /&gt;
&lt;br /&gt;
tunnel-group DefaultRAGroup ppp-attributes&lt;br /&gt;
 no authentication chap&lt;br /&gt;
 authentication ms-chap-v2&lt;br /&gt;
&lt;br /&gt;
policy-map global_policy&lt;br /&gt;
 class inspection_default&lt;br /&gt;
  inspect icmp &lt;br /&gt;
!&lt;br /&gt;
service-policy global_policy global&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PIX (Nat only) ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
interface Ethernet0&lt;br /&gt;
 nameif outside&lt;br /&gt;
 security-level 0&lt;br /&gt;
 ip address 212.192.88.150 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Ethernet1&lt;br /&gt;
 nameif inside&lt;br /&gt;
 security-level 100&lt;br /&gt;
 ip address 10.0.0.1 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Ethernet2&lt;br /&gt;
 nameif dmz&lt;br /&gt;
 security-level 50&lt;br /&gt;
 ip address 10.11.12.1 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
same-security-traffic permit intra-interface&lt;br /&gt;
!&lt;br /&gt;
object-group network LAN&lt;br /&gt;
 network-object 10.0.0.0 255.255.255.0&lt;br /&gt;
!&lt;br /&gt;
access-list NO-NAT extended permit ip 10.0.0.0 255.255.255.0 10.0.0.0 255.255.255.0 &lt;br /&gt;
access-list NO-NAT extended permit ip 10.0.0.0 255.255.255.0 host 10.11.12.13 &lt;br /&gt;
!&lt;br /&gt;
access-list TO-DMZ extended permit tcp any host 212.192.88.150 eq 4321 &lt;br /&gt;
access-list LAN extended permit ip object-group LAN any &lt;br /&gt;
access-list NO-NAT-DMZ extended permit ip host 10.11.12.13 10.0.0.0 255.255.255.0 &lt;br /&gt;
&lt;br /&gt;
global (outside) 123 interface&lt;br /&gt;
nat (outside) 123 access-list LAN&lt;br /&gt;
nat (inside) 123 access-list LAN&lt;br /&gt;
&lt;br /&gt;
nat (inside) 0 access-list NO-NAT&lt;br /&gt;
nat (dmz) 0 access-list NO-NAT-DMZ&lt;br /&gt;
&lt;br /&gt;
static (dmz,outside) tcp interface 4321 10.11.12.13 ssh netmask 255.255.255.255 &lt;br /&gt;
&lt;br /&gt;
access-group TO-DMZ in interface outside&lt;br /&gt;
route outside 0.0.0.0 0.0.0.0 212.192.88.1 1&lt;br /&gt;
&lt;br /&gt;
policy-map global_policy&lt;br /&gt;
 class inspection_default&lt;br /&gt;
  inspect icmp &lt;br /&gt;
!&lt;br /&gt;
service-policy global_policy global&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cisco ASA ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ciscoasa# sh run&lt;br /&gt;
: Saved&lt;br /&gt;
:&lt;br /&gt;
ASA Version 9.1(5) &lt;br /&gt;
!&lt;br /&gt;
ip local pool net10 10.0.0.200-10.0.0.210 mask 255.255.255.0&lt;br /&gt;
!&lt;br /&gt;
interface GigabitEthernet0/0&lt;br /&gt;
 nameif outside&lt;br /&gt;
 security-level 0&lt;br /&gt;
 ip address 212.192.88.150 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface GigabitEthernet0/1&lt;br /&gt;
 nameif inside&lt;br /&gt;
 security-level 100&lt;br /&gt;
 ip address 10.0.0.1 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface GigabitEthernet0/2&lt;br /&gt;
 nameif dmz&lt;br /&gt;
 security-level 50&lt;br /&gt;
 ip address 10.11.12.1 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
same-security-traffic permit intra-interface&lt;br /&gt;
!&lt;br /&gt;
object network DMZ&lt;br /&gt;
 host 10.11.12.13&lt;br /&gt;
!&lt;br /&gt;
object network LAN1&lt;br /&gt;
 subnet 10.0.0.0 255.255.255.0&lt;br /&gt;
!&lt;br /&gt;
object-group network LAN&lt;br /&gt;
 network-object 10.0.0.0 255.255.255.0&lt;br /&gt;
!&lt;br /&gt;
access-list TO-DMZ extended permit tcp any host 10.11.12.13 eq ssh &lt;br /&gt;
!&lt;br /&gt;
nat (outside,outside) source dynamic LAN interface&lt;br /&gt;
nat (outside,inside) source static LAN LAN&lt;br /&gt;
!&lt;br /&gt;
object network DMZ&lt;br /&gt;
 nat (dmz,outside) static interface service tcp smtp 4321 &lt;br /&gt;
object network LAN1&lt;br /&gt;
 nat (inside,outside) dynamic pat-pool interface&lt;br /&gt;
!&lt;br /&gt;
access-group TO-DMZ in interface outside&lt;br /&gt;
!&lt;br /&gt;
route outside 0.0.0.0 0.0.0.0 212.192.88.1 1 &lt;br /&gt;
!&lt;br /&gt;
crypto ipsec ikev1 transform-set TRANS_ESP_3DES_SHA esp-3des esp-sha-hmac &lt;br /&gt;
crypto ipsec ikev1 transform-set TRANS_ESP_3DES_SHA mode transport&lt;br /&gt;
!&lt;br /&gt;
crypto dynamic-map CM 65535 set ikev1 transform-set TRANS_ESP_3DES_SHA&lt;br /&gt;
crypto map OUTSIDE 65535 ipsec-isakmp dynamic CM&lt;br /&gt;
crypto map OUTSIDE interface outside&lt;br /&gt;
!&lt;br /&gt;
crypto isakmp identity address &lt;br /&gt;
crypto ikev1 enable outside&lt;br /&gt;
crypto ikev1 policy 10&lt;br /&gt;
 authentication pre-share&lt;br /&gt;
 encryption 3des&lt;br /&gt;
 hash sha&lt;br /&gt;
 group 2&lt;br /&gt;
 lifetime 86400&lt;br /&gt;
crypto ikev1 policy 65535&lt;br /&gt;
 authentication pre-share&lt;br /&gt;
 encryption 3des&lt;br /&gt;
 hash sha&lt;br /&gt;
 group 2&lt;br /&gt;
 lifetime 86400&lt;br /&gt;
!&lt;br /&gt;
group-policy DefaultRAGroup internal&lt;br /&gt;
group-policy DefaultRAGroup attributes&lt;br /&gt;
 dns-server value 212.192.64.2&lt;br /&gt;
 vpn-tunnel-protocol ikev1 l2tp-ipsec&lt;br /&gt;
! &lt;br /&gt;
username cisco password cisco mschap&lt;br /&gt;
!&lt;br /&gt;
tunnel-group DefaultRAGroup general-attributes&lt;br /&gt;
 address-pool net10&lt;br /&gt;
 default-group-policy DefaultRAGroup&lt;br /&gt;
tunnel-group DefaultRAGroup ipsec-attributes&lt;br /&gt;
 ikev1 pre-shared-key 11111&lt;br /&gt;
tunnel-group DefaultRAGroup ppp-attributes&lt;br /&gt;
 no authentication chap&lt;br /&gt;
 authentication ms-chap-v2&lt;br /&gt;
!&lt;br /&gt;
policy-map global_policy&lt;br /&gt;
 class inspection_default&lt;br /&gt;
  inspect icmp &lt;br /&gt;
!&lt;br /&gt;
: end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
[[категория:Лекции]] [[категория:Сети]] [[категория:Cisco]] [[категория:VPN]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=VPN_Remote_Access&amp;diff=432</id>
		<title>VPN Remote Access</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=VPN_Remote_Access&amp;diff=432"/>
				<updated>2020-03-05T10:04:38Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Cisco ASA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= VPN удаленного доступа (remote access) =&lt;br /&gt;
== Топология ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  users------PIX-----------inet&lt;br /&gt;
              |              |&lt;br /&gt;
              |              |&lt;br /&gt;
             DMZ          RemoteAccess VPN&lt;br /&gt;
&lt;br /&gt;
users 10.0.0.0/24&lt;br /&gt;
dmz   10.11.12.13/24&lt;br /&gt;
inet  212.192.80.150,151,152&lt;br /&gt;
vpn = users via outside&lt;br /&gt;
&lt;br /&gt;
users -&amp;gt; inet = NAT&lt;br /&gt;
users -&amp;gt; dmz = allow&lt;br /&gt;
vpn   -&amp;gt; users = allow&lt;br /&gt;
vpn   -&amp;gt; dmz = allow&lt;br /&gt;
vpn   -&amp;gt; inet = NAT&lt;br /&gt;
inet  -&amp;gt; dmz = port-forward 4321-&amp;gt;22 static nat &lt;br /&gt;
&lt;br /&gt;
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cisco PIX ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
pixfirewall# sh run&lt;br /&gt;
PIX Version 7.2(1) &lt;br /&gt;
!&lt;br /&gt;
domain-name psu.ru&lt;br /&gt;
!&lt;br /&gt;
interface Ethernet0&lt;br /&gt;
 nameif outside&lt;br /&gt;
 security-level 0&lt;br /&gt;
 ip address 212.192.88.150 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Ethernet1&lt;br /&gt;
 nameif inside&lt;br /&gt;
 security-level 100&lt;br /&gt;
 ip address 10.0.0.1 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Ethernet2&lt;br /&gt;
 nameif dmz&lt;br /&gt;
 security-level 50&lt;br /&gt;
 ip address 10.11.12.1 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
same-security-traffic permit intra-interface&lt;br /&gt;
!&lt;br /&gt;
object-group network LAN&lt;br /&gt;
 network-object 10.0.0.0 255.255.255.0&lt;br /&gt;
!&lt;br /&gt;
access-list NO-NAT extended permit ip 10.0.0.0 255.255.255.0 10.0.0.0 255.255.255.0 &lt;br /&gt;
access-list NO-NAT extended permit ip 10.0.0.0 255.255.255.0 host 10.11.12.13 &lt;br /&gt;
!&lt;br /&gt;
access-list TO-DMZ extended permit tcp any host 212.192.88.150 eq 4321 &lt;br /&gt;
access-list LAN extended permit ip object-group LAN any &lt;br /&gt;
access-list NO-NAT-DMZ extended permit ip host 10.11.12.13 10.0.0.0 255.255.255.0 &lt;br /&gt;
&lt;br /&gt;
ip local pool net10 10.0.0.200-10.0.0.210 mask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
global (outside) 123 interface&lt;br /&gt;
nat (outside) 123 access-list LAN&lt;br /&gt;
nat (inside) 123 access-list LAN&lt;br /&gt;
&lt;br /&gt;
nat (inside) 0 access-list NO-NAT&lt;br /&gt;
nat (dmz) 0 access-list NO-NAT-DMZ&lt;br /&gt;
&lt;br /&gt;
static (dmz,outside) tcp interface 4321 10.11.12.13 ssh netmask 255.255.255.255 &lt;br /&gt;
&lt;br /&gt;
access-group TO-DMZ in interface outside&lt;br /&gt;
route outside 0.0.0.0 0.0.0.0 212.192.88.1 1&lt;br /&gt;
&lt;br /&gt;
group-policy DefaultRAGroup internal&lt;br /&gt;
group-policy DefaultRAGroup attributes&lt;br /&gt;
 dns-server value 212.192.64.2&lt;br /&gt;
 vpn-tunnel-protocol IPSec l2tp-ipsec &lt;br /&gt;
&lt;br /&gt;
username cisco password cisco mschap&lt;br /&gt;
&lt;br /&gt;
crypto ipsec transform-set TRANS_ESP_3DES_SHA esp-3des esp-sha-hmac &lt;br /&gt;
crypto ipsec transform-set TRANS_ESP_3DES_SHA mode transport&lt;br /&gt;
&lt;br /&gt;
crypto dynamic-map CM 65535 set transform-set TRANS_ESP_3DES_SHA&lt;br /&gt;
&lt;br /&gt;
crypto map OUTSIDE 65535 ipsec-isakmp dynamic CM&lt;br /&gt;
crypto map OUTSIDE interface outside&lt;br /&gt;
&lt;br /&gt;
crypto isakmp identity address &lt;br /&gt;
crypto isakmp enable outside&lt;br /&gt;
&lt;br /&gt;
crypto isakmp policy 10&lt;br /&gt;
 authentication pre-share&lt;br /&gt;
 encryption 3des&lt;br /&gt;
 hash sha&lt;br /&gt;
 group 2&lt;br /&gt;
 lifetime 86400&lt;br /&gt;
crypto isakmp nat-traversal  20&lt;br /&gt;
&lt;br /&gt;
tunnel-group DefaultRAGroup general-attributes&lt;br /&gt;
 address-pool net10&lt;br /&gt;
 default-group-policy DefaultRAGroup&lt;br /&gt;
&lt;br /&gt;
tunnel-group DefaultRAGroup ipsec-attributes&lt;br /&gt;
 pre-shared-key 11111&lt;br /&gt;
&lt;br /&gt;
tunnel-group DefaultRAGroup ppp-attributes&lt;br /&gt;
 no authentication chap&lt;br /&gt;
 authentication ms-chap-v2&lt;br /&gt;
&lt;br /&gt;
policy-map global_policy&lt;br /&gt;
 class inspection_default&lt;br /&gt;
  inspect icmp &lt;br /&gt;
!&lt;br /&gt;
service-policy global_policy global&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PIX (Nat only) ==&lt;br /&gt;
&lt;br /&gt;
interface Ethernet0&lt;br /&gt;
 nameif outside&lt;br /&gt;
 security-level 0&lt;br /&gt;
 ip address 212.192.88.150 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Ethernet1&lt;br /&gt;
 nameif inside&lt;br /&gt;
 security-level 100&lt;br /&gt;
 ip address 10.0.0.1 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Ethernet2&lt;br /&gt;
 nameif dmz&lt;br /&gt;
 security-level 50&lt;br /&gt;
 ip address 10.11.12.1 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
same-security-traffic permit intra-interface&lt;br /&gt;
!&lt;br /&gt;
object-group network LAN&lt;br /&gt;
 network-object 10.0.0.0 255.255.255.0&lt;br /&gt;
!&lt;br /&gt;
access-list NO-NAT extended permit ip 10.0.0.0 255.255.255.0 10.0.0.0 255.255.255.0 &lt;br /&gt;
access-list NO-NAT extended permit ip 10.0.0.0 255.255.255.0 host 10.11.12.13 &lt;br /&gt;
!&lt;br /&gt;
access-list TO-DMZ extended permit tcp any host 212.192.88.150 eq 4321 &lt;br /&gt;
access-list LAN extended permit ip object-group LAN any &lt;br /&gt;
access-list NO-NAT-DMZ extended permit ip host 10.11.12.13 10.0.0.0 255.255.255.0 &lt;br /&gt;
&lt;br /&gt;
global (outside) 123 interface&lt;br /&gt;
nat (outside) 123 access-list LAN&lt;br /&gt;
nat (inside) 123 access-list LAN&lt;br /&gt;
&lt;br /&gt;
nat (inside) 0 access-list NO-NAT&lt;br /&gt;
nat (dmz) 0 access-list NO-NAT-DMZ&lt;br /&gt;
&lt;br /&gt;
static (dmz,outside) tcp interface 4321 10.11.12.13 ssh netmask 255.255.255.255 &lt;br /&gt;
&lt;br /&gt;
access-group TO-DMZ in interface outside&lt;br /&gt;
route outside 0.0.0.0 0.0.0.0 212.192.88.1 1&lt;br /&gt;
&lt;br /&gt;
policy-map global_policy&lt;br /&gt;
 class inspection_default&lt;br /&gt;
  inspect icmp &lt;br /&gt;
!&lt;br /&gt;
service-policy global_policy global&lt;br /&gt;
&lt;br /&gt;
== Cisco ASA ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
ciscoasa# sh run&lt;br /&gt;
: Saved&lt;br /&gt;
:&lt;br /&gt;
ASA Version 9.1(5) &lt;br /&gt;
!&lt;br /&gt;
ip local pool net10 10.0.0.200-10.0.0.210 mask 255.255.255.0&lt;br /&gt;
!&lt;br /&gt;
interface GigabitEthernet0/0&lt;br /&gt;
 nameif outside&lt;br /&gt;
 security-level 0&lt;br /&gt;
 ip address 212.192.88.150 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface GigabitEthernet0/1&lt;br /&gt;
 nameif inside&lt;br /&gt;
 security-level 100&lt;br /&gt;
 ip address 10.0.0.1 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface GigabitEthernet0/2&lt;br /&gt;
 nameif dmz&lt;br /&gt;
 security-level 50&lt;br /&gt;
 ip address 10.11.12.1 255.255.255.0 &lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
same-security-traffic permit intra-interface&lt;br /&gt;
!&lt;br /&gt;
object network DMZ&lt;br /&gt;
 host 10.11.12.13&lt;br /&gt;
!&lt;br /&gt;
object network LAN1&lt;br /&gt;
 subnet 10.0.0.0 255.255.255.0&lt;br /&gt;
!&lt;br /&gt;
object-group network LAN&lt;br /&gt;
 network-object 10.0.0.0 255.255.255.0&lt;br /&gt;
!&lt;br /&gt;
access-list TO-DMZ extended permit tcp any host 10.11.12.13 eq ssh &lt;br /&gt;
!&lt;br /&gt;
nat (outside,outside) source dynamic LAN interface&lt;br /&gt;
nat (outside,inside) source static LAN LAN&lt;br /&gt;
!&lt;br /&gt;
object network DMZ&lt;br /&gt;
 nat (dmz,outside) static interface service tcp smtp 4321 &lt;br /&gt;
object network LAN1&lt;br /&gt;
 nat (inside,outside) dynamic pat-pool interface&lt;br /&gt;
!&lt;br /&gt;
access-group TO-DMZ in interface outside&lt;br /&gt;
!&lt;br /&gt;
route outside 0.0.0.0 0.0.0.0 212.192.88.1 1 &lt;br /&gt;
!&lt;br /&gt;
crypto ipsec ikev1 transform-set TRANS_ESP_3DES_SHA esp-3des esp-sha-hmac &lt;br /&gt;
crypto ipsec ikev1 transform-set TRANS_ESP_3DES_SHA mode transport&lt;br /&gt;
!&lt;br /&gt;
crypto dynamic-map CM 65535 set ikev1 transform-set TRANS_ESP_3DES_SHA&lt;br /&gt;
crypto map OUTSIDE 65535 ipsec-isakmp dynamic CM&lt;br /&gt;
crypto map OUTSIDE interface outside&lt;br /&gt;
!&lt;br /&gt;
crypto isakmp identity address &lt;br /&gt;
crypto ikev1 enable outside&lt;br /&gt;
crypto ikev1 policy 10&lt;br /&gt;
 authentication pre-share&lt;br /&gt;
 encryption 3des&lt;br /&gt;
 hash sha&lt;br /&gt;
 group 2&lt;br /&gt;
 lifetime 86400&lt;br /&gt;
crypto ikev1 policy 65535&lt;br /&gt;
 authentication pre-share&lt;br /&gt;
 encryption 3des&lt;br /&gt;
 hash sha&lt;br /&gt;
 group 2&lt;br /&gt;
 lifetime 86400&lt;br /&gt;
!&lt;br /&gt;
group-policy DefaultRAGroup internal&lt;br /&gt;
group-policy DefaultRAGroup attributes&lt;br /&gt;
 dns-server value 212.192.64.2&lt;br /&gt;
 vpn-tunnel-protocol ikev1 l2tp-ipsec&lt;br /&gt;
! &lt;br /&gt;
username cisco password cisco mschap&lt;br /&gt;
!&lt;br /&gt;
tunnel-group DefaultRAGroup general-attributes&lt;br /&gt;
 address-pool net10&lt;br /&gt;
 default-group-policy DefaultRAGroup&lt;br /&gt;
tunnel-group DefaultRAGroup ipsec-attributes&lt;br /&gt;
 ikev1 pre-shared-key 11111&lt;br /&gt;
tunnel-group DefaultRAGroup ppp-attributes&lt;br /&gt;
 no authentication chap&lt;br /&gt;
 authentication ms-chap-v2&lt;br /&gt;
!&lt;br /&gt;
policy-map global_policy&lt;br /&gt;
 class inspection_default&lt;br /&gt;
  inspect icmp &lt;br /&gt;
!&lt;br /&gt;
: end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
[[категория:Лекции]] [[категория:Сети]] [[категория:Cisco]] [[категория:VPN]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=RTBH_%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D1%8B_%D0%BE%D1%82_DDoS&amp;diff=431</id>
		<title>RTBH фильтрация для защиты от DDoS</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=RTBH_%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D1%8B_%D0%BE%D1%82_DDoS&amp;diff=431"/>
				<updated>2018-04-02T04:25:56Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* d/RTBH - scope-to-community trigger */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== REMOTELY TRIGGERED BLACK HOLE ==&lt;br /&gt;
===d/RTBH===&lt;br /&gt;
&lt;br /&gt;
===s/RTBH - community-метод ===&lt;br /&gt;
===s/RTBH - Next-Hop-метод ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все роутеры в одной AS.&lt;br /&gt;
Добавляем триггер-маршрут на один роутер (триггер) - маршрут прилетает на все остальные.&lt;br /&gt;
&lt;br /&gt;
D/RTBH - без URPF&lt;br /&gt;
&lt;br /&gt;
S/RTBH - с URPF-loose на внешнем интерфейсе (не работает RTBH на Connected-сеть)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
boot system flash:c2801-adventerprisek9-mz.124-25d.bin&lt;br /&gt;
&lt;br /&gt;
interface Null0&lt;br /&gt;
 no ip unreachables&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0&lt;br /&gt;
 ip address 212.192.88.150 255.255.255.0&lt;br /&gt;
 ip verify unicast source reachable-via any allow-default ! НЕ РАБОТАЕТ на Directly-Attached host&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
 ip address 10.111.0.1 255.255.255.0&lt;br /&gt;
 ip verify unicast source reachable-via rx&lt;br /&gt;
!&lt;br /&gt;
        &lt;br /&gt;
router bgp 65150&lt;br /&gt;
 redistribute static route-map RTBH-trigger&lt;br /&gt;
 neighbor 212.192.88.151 remote-as 65150&lt;br /&gt;
 neighbor 212.192.88.152 remote-as 65150&lt;br /&gt;
!         &lt;br /&gt;
ip route 192.0.2.1 255.255.255.255 Null0    ! RTBH-next-hop&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 212.192.88.1&lt;br /&gt;
!         &lt;br /&gt;
route-map RTBH-trigger permit 10&lt;br /&gt;
 match tag 6666&lt;br /&gt;
 set local-preference 200&lt;br /&gt;
 set origin igp&lt;br /&gt;
 set community no-export&lt;br /&gt;
 set ip next-hop 192.0.2.1&lt;br /&gt;
!&lt;br /&gt;
route-map RTBH-trigger deny 20&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trigger:&lt;br /&gt;
&lt;br /&gt;
ip route ATTACKER-IP 255.255.255.255 Null0 tag 6666&lt;br /&gt;
&lt;br /&gt;
===d/RTBH - scope-to-community trigger ===&lt;br /&gt;
Частичный конфиг.&lt;br /&gt;
&lt;br /&gt;
Триггер - добавить /32 маршрут типа blackhole c route scope == 166.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
# by RouterOS 6.41.3&lt;br /&gt;
/interface bridge&lt;br /&gt;
add fast-forward=no name=bridge-null&lt;br /&gt;
# example trigger&lt;br /&gt;
/ip route&lt;br /&gt;
add distance=1 dst-address=8.8.8.8/32 type=blackhole&lt;br /&gt;
# example peer with filters&lt;br /&gt;
/routing bgp peer&lt;br /&gt;
add in-filter=rtbh-in name=peer1 out-filter=rtbh-out remote-address=212.192.88.154 remote-as=65015 ttl=default&lt;br /&gt;
# фильтр на вход - по коммьюнити 65000:6666 - принимать маршрут и ставить тип blackhole&lt;br /&gt;
/routing filter&lt;br /&gt;
add action=accept bgp-communities=65000:6666 chain=rtbh-in prefix-length=32 set-type=blackhole&lt;br /&gt;
# на выход - по route scope == 166 ставить коммьюнити 0:6666&lt;br /&gt;
add action=accept chain=rtbh-out prefix-length=32 scope=166 set-bgp-communities=0:6666&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] [[категория:Сети]] [[категория:Cisco]] [[категория:MikroTik]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=RTBH_%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D1%8B_%D0%BE%D1%82_DDoS&amp;diff=430</id>
		<title>RTBH фильтрация для защиты от DDoS</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=RTBH_%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D1%8B_%D0%BE%D1%82_DDoS&amp;diff=430"/>
				<updated>2018-04-02T04:18:12Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* s/RTBH - Next-Hop-метод */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== REMOTELY TRIGGERED BLACK HOLE ==&lt;br /&gt;
===d/RTBH===&lt;br /&gt;
&lt;br /&gt;
===s/RTBH - community-метод ===&lt;br /&gt;
===s/RTBH - Next-Hop-метод ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все роутеры в одной AS.&lt;br /&gt;
Добавляем триггер-маршрут на один роутер (триггер) - маршрут прилетает на все остальные.&lt;br /&gt;
&lt;br /&gt;
D/RTBH - без URPF&lt;br /&gt;
&lt;br /&gt;
S/RTBH - с URPF-loose на внешнем интерфейсе (не работает RTBH на Connected-сеть)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
boot system flash:c2801-adventerprisek9-mz.124-25d.bin&lt;br /&gt;
&lt;br /&gt;
interface Null0&lt;br /&gt;
 no ip unreachables&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0&lt;br /&gt;
 ip address 212.192.88.150 255.255.255.0&lt;br /&gt;
 ip verify unicast source reachable-via any allow-default ! НЕ РАБОТАЕТ на Directly-Attached host&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
 ip address 10.111.0.1 255.255.255.0&lt;br /&gt;
 ip verify unicast source reachable-via rx&lt;br /&gt;
!&lt;br /&gt;
        &lt;br /&gt;
router bgp 65150&lt;br /&gt;
 redistribute static route-map RTBH-trigger&lt;br /&gt;
 neighbor 212.192.88.151 remote-as 65150&lt;br /&gt;
 neighbor 212.192.88.152 remote-as 65150&lt;br /&gt;
!         &lt;br /&gt;
ip route 192.0.2.1 255.255.255.255 Null0    ! RTBH-next-hop&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 212.192.88.1&lt;br /&gt;
!         &lt;br /&gt;
route-map RTBH-trigger permit 10&lt;br /&gt;
 match tag 6666&lt;br /&gt;
 set local-preference 200&lt;br /&gt;
 set origin igp&lt;br /&gt;
 set community no-export&lt;br /&gt;
 set ip next-hop 192.0.2.1&lt;br /&gt;
!&lt;br /&gt;
route-map RTBH-trigger deny 20&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trigger:&lt;br /&gt;
&lt;br /&gt;
ip route ATTACKER-IP 255.255.255.255 Null0 tag 6666&lt;br /&gt;
&lt;br /&gt;
===d/RTBH - scope-to-community trigger ===&lt;br /&gt;
Частичный конфиг.&lt;br /&gt;
&lt;br /&gt;
Триггер - добавить /32 маршрут типа blackhole c route scope == 166.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
# by RouterOS 6.41.3&lt;br /&gt;
/interface bridge&lt;br /&gt;
add fast-forward=no name=bridge-null&lt;br /&gt;
# example trigger&lt;br /&gt;
/ip route&lt;br /&gt;
add distance=1 dst-address=8.8.8.8/32 type=blackhole&lt;br /&gt;
# example peer with filters&lt;br /&gt;
/routing bgp peer&lt;br /&gt;
add in-filter=rtbh-in name=peer1 out-filter=rtbh-out remote-address=212.192.88.154 remote-as=65015 ttl=default&lt;br /&gt;
# фильтр на вход - по коммьюнити 0:6666 - принимать маршрут и ставить тип blackhole&lt;br /&gt;
/routing filter&lt;br /&gt;
add action=accept bgp-communities=0:6666 chain=rtbh-in prefix-length=32 set-type=blackhole&lt;br /&gt;
# на выход - по route scope == 166 ставить коммьюнити 0:6666&lt;br /&gt;
add action=accept chain=rtbh-out prefix-length=32 scope=166 set-bgp-communities=0:6666&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] [[категория:Сети]] [[категория:Cisco]] [[категория:MikroTik]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=HTTPS_%D0%BD%D0%B0_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5_Apache2_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D0%B5)&amp;diff=426</id>
		<title>HTTPS на примере Apache2 (методическое пособие)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=HTTPS_%D0%BD%D0%B0_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5_Apache2_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D0%B5)&amp;diff=426"/>
				<updated>2018-03-06T06:11:54Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* SSL сертификат */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= HTTPS =&lt;br /&gt;
== PKI ==&lt;br /&gt;
&lt;br /&gt;
Сертификат сервера должен быть выдан Центром Сертификации, которому доверяет браузер. Браузер доверяет ЦС сертификаты которых хранятся в системном хранилище.&lt;br /&gt;
&lt;br /&gt;
При использовании самоподписанных сертификатов, корневые сертификаты ставятся на компьютеры клиентов вручную (или с помощью груповой политики).&lt;br /&gt;
&lt;br /&gt;
Крупные коммерческие ЦС, продающие сертификаты, распространяют свои корневые сертификаты с обновлениями браузеров и операционных систем.&lt;br /&gt;
&lt;br /&gt;
== TLS/SSL ==&lt;br /&gt;
HTTPS это протокол HTTP используемый поверх шифрованного канала TLS или SSL. Стандартный порт 443.&lt;br /&gt;
&lt;br /&gt;
Использование TLS канала позволяет защитить передаваемые данные шифрованием. Использование сертификата сервера позволяет клиентам быть уверенными в аутентичности сайта.&lt;br /&gt;
&lt;br /&gt;
= SSL сертификат =&lt;br /&gt;
&lt;br /&gt;
Для протокола SSL на стороне сервера нам требуется сертификат X.509 на конкретное доменное имя и соответствующий закрытый ключ.&lt;br /&gt;
Доменное имя должно быть указано в поле Subject сертификата в графе CN. Для указания множества имен используется поле subjectAltName.&lt;br /&gt;
Имя домена должно указываться в том виде, в каком оно используется в ссылках на сайт. В нашем примере это будет доменное имя &amp;quot;www.model.local&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Для внутрикорпоративного использования, в простейшем случае, нам потребуется самостоятельно создать сертификат для доменного имени.&lt;br /&gt;
&lt;br /&gt;
Если сертификатов требуется несколько - разумно создать Удостоверяющий Центр, сгенерировать корневой сертификат и им подписывать сертификаты сайтов. На компьютеры клиентов придется устанавливать корневой сертификат.&lt;br /&gt;
&lt;br /&gt;
Если сертификат требуется один - можно создать самоподписанный сертификат для сайта сразу. На компьютеры клиентов придется устанавливать этот сертификат.&lt;br /&gt;
&lt;br /&gt;
Создаем простой Самоподписанный Сертификат и ключ для доменного имени www.model.local со сроком действия 1024 дня с ключом RSA 2048 бит. Сертификат будет подписан алгоритмом SHA512/256.&lt;br /&gt;
&lt;br /&gt;
Воспользуемся пакетом openssl. Часть параметров указывается в командной строке, часть в режиме диалога, расширения сертификата описаны в файле ./cert.config.&lt;br /&gt;
&lt;br /&gt;
Отредактируйте файл cert.config в соответствии с требуемыми параметрами сертификата. Пример:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code C&amp;gt;&lt;br /&gt;
[ req ]&lt;br /&gt;
default_bits        = 2048&lt;br /&gt;
distinguished_name  = subject&lt;br /&gt;
#req_extensions      = req_ext&lt;br /&gt;
x509_extensions     = x509_ext&lt;br /&gt;
string_mask         = utf8only&lt;br /&gt;
&lt;br /&gt;
[ subject ]&lt;br /&gt;
countryName                     = Country Code&lt;br /&gt;
countryName_default             = RU&lt;br /&gt;
stateOrProvinceName             = State&lt;br /&gt;
stateOrProvinceName_default     = Permski Kray&lt;br /&gt;
localityName                    = City&lt;br /&gt;
localityName_default            = Perm&lt;br /&gt;
organizationName                = Organization&lt;br /&gt;
organizationName_default        = PSU&lt;br /&gt;
&lt;br /&gt;
commonName                  = Common Name&lt;br /&gt;
commonName_default          = PSU server&lt;br /&gt;
&lt;br /&gt;
[ x509_ext ]&lt;br /&gt;
subjectKeyIdentifier        = hash&lt;br /&gt;
authorityKeyIdentifier  = keyid,issuer&lt;br /&gt;
&lt;br /&gt;
#   RSA Key transport = keyEncipherment = non-ephemeral&lt;br /&gt;
basicConstraints        = CA:FALSE&lt;br /&gt;
keyUsage            = digitalSignature, keyEncipherment&lt;br /&gt;
subjectAltName          = @alternate_names&lt;br /&gt;
nsComment           = &amp;quot;PSU Generated Certificate&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[ alternate_names ]&lt;br /&gt;
&lt;br /&gt;
DNS.1       = site-domain-name.ru&lt;br /&gt;
DNS.2       = www.site-domain-name.ru&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Обратите внимание на то, что DNS имя сервера указывается в расширении alternate_names.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Создаем сертификат командой openssl с параметрами, ссылаясь на файл конфигурации:&lt;br /&gt;
&amp;lt;code C&amp;gt;&lt;br /&gt;
root@model-net-ctrl-1:~/ssltest# openssl req -x509 -nodes -days 1024 -newkey rsa:2048 -sha512  -config cert.config -keyout web_key.pem -out web_cert.pem&lt;br /&gt;
Generating a 2048 bit RSA private key&lt;br /&gt;
writing new private key to 'web_key.pem'&lt;br /&gt;
Country Name (2 letter code) [AU]:RU&lt;br /&gt;
State or Province Name (full name) [Some-State]:Permsky Krai&lt;br /&gt;
Locality Name (eg, city) []:Perm&lt;br /&gt;
Organization Name (eg, company) [Internet Widgits Pty Ltd]:PSU&lt;br /&gt;
Common Name (e.g. server FQDN or YOUR name) []: PSU server site-domain-name.ru&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В текущем каталоге будут созданы файл сертификат и файл ключ. На файл ключа необходимо поставить доступ только на чтение и только пользователю, который будет шифровать.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
-rw-r--r-- 1 root root 1424 Feb 26 12:23 web_cert.pem&lt;br /&gt;
-rw-r--r-- 1 root root 1704 Feb 26 12:23 web_key.pem&lt;br /&gt;
root@model-net-ctrl-1:~/ssltest# chmod 0400 web_key.pem&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Проверить параметры сертификата можно следующей командой&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
root@model-net-ctrl-1:~/ssltest# openssl x509 -in ./web_cert.pem -noout -text&lt;br /&gt;
Certificate:&lt;br /&gt;
    Data:&lt;br /&gt;
        Version: 3 (0x2)&lt;br /&gt;
        Serial Number: 9676869248984892495 (0x864b254fcba5444f)&lt;br /&gt;
    Signature Algorithm: sha1WithRSAEncryption&lt;br /&gt;
        Issuer: C=RU, ST=Permsky Krai, L=Perm, O=PSNRU, OU=KOIBAS, CN=www.model.local/emailAddress=ru@ru.ru&lt;br /&gt;
        Validity&lt;br /&gt;
            Not Before: Feb 26 06:49:43 2014 GMT&lt;br /&gt;
            Not After : Dec 16 06:49:43 2016 GMT&lt;br /&gt;
        Subject: C=RU, ST=Permsky Krai, L=Perm, O=PSNRU, OU=KOIBAS, CN=www.model.local/emailAddress=ru@ru.ru&lt;br /&gt;
        Subject Public Key Info:&lt;br /&gt;
            Public Key Algorithm: rsaEncryption&lt;br /&gt;
                Public-Key: (2048 bit)&lt;br /&gt;
                Modulus:&lt;br /&gt;
                    00:b6:39:4e:10:41:b4:e8:b1:17:87:e0:3f:61:3f:&lt;br /&gt;
        X509v3 extensions:&lt;br /&gt;
            X509v3 Subject Key Identifier:&lt;br /&gt;
                FC:42:EF:CE:C0:B8:33:19:1A:AE:48:12:76:AD:E8:4D:75:A2:B0:2D&lt;br /&gt;
            X509v3 Authority Key Identifier:&lt;br /&gt;
                keyid:FC:42:EF:CE:C0:B8:33:19:1A:AE:48:12:76:AD:E8:4D:75:A2:B0:2D&lt;br /&gt;
            X509v3 Basic Constraints:&lt;br /&gt;
                CA:TRUE&lt;br /&gt;
    Signature Algorithm: sha1WithRSAEncryption&lt;br /&gt;
         6f:19:9e:f1:11:bc:fe:2d:3a:05:01:a3:5c:e3:97:03:e3:e7:&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Как видим, subject и issuer совпадают, поле CA=TRUE, значит это самоподписанный корневой сертификат.&lt;br /&gt;
&lt;br /&gt;
= Apache2 =&lt;br /&gt;
&lt;br /&gt;
По-умолчанию шаблон конфигурации сайта для SSL лежит в /etc/apache2/sites-available/default-ssl.&lt;br /&gt;
Корневой каталог сайта /var/www.&lt;br /&gt;
&lt;br /&gt;
Для запуска SSL необходимо включить соответствующий модуль.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь в конфигурации сайта (/etc/apache2/sites-available/default-ssl) указываем путь к сертификату и закрытому ключу&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
        SSLCertificateFile    /etc/apache2/ssltest/web_cert.pem&lt;br /&gt;
        SSLCertificateKeyFile /etc/apache2/ssltest/web_key.pem&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Включаем наш сайт, проверяем конфиг и перезапускаем Apache2.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
a2ensite default-ssl&lt;br /&gt;
apache2ctl configtest&lt;br /&gt;
apache2ctl restart&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если все сделано правильно, новый сайт будет доступен по адресу https://www.model.local.&lt;br /&gt;
&lt;br /&gt;
= Настройка браузера =&lt;br /&gt;
&lt;br /&gt;
При открытии сайта браузер будет выдавать сообщение об ошибке сертификата, т.к. издатель сертификата не является доверенным.&lt;br /&gt;
&lt;br /&gt;
Чтобы браузер стал доверять нашему сертификату, необходимо его поместить в хранилище доверенных.&lt;br /&gt;
&lt;br /&gt;
Для этого надо открыть сайт. В предупреждении о сертификате выбрать подробные сведения. Открывшийся сертификат сохранить в файл на диске. Браузер необходимо закрыть.&lt;br /&gt;
&lt;br /&gt;
Запустить файл с сертификатом с диска. При помощи Мастера импорта сертификатов поместить сертификат в хранилище Доверенные Корневые ЦС.&lt;br /&gt;
&lt;br /&gt;
Заново открыть сайт в браузере. На этот раз сайт должен открыться без предупреждений по защищенному каналу.&lt;br /&gt;
&lt;br /&gt;
Следите за тем, чтобы на защищаемом сайте все ссылки имели вид https://&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:SSL/TLS]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=HTTPS_%D0%BD%D0%B0_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5_Apache2_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D0%B5)&amp;diff=425</id>
		<title>HTTPS на примере Apache2 (методическое пособие)</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=HTTPS_%D0%BD%D0%B0_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5_Apache2_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B8%D0%B5)&amp;diff=425"/>
				<updated>2018-03-06T03:50:41Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* SSL сертификат */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= HTTPS =&lt;br /&gt;
== PKI ==&lt;br /&gt;
&lt;br /&gt;
Сертификат сервера должен быть выдан Центром Сертификации, которому доверяет браузер. Браузер доверяет ЦС сертификаты которых хранятся в системном хранилище.&lt;br /&gt;
&lt;br /&gt;
При использовании самоподписанных сертификатов, корневые сертификаты ставятся на компьютеры клиентов вручную (или с помощью груповой политики).&lt;br /&gt;
&lt;br /&gt;
Крупные коммерческие ЦС, продающие сертификаты, распространяют свои корневые сертификаты с обновлениями браузеров и операционных систем.&lt;br /&gt;
&lt;br /&gt;
== TLS/SSL ==&lt;br /&gt;
HTTPS это протокол HTTP используемый поверх шифрованного канала TLS или SSL. Стандартный порт 443.&lt;br /&gt;
&lt;br /&gt;
Использование TLS канала позволяет защитить передаваемые данные шифрованием. Использование сертификата сервера позволяет клиентам быть уверенными в аутентичности сайта.&lt;br /&gt;
&lt;br /&gt;
= SSL сертификат =&lt;br /&gt;
&lt;br /&gt;
Для протокола SSL на стороне сервера нам требуется сертификат X.509 на конкретное доменное имя и соответствующий закрытый ключ.&lt;br /&gt;
Доменное имя должно быть указано в поле Subject сертификата в графе CN. Для указания множества имен используется поле subjectAltName.&lt;br /&gt;
Имя домена должно указываться в том виде, в каком оно используется в ссылках на сайт. В нашем примере это будет доменное имя &amp;quot;www.model.local&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Для внутрикорпоративного использования, в простейшем случае, нам потребуется самостоятельно создать сертификат для доменного имени.&lt;br /&gt;
&lt;br /&gt;
Если сертификатов требуется несколько - разумно создать Удостоверяющий Центр, сгенерировать корневой сертификат и им подписывать сертификаты сайтов. На компьютеры клиентов придется устанавливать корневой сертификат.&lt;br /&gt;
&lt;br /&gt;
Если сертификат требуется один - можно создать самоподписанный сертификат для сайта сразу. На компьютеры клиентов придется устанавливать этот сертификат.&lt;br /&gt;
&lt;br /&gt;
Создаем простой Самоподписанный Сертификат и ключ для доменного имени www.model.local со сроком действия 1024 дня с ключом RSA 2048 бит. Сертификат будет подписан алгоритмом SHA512/256.&lt;br /&gt;
&lt;br /&gt;
Воспользуемся пакетом openssl. Часть параметров указывается в командной строке, часть в режиме диалога, прочие параметры заданы в /etc/ssl/openssl.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code C&amp;gt;&lt;br /&gt;
root@model-net-ctrl-1:~/ssltest# openssl req -x509 -nodes -days 1024 -newkey rsa:2048 -sha512 -keyout web_key.pem -out web_cert.pem&lt;br /&gt;
Generating a 2048 bit RSA private key&lt;br /&gt;
writing new private key to 'web_key.pem'&lt;br /&gt;
Country Name (2 letter code) [AU]:RU&lt;br /&gt;
State or Province Name (full name) [Some-State]:Permsky Krai&lt;br /&gt;
Locality Name (eg, city) []:Perm&lt;br /&gt;
Organization Name (eg, company) [Internet Widgits Pty Ltd]:PSNRU&lt;br /&gt;
Organizational Unit Name (eg, section) []:KOIBAS&lt;br /&gt;
Common Name (e.g. server FQDN or YOUR name) []:www.model.local&lt;br /&gt;
Email Address []:ru@model.local&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В текущем каталоге будут созданы файл сертификат и файл ключ. На файл ключа необходимо поставить доступ только на чтение и только пользователю, который будет шифровать.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
-rw-r--r-- 1 root root 1424 Feb 26 12:23 web_cert.pem&lt;br /&gt;
-rw-r--r-- 1 root root 1704 Feb 26 12:23 web_key.pem&lt;br /&gt;
root@model-net-ctrl-1:~/ssltest# chmod 0400 web_key.pem&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Проверить параметры сертификата можно следующей командой&lt;br /&gt;
&amp;lt;code bash&amp;gt;&lt;br /&gt;
root@model-net-ctrl-1:~/ssltest# openssl x509 -in ./web_cert.pem -noout -text&lt;br /&gt;
Certificate:&lt;br /&gt;
    Data:&lt;br /&gt;
        Version: 3 (0x2)&lt;br /&gt;
        Serial Number: 9676869248984892495 (0x864b254fcba5444f)&lt;br /&gt;
    Signature Algorithm: sha1WithRSAEncryption&lt;br /&gt;
        Issuer: C=RU, ST=Permsky Krai, L=Perm, O=PSNRU, OU=KOIBAS, CN=www.model.local/emailAddress=ru@ru.ru&lt;br /&gt;
        Validity&lt;br /&gt;
            Not Before: Feb 26 06:49:43 2014 GMT&lt;br /&gt;
            Not After : Dec 16 06:49:43 2016 GMT&lt;br /&gt;
        Subject: C=RU, ST=Permsky Krai, L=Perm, O=PSNRU, OU=KOIBAS, CN=www.model.local/emailAddress=ru@ru.ru&lt;br /&gt;
        Subject Public Key Info:&lt;br /&gt;
            Public Key Algorithm: rsaEncryption&lt;br /&gt;
                Public-Key: (2048 bit)&lt;br /&gt;
                Modulus:&lt;br /&gt;
                    00:b6:39:4e:10:41:b4:e8:b1:17:87:e0:3f:61:3f:&lt;br /&gt;
        X509v3 extensions:&lt;br /&gt;
            X509v3 Subject Key Identifier:&lt;br /&gt;
                FC:42:EF:CE:C0:B8:33:19:1A:AE:48:12:76:AD:E8:4D:75:A2:B0:2D&lt;br /&gt;
            X509v3 Authority Key Identifier:&lt;br /&gt;
                keyid:FC:42:EF:CE:C0:B8:33:19:1A:AE:48:12:76:AD:E8:4D:75:A2:B0:2D&lt;br /&gt;
            X509v3 Basic Constraints:&lt;br /&gt;
                CA:TRUE&lt;br /&gt;
    Signature Algorithm: sha1WithRSAEncryption&lt;br /&gt;
         6f:19:9e:f1:11:bc:fe:2d:3a:05:01:a3:5c:e3:97:03:e3:e7:&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Как видим, subject и issuer совпадают, поле CA=TRUE, значит это самоподписанный корневой сертификат.&lt;br /&gt;
&lt;br /&gt;
= Apache2 =&lt;br /&gt;
&lt;br /&gt;
По-умолчанию шаблон конфигурации сайта для SSL лежит в /etc/apache2/sites-available/default-ssl.&lt;br /&gt;
Корневой каталог сайта /var/www.&lt;br /&gt;
&lt;br /&gt;
Для запуска SSL необходимо включить соответствующий модуль.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь в конфигурации сайта (/etc/apache2/sites-available/default-ssl) указываем путь к сертификату и закрытому ключу&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
        SSLCertificateFile    /etc/apache2/ssltest/web_cert.pem&lt;br /&gt;
        SSLCertificateKeyFile /etc/apache2/ssltest/web_key.pem&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Включаем наш сайт, проверяем конфиг и перезапускаем Apache2.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
a2ensite default-ssl&lt;br /&gt;
apache2ctl configtest&lt;br /&gt;
apache2ctl restart&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если все сделано правильно, новый сайт будет доступен по адресу https://www.model.local.&lt;br /&gt;
&lt;br /&gt;
= Настройка браузера =&lt;br /&gt;
&lt;br /&gt;
При открытии сайта браузер будет выдавать сообщение об ошибке сертификата, т.к. издатель сертификата не является доверенным.&lt;br /&gt;
&lt;br /&gt;
Чтобы браузер стал доверять нашему сертификату, необходимо его поместить в хранилище доверенных.&lt;br /&gt;
&lt;br /&gt;
Для этого надо открыть сайт. В предупреждении о сертификате выбрать подробные сведения. Открывшийся сертификат сохранить в файл на диске. Браузер необходимо закрыть.&lt;br /&gt;
&lt;br /&gt;
Запустить файл с сертификатом с диска. При помощи Мастера импорта сертификатов поместить сертификат в хранилище Доверенные Корневые ЦС.&lt;br /&gt;
&lt;br /&gt;
Заново открыть сайт в браузере. На этот раз сайт должен открыться без предупреждений по защищенному каналу.&lt;br /&gt;
&lt;br /&gt;
Следите за тем, чтобы на защищаемом сайте все ссылки имели вид https://&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:SSL/TLS]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=802.1x&amp;diff=423</id>
		<title>802.1x</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=802.1x&amp;diff=423"/>
				<updated>2017-05-16T08:40:57Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Freeradius */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Контроль доступа IEEE 802.1x на уровне порта=&lt;br /&gt;
&lt;br /&gt;
==Freeradius==&lt;br /&gt;
Freeradius:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attr 11  -Filter-Id (string) := &amp;lt;ACL-NAME&amp;gt;.in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Username Cleartext-Password := “pass”&lt;br /&gt;
	Filter-Id = “&amp;lt;ACL-NAME&amp;gt;.in&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Cisco: ip access-list ext &amp;lt;ACL-NAME&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Коммутатор==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!   c2960 12.2(55)SE10&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Включить управление доступом AAA&lt;br /&gt;
!&lt;br /&gt;
aaa new-model&lt;br /&gt;
!&lt;br /&gt;
! По-умолчанию проверять подлинность клиентов 802.1x на группе радиус-серверов&lt;br /&gt;
!&lt;br /&gt;
aaa authentication dot1x default group radius&lt;br /&gt;
!&lt;br /&gt;
! По-умолчанию назначать на портах настройки сети полученные с группы радиус-серверов&lt;br /&gt;
!&lt;br /&gt;
aaa authorization network default group radius &lt;br /&gt;
!&lt;br /&gt;
! В пакетах учета не указывать пустое имя пользователя&lt;br /&gt;
!&lt;br /&gt;
aaa accounting suppress null-username&lt;br /&gt;
!&lt;br /&gt;
! Посылать пакеты учета сразу, как только имеется новая информация по клиенту,&lt;br /&gt;
! и в дальнейшем каждую 1 минуту обновлять&lt;br /&gt;
!&lt;br /&gt;
aaa accounting update newinfo periodic 1&lt;br /&gt;
!&lt;br /&gt;
! По-умолчанию вести учет по состоянию клиентов,&lt;br /&gt;
! уведомлять о начале и конце сессии группу радиус серверов&lt;br /&gt;
!&lt;br /&gt;
aaa accounting dot1x default start-stop group radius&lt;br /&gt;
!&lt;br /&gt;
! Исключить из DHCP пулов адреса шлюзов, и адрес RADIUS-сервера&lt;br /&gt;
!&lt;br /&gt;
ip dhcp excluded-address 192.168.0.1&lt;br /&gt;
ip dhcp excluded-address 172.16.0.1&lt;br /&gt;
ip dhcp excluded-address 10.0.0.1&lt;br /&gt;
ip dhcp excluded-address 10.0.0.100&lt;br /&gt;
!&lt;br /&gt;
! Создать пулы DHCP адресов для трех VLAN&lt;br /&gt;
! Админский, пользовательский, гостевой&lt;br /&gt;
! Время аренды адреса - 0 дней, 0 часов, 5 минут&lt;br /&gt;
!&lt;br /&gt;
ip dhcp pool guest&lt;br /&gt;
   network 192.168.0.0 255.255.255.0&lt;br /&gt;
   lease 0 0 5&lt;br /&gt;
!&lt;br /&gt;
ip dhcp pool user&lt;br /&gt;
   network 172.16.0.0 255.255.255.0&lt;br /&gt;
   lease 0 0 5&lt;br /&gt;
!&lt;br /&gt;
ip dhcp pool mgmt&lt;br /&gt;
   network 10.0.0.0 255.255.255.0&lt;br /&gt;
   lease 0 0 5&lt;br /&gt;
!&lt;br /&gt;
! Настроить DHCP снупинг на влан 10,172,192&lt;br /&gt;
! Включить снупинг для контроля выдачи адресов&lt;br /&gt;
!&lt;br /&gt;
ip dhcp snooping vlan 10,172,192&lt;br /&gt;
ip dhcp snooping&lt;br /&gt;
!&lt;br /&gt;
! Включить 802.1x&lt;br /&gt;
!&lt;br /&gt;
dot1x system-auth-control&lt;br /&gt;
!&lt;br /&gt;
! Влючить быстрый режим Spanning-tree&lt;br /&gt;
!&lt;br /&gt;
spanning-tree mode rapid-pvst&lt;br /&gt;
!&lt;br /&gt;
! Создать три VLAN'а&lt;br /&gt;
! Админский, пользовательский, гостевой&lt;br /&gt;
!&lt;br /&gt;
vlan 10&lt;br /&gt;
 name Admins&lt;br /&gt;
!&lt;br /&gt;
vlan 172&lt;br /&gt;
 name Users&lt;br /&gt;
!&lt;br /&gt;
vlan 192&lt;br /&gt;
 name Guests&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Для всех пользовательских портов&lt;br /&gt;
! настроить 802.1x&lt;br /&gt;
!&lt;br /&gt;
interface range FastEthernet0/1 - 48&lt;br /&gt;
 ! &lt;br /&gt;
 ! включить влан доступа 172&lt;br /&gt;
 ! в этот влан попадут зарегистрированные пользователи&lt;br /&gt;
 !&lt;br /&gt;
 switchport access vlan 172&lt;br /&gt;
 switchport mode access&lt;br /&gt;
 !&lt;br /&gt;
 ! включить контроль подмены мак-адресов&lt;br /&gt;
 !&lt;br /&gt;
 switchport port-security&lt;br /&gt;
 !&lt;br /&gt;
 ! в случае неуспешной авторизации или отсутствия EAP отклика&lt;br /&gt;
 ! от клиента, поместить порт в гостевай влан - 192&lt;br /&gt;
 !&lt;br /&gt;
 authentication event fail action authorize vlan 192&lt;br /&gt;
 authentication event no-response action authorize vlan 192&lt;br /&gt;
 !&lt;br /&gt;
 ! разрешить использовать помимо 802.1x&lt;br /&gt;
 ! еще и обход авторизации по MAC-уровню&lt;br /&gt;
 ! (и, в частности, гостевой влан)&lt;br /&gt;
 !&lt;br /&gt;
 authentication order dot1x mab&lt;br /&gt;
 !&lt;br /&gt;
 ! запустить автоматическую аутентификацию на порту&lt;br /&gt;
 !&lt;br /&gt;
 authentication port-control auto&lt;br /&gt;
 ! &lt;br /&gt;
 ! при попытке неавторизованного доступа (подмена мака)&lt;br /&gt;
 ! отбрасывать пакеты&lt;br /&gt;
 !&lt;br /&gt;
 authentication violation protect&lt;br /&gt;
 !&lt;br /&gt;
 ! режим порта - аутентикатор, проверяющий&lt;br /&gt;
 ! &lt;br /&gt;
 dot1x pae authenticator&lt;br /&gt;
 !&lt;br /&gt;
 ! установить таймауты между попытками авторизовать клиента,&lt;br /&gt;
 ! ожидания отклика от клиента, передачи запросов, все на 15 секунд&lt;br /&gt;
 !&lt;br /&gt;
 dot1x timeout quiet-period 15&lt;br /&gt;
 dot1x timeout tx-period 15&lt;br /&gt;
 dot1x timeout supp-timeout 15&lt;br /&gt;
 !&lt;br /&gt;
 ! количество попыток проверить подлинность – 1, при неудаче, переходить к следующему&lt;br /&gt;
 !  методу  (обход по мак)&lt;br /&gt;
 !&lt;br /&gt;
 dot1x max-req 1&lt;br /&gt;
 dot1x max-reauth-req 1&lt;br /&gt;
 !&lt;br /&gt;
 ! включить быстрый STP на порту,&lt;br /&gt;
  ! для быстрого перехода к авторизации клиента&lt;br /&gt;
 !&lt;br /&gt;
 spanning-tree portfast&lt;br /&gt;
!&lt;br /&gt;
! на гигабитные порты назначить админский влан 10&lt;br /&gt;
! для доступа к радиус серверу&lt;br /&gt;
! &lt;br /&gt;
interface range GigabitEthernet0/1 - 2&lt;br /&gt;
 switchport access vlan 10&lt;br /&gt;
 switchport mode access&lt;br /&gt;
 spanning-tree portfast&lt;br /&gt;
!&lt;br /&gt;
! поднять три интерфейса для трех вланов,&lt;br /&gt;
! сети - Админская 10, Пользовательская - 172.16,&lt;br /&gt;
! гостевая - 192.168. &lt;br /&gt;
!&lt;br /&gt;
interface Vlan10&lt;br /&gt;
 descriptions Admin&lt;br /&gt;
 ip address 10.0.0.1 255.255.255.0&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Vlan172&lt;br /&gt;
 description User&lt;br /&gt;
 ip address 172.16.0.1 255.255.255.0&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Vlan192&lt;br /&gt;
 description Guest&lt;br /&gt;
 ip address 192.168.0.1 255.255.255.0&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
! назначить радиус-сервер 10.0.0.100&lt;br /&gt;
! порт аутентикации - 1645&lt;br /&gt;
! порт учета - 1646&lt;br /&gt;
! ключ шифрования - supersecret&lt;br /&gt;
!&lt;br /&gt;
radius-server host 10.0.0.100 auth-port 1645 acct-port 1646 key supersecret&lt;br /&gt;
!&lt;br /&gt;
! разрешить отправку и прием радиус атрибутов Vendor-Specific&lt;br /&gt;
!&lt;br /&gt;
radius-server vsa send accounting&lt;br /&gt;
radius-server vsa send authentication&lt;br /&gt;
!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:Безопасность на порту]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=802.1x&amp;diff=422</id>
		<title>802.1x</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=802.1x&amp;diff=422"/>
				<updated>2017-05-16T04:04:20Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Freeradius */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Контроль доступа IEEE 802.1x на уровне порта=&lt;br /&gt;
&lt;br /&gt;
==Freeradius==&lt;br /&gt;
Freeradius:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attr 11  -Filter-Id (string) := &amp;lt;ACL-NAME&amp;gt;.in&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Username Cleartext-Password := “pass”&lt;br /&gt;
	Filter-Id = “&amp;lt;ACL-NAME&amp;gt;.in&lt;br /&gt;
&lt;br /&gt;
Cisco: ip access-list ext &amp;lt;ACL-NAME&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Коммутатор==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!   c2960 12.2(55)SE10&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Включить управление доступом AAA&lt;br /&gt;
!&lt;br /&gt;
aaa new-model&lt;br /&gt;
!&lt;br /&gt;
! По-умолчанию проверять подлинность клиентов 802.1x на группе радиус-серверов&lt;br /&gt;
!&lt;br /&gt;
aaa authentication dot1x default group radius&lt;br /&gt;
!&lt;br /&gt;
! По-умолчанию назначать на портах настройки сети полученные с группы радиус-серверов&lt;br /&gt;
!&lt;br /&gt;
aaa authorization network default group radius &lt;br /&gt;
!&lt;br /&gt;
! В пакетах учета не указывать пустое имя пользователя&lt;br /&gt;
!&lt;br /&gt;
aaa accounting suppress null-username&lt;br /&gt;
!&lt;br /&gt;
! Посылать пакеты учета сразу, как только имеется новая информация по клиенту,&lt;br /&gt;
! и в дальнейшем каждую 1 минуту обновлять&lt;br /&gt;
!&lt;br /&gt;
aaa accounting update newinfo periodic 1&lt;br /&gt;
!&lt;br /&gt;
! По-умолчанию вести учет по состоянию клиентов,&lt;br /&gt;
! уведомлять о начале и конце сессии группу радиус серверов&lt;br /&gt;
!&lt;br /&gt;
aaa accounting dot1x default start-stop group radius&lt;br /&gt;
!&lt;br /&gt;
! Исключить из DHCP пулов адреса шлюзов, и адрес RADIUS-сервера&lt;br /&gt;
!&lt;br /&gt;
ip dhcp excluded-address 192.168.0.1&lt;br /&gt;
ip dhcp excluded-address 172.16.0.1&lt;br /&gt;
ip dhcp excluded-address 10.0.0.1&lt;br /&gt;
ip dhcp excluded-address 10.0.0.100&lt;br /&gt;
!&lt;br /&gt;
! Создать пулы DHCP адресов для трех VLAN&lt;br /&gt;
! Админский, пользовательский, гостевой&lt;br /&gt;
! Время аренды адреса - 0 дней, 0 часов, 5 минут&lt;br /&gt;
!&lt;br /&gt;
ip dhcp pool guest&lt;br /&gt;
   network 192.168.0.0 255.255.255.0&lt;br /&gt;
   lease 0 0 5&lt;br /&gt;
!&lt;br /&gt;
ip dhcp pool user&lt;br /&gt;
   network 172.16.0.0 255.255.255.0&lt;br /&gt;
   lease 0 0 5&lt;br /&gt;
!&lt;br /&gt;
ip dhcp pool mgmt&lt;br /&gt;
   network 10.0.0.0 255.255.255.0&lt;br /&gt;
   lease 0 0 5&lt;br /&gt;
!&lt;br /&gt;
! Настроить DHCP снупинг на влан 10,172,192&lt;br /&gt;
! Включить снупинг для контроля выдачи адресов&lt;br /&gt;
!&lt;br /&gt;
ip dhcp snooping vlan 10,172,192&lt;br /&gt;
ip dhcp snooping&lt;br /&gt;
!&lt;br /&gt;
! Включить 802.1x&lt;br /&gt;
!&lt;br /&gt;
dot1x system-auth-control&lt;br /&gt;
!&lt;br /&gt;
! Влючить быстрый режим Spanning-tree&lt;br /&gt;
!&lt;br /&gt;
spanning-tree mode rapid-pvst&lt;br /&gt;
!&lt;br /&gt;
! Создать три VLAN'а&lt;br /&gt;
! Админский, пользовательский, гостевой&lt;br /&gt;
!&lt;br /&gt;
vlan 10&lt;br /&gt;
 name Admins&lt;br /&gt;
!&lt;br /&gt;
vlan 172&lt;br /&gt;
 name Users&lt;br /&gt;
!&lt;br /&gt;
vlan 192&lt;br /&gt;
 name Guests&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Для всех пользовательских портов&lt;br /&gt;
! настроить 802.1x&lt;br /&gt;
!&lt;br /&gt;
interface range FastEthernet0/1 - 48&lt;br /&gt;
 ! &lt;br /&gt;
 ! включить влан доступа 172&lt;br /&gt;
 ! в этот влан попадут зарегистрированные пользователи&lt;br /&gt;
 !&lt;br /&gt;
 switchport access vlan 172&lt;br /&gt;
 switchport mode access&lt;br /&gt;
 !&lt;br /&gt;
 ! включить контроль подмены мак-адресов&lt;br /&gt;
 !&lt;br /&gt;
 switchport port-security&lt;br /&gt;
 !&lt;br /&gt;
 ! в случае неуспешной авторизации или отсутствия EAP отклика&lt;br /&gt;
 ! от клиента, поместить порт в гостевай влан - 192&lt;br /&gt;
 !&lt;br /&gt;
 authentication event fail action authorize vlan 192&lt;br /&gt;
 authentication event no-response action authorize vlan 192&lt;br /&gt;
 !&lt;br /&gt;
 ! разрешить использовать помимо 802.1x&lt;br /&gt;
 ! еще и обход авторизации по MAC-уровню&lt;br /&gt;
 ! (и, в частности, гостевой влан)&lt;br /&gt;
 !&lt;br /&gt;
 authentication order dot1x mab&lt;br /&gt;
 !&lt;br /&gt;
 ! запустить автоматическую аутентификацию на порту&lt;br /&gt;
 !&lt;br /&gt;
 authentication port-control auto&lt;br /&gt;
 ! &lt;br /&gt;
 ! при попытке неавторизованного доступа (подмена мака)&lt;br /&gt;
 ! отбрасывать пакеты&lt;br /&gt;
 !&lt;br /&gt;
 authentication violation protect&lt;br /&gt;
 !&lt;br /&gt;
 ! режим порта - аутентикатор, проверяющий&lt;br /&gt;
 ! &lt;br /&gt;
 dot1x pae authenticator&lt;br /&gt;
 !&lt;br /&gt;
 ! установить таймауты между попытками авторизовать клиента,&lt;br /&gt;
 ! ожидания отклика от клиента, передачи запросов, все на 15 секунд&lt;br /&gt;
 !&lt;br /&gt;
 dot1x timeout quiet-period 15&lt;br /&gt;
 dot1x timeout tx-period 15&lt;br /&gt;
 dot1x timeout supp-timeout 15&lt;br /&gt;
 !&lt;br /&gt;
 ! количество попыток проверить подлинность – 1, при неудаче, переходить к следующему&lt;br /&gt;
 !  методу  (обход по мак)&lt;br /&gt;
 !&lt;br /&gt;
 dot1x max-req 1&lt;br /&gt;
 dot1x max-reauth-req 1&lt;br /&gt;
 !&lt;br /&gt;
 ! включить быстрый STP на порту,&lt;br /&gt;
  ! для быстрого перехода к авторизации клиента&lt;br /&gt;
 !&lt;br /&gt;
 spanning-tree portfast&lt;br /&gt;
!&lt;br /&gt;
! на гигабитные порты назначить админский влан 10&lt;br /&gt;
! для доступа к радиус серверу&lt;br /&gt;
! &lt;br /&gt;
interface range GigabitEthernet0/1 - 2&lt;br /&gt;
 switchport access vlan 10&lt;br /&gt;
 switchport mode access&lt;br /&gt;
 spanning-tree portfast&lt;br /&gt;
!&lt;br /&gt;
! поднять три интерфейса для трех вланов,&lt;br /&gt;
! сети - Админская 10, Пользовательская - 172.16,&lt;br /&gt;
! гостевая - 192.168. &lt;br /&gt;
!&lt;br /&gt;
interface Vlan10&lt;br /&gt;
 descriptions Admin&lt;br /&gt;
 ip address 10.0.0.1 255.255.255.0&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Vlan172&lt;br /&gt;
 description User&lt;br /&gt;
 ip address 172.16.0.1 255.255.255.0&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Vlan192&lt;br /&gt;
 description Guest&lt;br /&gt;
 ip address 192.168.0.1 255.255.255.0&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
! назначить радиус-сервер 10.0.0.100&lt;br /&gt;
! порт аутентикации - 1645&lt;br /&gt;
! порт учета - 1646&lt;br /&gt;
! ключ шифрования - supersecret&lt;br /&gt;
!&lt;br /&gt;
radius-server host 10.0.0.100 auth-port 1645 acct-port 1646 key supersecret&lt;br /&gt;
!&lt;br /&gt;
! разрешить отправку и прием радиус атрибутов Vendor-Specific&lt;br /&gt;
!&lt;br /&gt;
radius-server vsa send accounting&lt;br /&gt;
radius-server vsa send authentication&lt;br /&gt;
!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:Безопасность на порту]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=802.1x&amp;diff=421</id>
		<title>802.1x</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=802.1x&amp;diff=421"/>
				<updated>2017-05-16T04:04:03Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Контроль доступа IEEE 802.1x на уровне порта */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Контроль доступа IEEE 802.1x на уровне порта=&lt;br /&gt;
&lt;br /&gt;
==Freeradius==&lt;br /&gt;
Freeradius:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Attr 11  -Filter-Id (string) := &amp;lt;ACL-NAME&amp;gt;.in&lt;br /&gt;
Username Cleartext-Password := “pass”&lt;br /&gt;
	Filter-Id = “&amp;lt;ACL-NAME&amp;gt;.in&lt;br /&gt;
&lt;br /&gt;
Cisco: ip access-list ext &amp;lt;ACL-NAME&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Коммутатор==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!   c2960 12.2(55)SE10&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Включить управление доступом AAA&lt;br /&gt;
!&lt;br /&gt;
aaa new-model&lt;br /&gt;
!&lt;br /&gt;
! По-умолчанию проверять подлинность клиентов 802.1x на группе радиус-серверов&lt;br /&gt;
!&lt;br /&gt;
aaa authentication dot1x default group radius&lt;br /&gt;
!&lt;br /&gt;
! По-умолчанию назначать на портах настройки сети полученные с группы радиус-серверов&lt;br /&gt;
!&lt;br /&gt;
aaa authorization network default group radius &lt;br /&gt;
!&lt;br /&gt;
! В пакетах учета не указывать пустое имя пользователя&lt;br /&gt;
!&lt;br /&gt;
aaa accounting suppress null-username&lt;br /&gt;
!&lt;br /&gt;
! Посылать пакеты учета сразу, как только имеется новая информация по клиенту,&lt;br /&gt;
! и в дальнейшем каждую 1 минуту обновлять&lt;br /&gt;
!&lt;br /&gt;
aaa accounting update newinfo periodic 1&lt;br /&gt;
!&lt;br /&gt;
! По-умолчанию вести учет по состоянию клиентов,&lt;br /&gt;
! уведомлять о начале и конце сессии группу радиус серверов&lt;br /&gt;
!&lt;br /&gt;
aaa accounting dot1x default start-stop group radius&lt;br /&gt;
!&lt;br /&gt;
! Исключить из DHCP пулов адреса шлюзов, и адрес RADIUS-сервера&lt;br /&gt;
!&lt;br /&gt;
ip dhcp excluded-address 192.168.0.1&lt;br /&gt;
ip dhcp excluded-address 172.16.0.1&lt;br /&gt;
ip dhcp excluded-address 10.0.0.1&lt;br /&gt;
ip dhcp excluded-address 10.0.0.100&lt;br /&gt;
!&lt;br /&gt;
! Создать пулы DHCP адресов для трех VLAN&lt;br /&gt;
! Админский, пользовательский, гостевой&lt;br /&gt;
! Время аренды адреса - 0 дней, 0 часов, 5 минут&lt;br /&gt;
!&lt;br /&gt;
ip dhcp pool guest&lt;br /&gt;
   network 192.168.0.0 255.255.255.0&lt;br /&gt;
   lease 0 0 5&lt;br /&gt;
!&lt;br /&gt;
ip dhcp pool user&lt;br /&gt;
   network 172.16.0.0 255.255.255.0&lt;br /&gt;
   lease 0 0 5&lt;br /&gt;
!&lt;br /&gt;
ip dhcp pool mgmt&lt;br /&gt;
   network 10.0.0.0 255.255.255.0&lt;br /&gt;
   lease 0 0 5&lt;br /&gt;
!&lt;br /&gt;
! Настроить DHCP снупинг на влан 10,172,192&lt;br /&gt;
! Включить снупинг для контроля выдачи адресов&lt;br /&gt;
!&lt;br /&gt;
ip dhcp snooping vlan 10,172,192&lt;br /&gt;
ip dhcp snooping&lt;br /&gt;
!&lt;br /&gt;
! Включить 802.1x&lt;br /&gt;
!&lt;br /&gt;
dot1x system-auth-control&lt;br /&gt;
!&lt;br /&gt;
! Влючить быстрый режим Spanning-tree&lt;br /&gt;
!&lt;br /&gt;
spanning-tree mode rapid-pvst&lt;br /&gt;
!&lt;br /&gt;
! Создать три VLAN'а&lt;br /&gt;
! Админский, пользовательский, гостевой&lt;br /&gt;
!&lt;br /&gt;
vlan 10&lt;br /&gt;
 name Admins&lt;br /&gt;
!&lt;br /&gt;
vlan 172&lt;br /&gt;
 name Users&lt;br /&gt;
!&lt;br /&gt;
vlan 192&lt;br /&gt;
 name Guests&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Для всех пользовательских портов&lt;br /&gt;
! настроить 802.1x&lt;br /&gt;
!&lt;br /&gt;
interface range FastEthernet0/1 - 48&lt;br /&gt;
 ! &lt;br /&gt;
 ! включить влан доступа 172&lt;br /&gt;
 ! в этот влан попадут зарегистрированные пользователи&lt;br /&gt;
 !&lt;br /&gt;
 switchport access vlan 172&lt;br /&gt;
 switchport mode access&lt;br /&gt;
 !&lt;br /&gt;
 ! включить контроль подмены мак-адресов&lt;br /&gt;
 !&lt;br /&gt;
 switchport port-security&lt;br /&gt;
 !&lt;br /&gt;
 ! в случае неуспешной авторизации или отсутствия EAP отклика&lt;br /&gt;
 ! от клиента, поместить порт в гостевай влан - 192&lt;br /&gt;
 !&lt;br /&gt;
 authentication event fail action authorize vlan 192&lt;br /&gt;
 authentication event no-response action authorize vlan 192&lt;br /&gt;
 !&lt;br /&gt;
 ! разрешить использовать помимо 802.1x&lt;br /&gt;
 ! еще и обход авторизации по MAC-уровню&lt;br /&gt;
 ! (и, в частности, гостевой влан)&lt;br /&gt;
 !&lt;br /&gt;
 authentication order dot1x mab&lt;br /&gt;
 !&lt;br /&gt;
 ! запустить автоматическую аутентификацию на порту&lt;br /&gt;
 !&lt;br /&gt;
 authentication port-control auto&lt;br /&gt;
 ! &lt;br /&gt;
 ! при попытке неавторизованного доступа (подмена мака)&lt;br /&gt;
 ! отбрасывать пакеты&lt;br /&gt;
 !&lt;br /&gt;
 authentication violation protect&lt;br /&gt;
 !&lt;br /&gt;
 ! режим порта - аутентикатор, проверяющий&lt;br /&gt;
 ! &lt;br /&gt;
 dot1x pae authenticator&lt;br /&gt;
 !&lt;br /&gt;
 ! установить таймауты между попытками авторизовать клиента,&lt;br /&gt;
 ! ожидания отклика от клиента, передачи запросов, все на 15 секунд&lt;br /&gt;
 !&lt;br /&gt;
 dot1x timeout quiet-period 15&lt;br /&gt;
 dot1x timeout tx-period 15&lt;br /&gt;
 dot1x timeout supp-timeout 15&lt;br /&gt;
 !&lt;br /&gt;
 ! количество попыток проверить подлинность – 1, при неудаче, переходить к следующему&lt;br /&gt;
 !  методу  (обход по мак)&lt;br /&gt;
 !&lt;br /&gt;
 dot1x max-req 1&lt;br /&gt;
 dot1x max-reauth-req 1&lt;br /&gt;
 !&lt;br /&gt;
 ! включить быстрый STP на порту,&lt;br /&gt;
  ! для быстрого перехода к авторизации клиента&lt;br /&gt;
 !&lt;br /&gt;
 spanning-tree portfast&lt;br /&gt;
!&lt;br /&gt;
! на гигабитные порты назначить админский влан 10&lt;br /&gt;
! для доступа к радиус серверу&lt;br /&gt;
! &lt;br /&gt;
interface range GigabitEthernet0/1 - 2&lt;br /&gt;
 switchport access vlan 10&lt;br /&gt;
 switchport mode access&lt;br /&gt;
 spanning-tree portfast&lt;br /&gt;
!&lt;br /&gt;
! поднять три интерфейса для трех вланов,&lt;br /&gt;
! сети - Админская 10, Пользовательская - 172.16,&lt;br /&gt;
! гостевая - 192.168. &lt;br /&gt;
!&lt;br /&gt;
interface Vlan10&lt;br /&gt;
 descriptions Admin&lt;br /&gt;
 ip address 10.0.0.1 255.255.255.0&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Vlan172&lt;br /&gt;
 description User&lt;br /&gt;
 ip address 172.16.0.1 255.255.255.0&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Vlan192&lt;br /&gt;
 description Guest&lt;br /&gt;
 ip address 192.168.0.1 255.255.255.0&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
! назначить радиус-сервер 10.0.0.100&lt;br /&gt;
! порт аутентикации - 1645&lt;br /&gt;
! порт учета - 1646&lt;br /&gt;
! ключ шифрования - supersecret&lt;br /&gt;
!&lt;br /&gt;
radius-server host 10.0.0.100 auth-port 1645 acct-port 1646 key supersecret&lt;br /&gt;
!&lt;br /&gt;
! разрешить отправку и прием радиус атрибутов Vendor-Specific&lt;br /&gt;
!&lt;br /&gt;
radius-server vsa send accounting&lt;br /&gt;
radius-server vsa send authentication&lt;br /&gt;
!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:Безопасность на порту]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=802.1x&amp;diff=420</id>
		<title>802.1x</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=802.1x&amp;diff=420"/>
				<updated>2017-05-16T03:42:44Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Контроль доступа IEEE 802.1x на уровне порта */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Контроль доступа IEEE 802.1x на уровне порта=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!   c2960 12.2(55)SE10&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Включить управление доступом AAA&lt;br /&gt;
!&lt;br /&gt;
aaa new-model&lt;br /&gt;
!&lt;br /&gt;
! По-умолчанию проверять подлинность клиентов 802.1x на группе радиус-серверов&lt;br /&gt;
!&lt;br /&gt;
aaa authentication dot1x default group radius&lt;br /&gt;
!&lt;br /&gt;
! По-умолчанию назначать на портах настройки сети полученные с группы радиус-серверов&lt;br /&gt;
!&lt;br /&gt;
aaa authorization network default group radius &lt;br /&gt;
!&lt;br /&gt;
! В пакетах учета не указывать пустое имя пользователя&lt;br /&gt;
!&lt;br /&gt;
aaa accounting suppress null-username&lt;br /&gt;
!&lt;br /&gt;
! Посылать пакеты учета сразу, как только имеется новая информация по клиенту,&lt;br /&gt;
! и в дальнейшем каждую 1 минуту обновлять&lt;br /&gt;
!&lt;br /&gt;
aaa accounting update newinfo periodic 1&lt;br /&gt;
!&lt;br /&gt;
! По-умолчанию вести учет по состоянию клиентов,&lt;br /&gt;
! уведомлять о начале и конце сессии группу радиус серверов&lt;br /&gt;
!&lt;br /&gt;
aaa accounting dot1x default start-stop group radius&lt;br /&gt;
!&lt;br /&gt;
! Исключить из DHCP пулов адреса шлюзов, и адрес RADIUS-сервера&lt;br /&gt;
!&lt;br /&gt;
ip dhcp excluded-address 192.168.0.1&lt;br /&gt;
ip dhcp excluded-address 172.16.0.1&lt;br /&gt;
ip dhcp excluded-address 10.0.0.1&lt;br /&gt;
ip dhcp excluded-address 10.0.0.100&lt;br /&gt;
!&lt;br /&gt;
! Создать пулы DHCP адресов для трех VLAN&lt;br /&gt;
! Админский, пользовательский, гостевой&lt;br /&gt;
! Время аренды адреса - 0 дней, 0 часов, 5 минут&lt;br /&gt;
!&lt;br /&gt;
ip dhcp pool guest&lt;br /&gt;
   network 192.168.0.0 255.255.255.0&lt;br /&gt;
   lease 0 0 5&lt;br /&gt;
!&lt;br /&gt;
ip dhcp pool user&lt;br /&gt;
   network 172.16.0.0 255.255.255.0&lt;br /&gt;
   lease 0 0 5&lt;br /&gt;
!&lt;br /&gt;
ip dhcp pool mgmt&lt;br /&gt;
   network 10.0.0.0 255.255.255.0&lt;br /&gt;
   lease 0 0 5&lt;br /&gt;
!&lt;br /&gt;
! Настроить DHCP снупинг на влан 10,172,192&lt;br /&gt;
! Включить снупинг для контроля выдачи адресов&lt;br /&gt;
!&lt;br /&gt;
ip dhcp snooping vlan 10,172,192&lt;br /&gt;
ip dhcp snooping&lt;br /&gt;
!&lt;br /&gt;
! Включить 802.1x&lt;br /&gt;
!&lt;br /&gt;
dot1x system-auth-control&lt;br /&gt;
!&lt;br /&gt;
! Влючить быстрый режим Spanning-tree&lt;br /&gt;
!&lt;br /&gt;
spanning-tree mode rapid-pvst&lt;br /&gt;
!&lt;br /&gt;
! Создать три VLAN'а&lt;br /&gt;
! Админский, пользовательский, гостевой&lt;br /&gt;
!&lt;br /&gt;
vlan 10&lt;br /&gt;
 name Admins&lt;br /&gt;
!&lt;br /&gt;
vlan 172&lt;br /&gt;
 name Users&lt;br /&gt;
!&lt;br /&gt;
vlan 192&lt;br /&gt;
 name Guests&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Для всех пользовательских портов&lt;br /&gt;
! настроить 802.1x&lt;br /&gt;
!&lt;br /&gt;
interface range FastEthernet0/1 - 48&lt;br /&gt;
 ! &lt;br /&gt;
 ! включить влан доступа 172&lt;br /&gt;
 ! в этот влан попадут зарегистрированные пользователи&lt;br /&gt;
 !&lt;br /&gt;
 switchport access vlan 172&lt;br /&gt;
 switchport mode access&lt;br /&gt;
 !&lt;br /&gt;
 ! включить контроль подмены мак-адресов&lt;br /&gt;
 !&lt;br /&gt;
 switchport port-security&lt;br /&gt;
 !&lt;br /&gt;
 ! в случае неуспешной авторизации или отсутствия EAP отклика&lt;br /&gt;
 ! от клиента, поместить порт в гостевай влан - 192&lt;br /&gt;
 !&lt;br /&gt;
 authentication event fail action authorize vlan 192&lt;br /&gt;
 authentication event no-response action authorize vlan 192&lt;br /&gt;
 !&lt;br /&gt;
 ! разрешить использовать помимо 802.1x&lt;br /&gt;
 ! еще и обход авторизации по MAC-уровню&lt;br /&gt;
 ! (и, в частности, гостевой влан)&lt;br /&gt;
 !&lt;br /&gt;
 authentication order dot1x mab&lt;br /&gt;
 !&lt;br /&gt;
 ! запустить автоматическую аутентификацию на порту&lt;br /&gt;
 !&lt;br /&gt;
 authentication port-control auto&lt;br /&gt;
 ! &lt;br /&gt;
 ! при попытке неавторизованного доступа (подмена мака)&lt;br /&gt;
 ! отбрасывать пакеты&lt;br /&gt;
 !&lt;br /&gt;
 authentication violation protect&lt;br /&gt;
 !&lt;br /&gt;
 ! режим порта - аутентикатор, проверяющий&lt;br /&gt;
 ! &lt;br /&gt;
 dot1x pae authenticator&lt;br /&gt;
 !&lt;br /&gt;
 ! установить таймауты между попытками авторизовать клиента,&lt;br /&gt;
 ! ожидания отклика от клиента, передачи запросов, все на 15 секунд&lt;br /&gt;
 !&lt;br /&gt;
 dot1x timeout quiet-period 15&lt;br /&gt;
 dot1x timeout tx-period 15&lt;br /&gt;
 dot1x timeout supp-timeout 15&lt;br /&gt;
 !&lt;br /&gt;
 ! количество попыток проверить подлинность – 1, при неудаче, переходить к следующему&lt;br /&gt;
 !  методу  (обход по мак)&lt;br /&gt;
 !&lt;br /&gt;
 dot1x max-req 1&lt;br /&gt;
 dot1x max-reauth-req 1&lt;br /&gt;
 !&lt;br /&gt;
 ! включить быстрый STP на порту,&lt;br /&gt;
  ! для быстрого перехода к авторизации клиента&lt;br /&gt;
 !&lt;br /&gt;
 spanning-tree portfast&lt;br /&gt;
!&lt;br /&gt;
! на гигабитные порты назначить админский влан 10&lt;br /&gt;
! для доступа к радиус серверу&lt;br /&gt;
! &lt;br /&gt;
interface range GigabitEthernet0/1 - 2&lt;br /&gt;
 switchport access vlan 10&lt;br /&gt;
 switchport mode access&lt;br /&gt;
 spanning-tree portfast&lt;br /&gt;
!&lt;br /&gt;
! поднять три интерфейса для трех вланов,&lt;br /&gt;
! сети - Админская 10, Пользовательская - 172.16,&lt;br /&gt;
! гостевая - 192.168. &lt;br /&gt;
!&lt;br /&gt;
interface Vlan10&lt;br /&gt;
 descriptions Admin&lt;br /&gt;
 ip address 10.0.0.1 255.255.255.0&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Vlan172&lt;br /&gt;
 description User&lt;br /&gt;
 ip address 172.16.0.1 255.255.255.0&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Vlan192&lt;br /&gt;
 description Guest&lt;br /&gt;
 ip address 192.168.0.1 255.255.255.0&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
! назначить радиус-сервер 10.0.0.100&lt;br /&gt;
! порт аутентикации - 1645&lt;br /&gt;
! порт учета - 1646&lt;br /&gt;
! ключ шифрования - supersecret&lt;br /&gt;
!&lt;br /&gt;
radius-server host 10.0.0.100 auth-port 1645 acct-port 1646 key supersecret&lt;br /&gt;
!&lt;br /&gt;
! разрешить отправку и прием радиус атрибутов Vendor-Specific&lt;br /&gt;
!&lt;br /&gt;
radius-server vsa send accounting&lt;br /&gt;
radius-server vsa send authentication&lt;br /&gt;
!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:Безопасность на порту]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=802.1x&amp;diff=419</id>
		<title>802.1x</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=802.1x&amp;diff=419"/>
				<updated>2017-05-16T03:41:39Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: Новая страница: «=Контроль доступа IEEE 802.1x на уровне порта=  &amp;lt;code&amp;gt; ! ! Включить управление доступом AAA ! aaa new-model…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Контроль доступа IEEE 802.1x на уровне порта=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
! Включить управление доступом AAA&lt;br /&gt;
!&lt;br /&gt;
aaa new-model&lt;br /&gt;
!&lt;br /&gt;
! По-умолчанию проверять подлинность клиентов 802.1x на группе радиус-серверов&lt;br /&gt;
!&lt;br /&gt;
aaa authentication dot1x default group radius&lt;br /&gt;
!&lt;br /&gt;
! По-умолчанию назначать на портах настройки сети полученные с группы радиус-серверов&lt;br /&gt;
!&lt;br /&gt;
aaa authorization network default group radius &lt;br /&gt;
!&lt;br /&gt;
! В пакетах учета не указывать пустое имя пользователя&lt;br /&gt;
!&lt;br /&gt;
aaa accounting suppress null-username&lt;br /&gt;
!&lt;br /&gt;
! Посылать пакеты учета сразу, как только имеется новая информация по клиенту,&lt;br /&gt;
! и в дальнейшем каждую 1 минуту обновлять&lt;br /&gt;
!&lt;br /&gt;
aaa accounting update newinfo periodic 1&lt;br /&gt;
!&lt;br /&gt;
! По-умолчанию вести учет по состоянию клиентов,&lt;br /&gt;
! уведомлять о начале и конце сессии группу радиус серверов&lt;br /&gt;
!&lt;br /&gt;
aaa accounting dot1x default start-stop group radius&lt;br /&gt;
!&lt;br /&gt;
! Исключить из DHCP пулов адреса шлюзов, и адрес RADIUS-сервера&lt;br /&gt;
!&lt;br /&gt;
ip dhcp excluded-address 192.168.0.1&lt;br /&gt;
ip dhcp excluded-address 172.16.0.1&lt;br /&gt;
ip dhcp excluded-address 10.0.0.1&lt;br /&gt;
ip dhcp excluded-address 10.0.0.100&lt;br /&gt;
!&lt;br /&gt;
! Создать пулы DHCP адресов для трех VLAN&lt;br /&gt;
! Админский, пользовательский, гостевой&lt;br /&gt;
! Время аренды адреса - 0 дней, 0 часов, 5 минут&lt;br /&gt;
!&lt;br /&gt;
ip dhcp pool guest&lt;br /&gt;
   network 192.168.0.0 255.255.255.0&lt;br /&gt;
   lease 0 0 5&lt;br /&gt;
!&lt;br /&gt;
ip dhcp pool user&lt;br /&gt;
   network 172.16.0.0 255.255.255.0&lt;br /&gt;
   lease 0 0 5&lt;br /&gt;
!&lt;br /&gt;
ip dhcp pool mgmt&lt;br /&gt;
   network 10.0.0.0 255.255.255.0&lt;br /&gt;
   lease 0 0 5&lt;br /&gt;
!&lt;br /&gt;
! Настроить DHCP снупинг на влан 10,172,192&lt;br /&gt;
! Включить снупинг для контроля выдачи адресов&lt;br /&gt;
!&lt;br /&gt;
ip dhcp snooping vlan 10,172,192&lt;br /&gt;
ip dhcp snooping&lt;br /&gt;
!&lt;br /&gt;
! Включить 802.1x&lt;br /&gt;
!&lt;br /&gt;
dot1x system-auth-control&lt;br /&gt;
!&lt;br /&gt;
! Влючить быстрый режим Spanning-tree&lt;br /&gt;
!&lt;br /&gt;
spanning-tree mode rapid-pvst&lt;br /&gt;
!&lt;br /&gt;
! Создать три VLAN'а&lt;br /&gt;
! Админский, пользовательский, гостевой&lt;br /&gt;
!&lt;br /&gt;
vlan 10&lt;br /&gt;
 name Admins&lt;br /&gt;
!&lt;br /&gt;
vlan 172&lt;br /&gt;
 name Users&lt;br /&gt;
!&lt;br /&gt;
vlan 192&lt;br /&gt;
 name Guests&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
! Для всех пользовательских портов&lt;br /&gt;
! настроить 802.1x&lt;br /&gt;
!&lt;br /&gt;
interface range FastEthernet0/1 - 48&lt;br /&gt;
 ! &lt;br /&gt;
 ! включить влан доступа 172&lt;br /&gt;
 ! в этот влан попадут зарегистрированные пользователи&lt;br /&gt;
 !&lt;br /&gt;
 switchport access vlan 172&lt;br /&gt;
 switchport mode access&lt;br /&gt;
 !&lt;br /&gt;
 ! включить контроль подмены мак-адресов&lt;br /&gt;
 !&lt;br /&gt;
 switchport port-security&lt;br /&gt;
 !&lt;br /&gt;
 ! в случае неуспешной авторизации или отсутствия EAP отклика&lt;br /&gt;
 ! от клиента, поместить порт в гостевай влан - 192&lt;br /&gt;
 !&lt;br /&gt;
 authentication event fail action authorize vlan 192&lt;br /&gt;
 authentication event no-response action authorize vlan 192&lt;br /&gt;
 !&lt;br /&gt;
 ! разрешить использовать помимо 802.1x&lt;br /&gt;
 ! еще и обход авторизации по MAC-уровню&lt;br /&gt;
 ! (и, в частности, гостевой влан)&lt;br /&gt;
 !&lt;br /&gt;
 authentication order dot1x mab&lt;br /&gt;
 !&lt;br /&gt;
 ! запустить автоматическую аутентификацию на порту&lt;br /&gt;
 !&lt;br /&gt;
 authentication port-control auto&lt;br /&gt;
 ! &lt;br /&gt;
 ! при попытке неавторизованного доступа (подмена мака)&lt;br /&gt;
 ! отбрасывать пакеты&lt;br /&gt;
 !&lt;br /&gt;
 authentication violation protect&lt;br /&gt;
 !&lt;br /&gt;
 ! режим порта - аутентикатор, проверяющий&lt;br /&gt;
 ! &lt;br /&gt;
 dot1x pae authenticator&lt;br /&gt;
 !&lt;br /&gt;
 ! установить таймауты между попытками авторизовать клиента,&lt;br /&gt;
 ! ожидания отклика от клиента, передачи запросов, все на 15 секунд&lt;br /&gt;
 !&lt;br /&gt;
 dot1x timeout quiet-period 15&lt;br /&gt;
 dot1x timeout tx-period 15&lt;br /&gt;
 dot1x timeout supp-timeout 15&lt;br /&gt;
 !&lt;br /&gt;
 ! количество попыток проверить подлинность – 1, при неудаче, переходить к следующему&lt;br /&gt;
 !  методу  (обход по мак)&lt;br /&gt;
 !&lt;br /&gt;
 dot1x max-req 1&lt;br /&gt;
 dot1x max-reauth-req 1&lt;br /&gt;
 !&lt;br /&gt;
 ! включить быстрый STP на порту,&lt;br /&gt;
  ! для быстрого перехода к авторизации клиента&lt;br /&gt;
 !&lt;br /&gt;
 spanning-tree portfast&lt;br /&gt;
!&lt;br /&gt;
! на гигабитные порты назначить админский влан 10&lt;br /&gt;
! для доступа к радиус серверу&lt;br /&gt;
! &lt;br /&gt;
interface range GigabitEthernet0/1 - 2&lt;br /&gt;
 switchport access vlan 10&lt;br /&gt;
 switchport mode access&lt;br /&gt;
 spanning-tree portfast&lt;br /&gt;
!&lt;br /&gt;
! поднять три интерфейса для трех вланов,&lt;br /&gt;
! сети - Админская 10, Пользовательская - 172.16,&lt;br /&gt;
! гостевая - 192.168. &lt;br /&gt;
!&lt;br /&gt;
interface Vlan10&lt;br /&gt;
 descriptions Admin&lt;br /&gt;
 ip address 10.0.0.1 255.255.255.0&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Vlan172&lt;br /&gt;
 description User&lt;br /&gt;
 ip address 172.16.0.1 255.255.255.0&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
interface Vlan192&lt;br /&gt;
 description Guest&lt;br /&gt;
 ip address 192.168.0.1 255.255.255.0&lt;br /&gt;
 no shut&lt;br /&gt;
!&lt;br /&gt;
! назначить радиус-сервер 10.0.0.100&lt;br /&gt;
! порт аутентикации - 1645&lt;br /&gt;
! порт учета - 1646&lt;br /&gt;
! ключ шифрования - supersecret&lt;br /&gt;
!&lt;br /&gt;
radius-server host 10.0.0.100 auth-port 1645 acct-port 1646 key supersecret&lt;br /&gt;
!&lt;br /&gt;
! разрешить отправку и прием радиус атрибутов Vendor-Specific&lt;br /&gt;
!&lt;br /&gt;
radius-server vsa send accounting&lt;br /&gt;
radius-server vsa send authentication&lt;br /&gt;
!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:Безопасность на порту]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BD%D0%B0_%D0%BF%D0%BE%D1%80%D1%82%D1%83_%D0%BA%D0%BE%D0%BC%D0%BC%D1%83%D1%82%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=418</id>
		<title>Безопасность на порту коммутатора</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BD%D0%B0_%D0%BF%D0%BE%D1%80%D1%82%D1%83_%D0%BA%D0%BE%D0%BC%D0%BC%D1%83%D1%82%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=418"/>
				<updated>2017-04-11T09:36:41Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Настройки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Безопасность IPv4 на порту коммутатора=&lt;br /&gt;
==Настройки==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
no cdp en&lt;br /&gt;
switchport protected    ! block all traffic to other protected ports&lt;br /&gt;
switchport block multicast&lt;br /&gt;
switchport block unicast ! блокирует флуд неизвестного юникаста с этого порта&lt;br /&gt;
switchport port-security  ! изучение первого мак адреса в качестве разрешенного, остальные запрещены&lt;br /&gt;
                                        ! не дает на других секурити портах такому маку светиться&lt;br /&gt;
switchport port-security aging time 3 ! устаревание  - 3 минуты&lt;br /&gt;
switchport port-security violation restrict            !  Варианты: protect(drop)  restrict(drop+syslog) shutdown(err-disable)&lt;br /&gt;
switchport port-security aging type inactivity&lt;br /&gt;
switchport port-security mac-address sticky    ! запомнить в конфиге &lt;br /&gt;
spanning-tree bpdufilter enable  ! still send few bpdus on port-up&lt;br /&gt;
spanning-tree bpduguard enable   ! err-disable if bpdu received&lt;br /&gt;
spanning-tree rootguard enable  ! err-disable on root-bpdu&lt;br /&gt;
ip verify source port-security ! проверять сорс мак адрес по порт-секьюрити ?????, ip  по dhcp-снупингу&lt;br /&gt;
&lt;br /&gt;
storm-control unicast level 87 65&lt;br /&gt;
storm-control multicast level 87 65&lt;br /&gt;
storm-control broadcast level 87 65&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Пример==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
ip dhcp snooping vlan 88&lt;br /&gt;
ip dhcp snooping verify mac-address ! - default&lt;br /&gt;
no ip dhcp snooping information option ! - чтобы вышестоящий свитч не дропнул наш запрос с опцией 82&lt;br /&gt;
ip dhcp snooping&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
ip arp inspection vlan 88&lt;br /&gt;
ip arp inspection validate src-mac ip &lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
errdisable recovery cause bpduguard&lt;br /&gt;
errdisable recovery cause arp-inspection&lt;br /&gt;
errdisable recovery cause loopback&lt;br /&gt;
errdisable recovery interval 30&lt;br /&gt;
errdisable detect cause all&lt;br /&gt;
!&lt;br /&gt;
spanning-tree mode rapid-pvst&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
interface range FastEthernet0/1 - 48&lt;br /&gt;
 switchport mode access&lt;br /&gt;
 switchport access vlan 88&lt;br /&gt;
 spanning-tree portfast&lt;br /&gt;
 spanning-tree bpduguard enable&lt;br /&gt;
 spanning-tree bpdufilter enable           ! Best practice - не поднимать STP с чужими устройствами&lt;br /&gt;
 storm-control unicast level 87 65&lt;br /&gt;
 storm-control multicast level 87 65&lt;br /&gt;
 storm-control broadcast level 87 65&lt;br /&gt;
 ip verify source&lt;br /&gt;
 no ip dhcp snooping trust&lt;br /&gt;
 no ip arp inspection trust&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
int Gi0/1&lt;br /&gt;
 descr UPLINK&lt;br /&gt;
 switchport mode access&lt;br /&gt;
 switchport access vlan 88&lt;br /&gt;
 ip dhcp snooping trust&lt;br /&gt;
 ip arp inspection trust&lt;br /&gt;
!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:Безопасность на порту]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BD%D0%B0_%D0%BF%D0%BE%D1%80%D1%82%D1%83_%D0%BA%D0%BE%D0%BC%D0%BC%D1%83%D1%82%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=417</id>
		<title>Безопасность на порту коммутатора</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BD%D0%B0_%D0%BF%D0%BE%D1%80%D1%82%D1%83_%D0%BA%D0%BE%D0%BC%D0%BC%D1%83%D1%82%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=417"/>
				<updated>2017-04-11T08:10:04Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Настройки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Безопасность IPv4 на порту коммутатора=&lt;br /&gt;
==Настройки==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
no cdp en&lt;br /&gt;
switchport protected    ! block all traffic to other protected ports&lt;br /&gt;
switchport block multicast&lt;br /&gt;
switchport block unicast ! блокирует флуд неизвестного юникаста с этого порта&lt;br /&gt;
switchport port-security  ! изучение первого мак адреса в качестве разрешенного, остальные запрещены&lt;br /&gt;
                                        ! не дает на других секурити портах такому маку светиться&lt;br /&gt;
switchport port-security aging time 3 ! устаревание  - 3 минуты&lt;br /&gt;
switchport port-security violation restrict            !  Варианты: protect(drop)  restrict(drop+syslog) shutdown(err-disable)&lt;br /&gt;
switchport port-security aging type inactivity&lt;br /&gt;
switchport port-security mac-address sticky    ! запомнить в конфиге &lt;br /&gt;
spanning-tree bpdufilter enable  ! still send few bpdus on port-up&lt;br /&gt;
spanning-tree bpduguard enable   ! err-disable if bpdu received&lt;br /&gt;
spanning-tree rootguard enable  ! err-disable on root-bpdu&lt;br /&gt;
ip verify source port-security ! проверять сорс мак адрес по порт-секьюрити, ip  по dhcp-снупингу&lt;br /&gt;
&lt;br /&gt;
storm-control unicast level 87 65&lt;br /&gt;
storm-control multicast level 87 65&lt;br /&gt;
storm-control broadcast level 87 65&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Пример==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
ip dhcp snooping vlan 88&lt;br /&gt;
ip dhcp snooping verify mac-address ! - default&lt;br /&gt;
no ip dhcp snooping information option ! - чтобы вышестоящий свитч не дропнул наш запрос с опцией 82&lt;br /&gt;
ip dhcp snooping&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
ip arp inspection vlan 88&lt;br /&gt;
ip arp inspection validate src-mac ip &lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
errdisable recovery cause bpduguard&lt;br /&gt;
errdisable recovery cause arp-inspection&lt;br /&gt;
errdisable recovery cause loopback&lt;br /&gt;
errdisable recovery interval 30&lt;br /&gt;
errdisable detect cause all&lt;br /&gt;
!&lt;br /&gt;
spanning-tree mode rapid-pvst&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
interface range FastEthernet0/1 - 48&lt;br /&gt;
 switchport mode access&lt;br /&gt;
 switchport access vlan 88&lt;br /&gt;
 spanning-tree portfast&lt;br /&gt;
 spanning-tree bpduguard enable&lt;br /&gt;
 spanning-tree bpdufilter enable           ! Best practice - не поднимать STP с чужими устройствами&lt;br /&gt;
 storm-control unicast level 87 65&lt;br /&gt;
 storm-control multicast level 87 65&lt;br /&gt;
 storm-control broadcast level 87 65&lt;br /&gt;
 ip verify source&lt;br /&gt;
 no ip dhcp snooping trust&lt;br /&gt;
 no ip arp inspection trust&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
int Gi0/1&lt;br /&gt;
 descr UPLINK&lt;br /&gt;
 switchport mode access&lt;br /&gt;
 switchport access vlan 88&lt;br /&gt;
 ip dhcp snooping trust&lt;br /&gt;
 ip arp inspection trust&lt;br /&gt;
!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:Безопасность на порту]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BD%D0%B0_%D0%BF%D0%BE%D1%80%D1%82%D1%83_%D0%BA%D0%BE%D0%BC%D0%BC%D1%83%D1%82%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=416</id>
		<title>Безопасность на порту коммутатора</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%BD%D0%B0_%D0%BF%D0%BE%D1%80%D1%82%D1%83_%D0%BA%D0%BE%D0%BC%D0%BC%D1%83%D1%82%D0%B0%D1%82%D0%BE%D1%80%D0%B0&amp;diff=416"/>
				<updated>2017-04-11T08:07:39Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Настройки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Безопасность IPv4 на порту коммутатора=&lt;br /&gt;
==Настройки==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
no cdp en&lt;br /&gt;
switchport protected    ! block all traffic to other protected ports&lt;br /&gt;
switchport block multicast&lt;br /&gt;
switchport block unicast ! блокирует флуд неизвестного юникаста с этого порта&lt;br /&gt;
switchport port-security  ! изучение первого мак адреса в качестве разрешенного, остальные запрещены&lt;br /&gt;
                                        ! не дает на других секурити портах такому маку светиться&lt;br /&gt;
switchport port-security aging time 3 ! устаревание  - 3 минуты&lt;br /&gt;
switchport port-security violation restrict            !  Варианты: protect(drop)  restrict(drop+syslog) shutdown(err-disable)&lt;br /&gt;
switchport port-security aging type inactivity&lt;br /&gt;
switchport port-security mac-address sticky    ! запомнить в конфиге &lt;br /&gt;
spanning-tree bpdufilter enable  ! still send few bpdus on port-up&lt;br /&gt;
spanning-tree bpduguard enable   ! err-disable if bpdu received&lt;br /&gt;
spanning-tree rootguard enable  ! err-disable on root-bpdu&lt;br /&gt;
ip verify source port-security ! проверять сорс мак адрес по порт-секьюрити, ip  по снупингу&lt;br /&gt;
&lt;br /&gt;
storm-control unicast level 87 65&lt;br /&gt;
storm-control multicast level 87 65&lt;br /&gt;
storm-control broadcast level 87 65&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Пример==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!&lt;br /&gt;
ip dhcp snooping vlan 88&lt;br /&gt;
ip dhcp snooping verify mac-address ! - default&lt;br /&gt;
no ip dhcp snooping information option ! - чтобы вышестоящий свитч не дропнул наш запрос с опцией 82&lt;br /&gt;
ip dhcp snooping&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
ip arp inspection vlan 88&lt;br /&gt;
ip arp inspection validate src-mac ip &lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
errdisable recovery cause bpduguard&lt;br /&gt;
errdisable recovery cause arp-inspection&lt;br /&gt;
errdisable recovery cause loopback&lt;br /&gt;
errdisable recovery interval 30&lt;br /&gt;
errdisable detect cause all&lt;br /&gt;
!&lt;br /&gt;
spanning-tree mode rapid-pvst&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
interface range FastEthernet0/1 - 48&lt;br /&gt;
 switchport mode access&lt;br /&gt;
 switchport access vlan 88&lt;br /&gt;
 spanning-tree portfast&lt;br /&gt;
 spanning-tree bpduguard enable&lt;br /&gt;
 spanning-tree bpdufilter enable           ! Best practice - не поднимать STP с чужими устройствами&lt;br /&gt;
 storm-control unicast level 87 65&lt;br /&gt;
 storm-control multicast level 87 65&lt;br /&gt;
 storm-control broadcast level 87 65&lt;br /&gt;
 ip verify source&lt;br /&gt;
 no ip dhcp snooping trust&lt;br /&gt;
 no ip arp inspection trust&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
int Gi0/1&lt;br /&gt;
 descr UPLINK&lt;br /&gt;
 switchport mode access&lt;br /&gt;
 switchport access vlan 88&lt;br /&gt;
 ip dhcp snooping trust&lt;br /&gt;
 ip arp inspection trust&lt;br /&gt;
!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:Безопасность на порту]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=%D0%A0%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%88%D0%BB%D1%8E%D0%B7%D0%B0_%D0%BF%D0%BE-%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E_%D0%BD%D0%B0_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5_GLBP&amp;diff=415</id>
		<title>Резервирование шлюза по-умолчанию на примере GLBP</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=%D0%A0%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%88%D0%BB%D1%8E%D0%B7%D0%B0_%D0%BF%D0%BE-%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E_%D0%BD%D0%B0_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5_GLBP&amp;diff=415"/>
				<updated>2017-04-10T08:56:37Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* R1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Резервирование шлюза по-умолчанию на примере GLBP =&lt;br /&gt;
== Топология ==&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/wiki/SEC_Lab8_GLBP2014.png&lt;br /&gt;
&lt;br /&gt;
== Сценарии отказа ==&lt;br /&gt;
=== Сценарий 1. Отказ одного из внешних линков ===&lt;br /&gt;
Трафик в сторону клиентов:&lt;br /&gt;
&lt;br /&gt;
Маршрутизатор Internet удалит маршруты в сторону нерабочего канала по прошествии dead-interval. OSPF установит лучший маршрут в таблицу маршрутизации Internet. Трафик из интернета пойдет через оставшийся маршрутизатор в сторону клиентов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Трафик от клиентов в интернет:&lt;br /&gt;
&lt;br /&gt;
Маршрутизатор с пропавшим линком понизит себе GLBP-приоритет и перестанет быть активным. Оставшийся маршрутизатор примет на себя активную роль и виртуальный MAC от отказавшего. Коммутатор обновит таблицу MAC-адресов с указанием порта второго маршрутизатора. Трафик клиентов пойдет через виртуальный MAC шлюза в сторону интернета.&lt;br /&gt;
&lt;br /&gt;
=== Сценарий 2. Отказ одного из внутренних линков ===&lt;br /&gt;
Трафик в сторону клиентов: &lt;br /&gt;
&lt;br /&gt;
Маршрутизатор с отказавшим внутренним линком перестанет анонсировать внутреннюю сеть в Internet. Маршрутизатор Internet удалит маршруты в сторону нерабочего канала. OSPF установит лучший маршрут в таблицу маршрутизации Internet. Трафик из интернета пойдет через оставшийся маршрутизатор в сторону клиентов. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Трафик от клиентов в интернет: &lt;br /&gt;
&lt;br /&gt;
Маршрутизатор с пропавшим линком перестанет быть активным. Оставшийся маршрутизатор обнаружит отсутствие соседа и примет на себя активную роль и виртуальный MAC от отказавшего. Коммутатор обновит таблицу MAC-адресов с указанием порта второго маршрутизатора. Трафик клиентов пойдет через виртуальный MAC шлюза в сторону интернета.&lt;br /&gt;
&lt;br /&gt;
=== Сценарий 3. Отказ одного из маршрутизаторов ===&lt;br /&gt;
&lt;br /&gt;
Аналогично первым двум. Трафик из интернета к клиентам пропадает на время сходимости OSPF. Трафик от клиентов в интернет пропадает на время переброса виртуального MAC-адреса по GLBP таймеру.&lt;br /&gt;
&lt;br /&gt;
== Конфигурация ==&lt;br /&gt;
&lt;br /&gt;
=== R1 ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!   GLBP будет понижать свой вес при пропадении внешнего линка&lt;br /&gt;
track 1 interface FastEthernet0/0 line-protocol&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0&lt;br /&gt;
 description INTERNET&lt;br /&gt;
 ip address 212.192.88.150 255.255.255.0&lt;br /&gt;
 ip ospf message-digest-key 1 md5 CiscoCisco        !  аутентикация по md5&lt;br /&gt;
 ip ospf dead-interval minimal hello-multiplier 4         ! таймеры OSPF уменьшены для ускорения сходимости&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
 description LAN&lt;br /&gt;
 ip address 212.192.83.230 255.255.255.0&lt;br /&gt;
 glbp 1 ip 212.192.83.225                                      !   виртуальный ip шлюза&lt;br /&gt;
 glbp 1 timers msec 300 1                                      !  обмен сообщениями каждые 300мс, через 1 сек - детектируется пропадение связи&lt;br /&gt;
 glbp 1 priority 105                                                 !  начальный приоритет (для выбора AVG)&lt;br /&gt;
 glbp 1 preempt delay minimum 5                          ! передача роли управляющего AVG через 5 сек&lt;br /&gt;
 glbp 1 weighting 100 lower 95                              ! начальный вес 100, нижняя граница активности - 95&lt;br /&gt;
 glbp 1 weighting track 1 decrement 20                 ! уменьшаем вес на 20 по сигналу от track 1&lt;br /&gt;
 glbp 1 forwarder preempt delay minimum 5          !  передача роли AVF через 5 сек&lt;br /&gt;
!&lt;br /&gt;
router ospf 1&lt;br /&gt;
 area 1 authentication message-digest                  !  аутентикация по md5&lt;br /&gt;
 redistribute connected subnets                             !  анонсируем сети клиентов&lt;br /&gt;
 network 212.192.88.0 0.0.0.255 area 1                !  зона 1&lt;br /&gt;
!&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 212.192.88.1                    ! статический маршрут в сторону интернета (внешний маршрутизатор не отдает этот маршрут)&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GLBP спуфинг ==&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:Резервирование]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=%D0%A0%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%88%D0%BB%D1%8E%D0%B7%D0%B0_%D0%BF%D0%BE-%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E_%D0%BD%D0%B0_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5_GLBP&amp;diff=414</id>
		<title>Резервирование шлюза по-умолчанию на примере GLBP</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=%D0%A0%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%88%D0%BB%D1%8E%D0%B7%D0%B0_%D0%BF%D0%BE-%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E_%D0%BD%D0%B0_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5_GLBP&amp;diff=414"/>
				<updated>2017-04-10T08:55:28Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* Internet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Резервирование шлюза по-умолчанию на примере GLBP =&lt;br /&gt;
== Топология ==&lt;br /&gt;
http://user.files.psu.ru/MoiseevVI/wiki/SEC_Lab8_GLBP2014.png&lt;br /&gt;
&lt;br /&gt;
== Сценарии отказа ==&lt;br /&gt;
=== Сценарий 1. Отказ одного из внешних линков ===&lt;br /&gt;
Трафик в сторону клиентов:&lt;br /&gt;
&lt;br /&gt;
Маршрутизатор Internet удалит маршруты в сторону нерабочего канала по прошествии dead-interval. OSPF установит лучший маршрут в таблицу маршрутизации Internet. Трафик из интернета пойдет через оставшийся маршрутизатор в сторону клиентов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Трафик от клиентов в интернет:&lt;br /&gt;
&lt;br /&gt;
Маршрутизатор с пропавшим линком понизит себе GLBP-приоритет и перестанет быть активным. Оставшийся маршрутизатор примет на себя активную роль и виртуальный MAC от отказавшего. Коммутатор обновит таблицу MAC-адресов с указанием порта второго маршрутизатора. Трафик клиентов пойдет через виртуальный MAC шлюза в сторону интернета.&lt;br /&gt;
&lt;br /&gt;
=== Сценарий 2. Отказ одного из внутренних линков ===&lt;br /&gt;
Трафик в сторону клиентов: &lt;br /&gt;
&lt;br /&gt;
Маршрутизатор с отказавшим внутренним линком перестанет анонсировать внутреннюю сеть в Internet. Маршрутизатор Internet удалит маршруты в сторону нерабочего канала. OSPF установит лучший маршрут в таблицу маршрутизации Internet. Трафик из интернета пойдет через оставшийся маршрутизатор в сторону клиентов. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Трафик от клиентов в интернет: &lt;br /&gt;
&lt;br /&gt;
Маршрутизатор с пропавшим линком перестанет быть активным. Оставшийся маршрутизатор обнаружит отсутствие соседа и примет на себя активную роль и виртуальный MAC от отказавшего. Коммутатор обновит таблицу MAC-адресов с указанием порта второго маршрутизатора. Трафик клиентов пойдет через виртуальный MAC шлюза в сторону интернета.&lt;br /&gt;
&lt;br /&gt;
=== Сценарий 3. Отказ одного из маршрутизаторов ===&lt;br /&gt;
&lt;br /&gt;
Аналогично первым двум. Трафик из интернета к клиентам пропадает на время сходимости OSPF. Трафик от клиентов в интернет пропадает на время переброса виртуального MAC-адреса по GLBP таймеру.&lt;br /&gt;
&lt;br /&gt;
== Конфигурация ==&lt;br /&gt;
&lt;br /&gt;
=== R1 ===&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!   GLBP будет понижать свой вес при пропадении внешнего линка&lt;br /&gt;
track 1 interface FastEthernet0/0 line-protocol&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0&lt;br /&gt;
 description INTERNET&lt;br /&gt;
 ip address 212.192.88.150 255.255.255.0&lt;br /&gt;
 ip ospf message-digest-key 1 md5 CiscoCisco        !  аутентикация по md5&lt;br /&gt;
 ip ospf dead-interval minimal hello-multiplier 4         ! таймеры OSPF уменьшены для ускорения сходимости&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
 description LAN&lt;br /&gt;
 ip address 212.192.83.230 255.255.255.224&lt;br /&gt;
 glbp 1 ip 212.192.83.225                                      !   виртуальный ip шлюза&lt;br /&gt;
 glbp 1 timers msec 300 1                                      !  обмен сообщениями каждые 300мс, через 1 сек - детектируется пропадение связи&lt;br /&gt;
 glbp 1 priority 105                                                 !  начальный приоритет (для выбора AVG)&lt;br /&gt;
 glbp 1 preempt delay minimum 5                          ! передача роли управляющего AVG через 5 сек&lt;br /&gt;
 glbp 1 weighting 100 lower 95                              ! начальный вес 100, нижняя граница активности - 95&lt;br /&gt;
 glbp 1 weighting track 1 decrement 20                 ! уменьшаем вес на 20 по сигналу от track 1&lt;br /&gt;
 glbp 1 forwarder preempt delay minimum 5          !  передача роли AVF через 5 сек&lt;br /&gt;
!&lt;br /&gt;
router ospf 1&lt;br /&gt;
 area 1 authentication message-digest                  !  аутентикация по md5&lt;br /&gt;
 redistribute connected subnets                             !  анонсируем сети клиентов&lt;br /&gt;
 network 212.192.88.0 0.0.0.255 area 1                !  зона 1&lt;br /&gt;
!&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 212.192.88.1                    ! статический маршрут в сторону интернета (внешний маршрутизатор не отдает этот маршрут)&lt;br /&gt;
!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GLBP спуфинг ==&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] &lt;br /&gt;
[[категория:Сети]] &lt;br /&gt;
[[категория:Резервирование]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	<entry>
		<id>https://k.psu.ru/w/index.php?title=RTBH_%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D1%8B_%D0%BE%D1%82_DDoS&amp;diff=413</id>
		<title>RTBH фильтрация для защиты от DDoS</title>
		<link rel="alternate" type="text/html" href="https://k.psu.ru/w/index.php?title=RTBH_%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D1%8B_%D0%BE%D1%82_DDoS&amp;diff=413"/>
				<updated>2017-03-28T05:13:00Z</updated>
		
		<summary type="html">&lt;p&gt;Moiseevvi: /* s/RTBH */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== REMOTELY TRIGGERED BLACK HOLE ==&lt;br /&gt;
===d/RTBH===&lt;br /&gt;
&lt;br /&gt;
===s/RTBH - community-метод ===&lt;br /&gt;
===s/RTBH - Next-Hop-метод ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Все роутеры в одной AS.&lt;br /&gt;
Добавляем триггер-маршрут на один роутер (триггер) - маршрут прилетает на все остальные.&lt;br /&gt;
&lt;br /&gt;
D/RTBH - без URPF&lt;br /&gt;
&lt;br /&gt;
S/RTBH - с URPF-loose на внешнем интерфейсе (не работает RTBH на Connected-сеть)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
boot system flash:c2801-adventerprisek9-mz.124-25d.bin&lt;br /&gt;
&lt;br /&gt;
interface Null0&lt;br /&gt;
 no ip unreachables&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/0&lt;br /&gt;
 ip address 212.192.88.150 255.255.255.0&lt;br /&gt;
 ip verify unicast source reachable-via any allow-default ! НЕ РАБОТАЕТ на Directly-Attached host&lt;br /&gt;
!&lt;br /&gt;
interface FastEthernet0/1&lt;br /&gt;
 ip address 10.111.0.1 255.255.255.0&lt;br /&gt;
 ip verify unicast source reachable-via rx&lt;br /&gt;
!&lt;br /&gt;
        &lt;br /&gt;
router bgp 65150&lt;br /&gt;
 redistribute static route-map RTBH-trigger&lt;br /&gt;
 neighbor 212.192.88.151 remote-as 65150&lt;br /&gt;
 neighbor 212.192.88.152 remote-as 65150&lt;br /&gt;
!         &lt;br /&gt;
ip route 192.0.2.1 255.255.255.255 Null0    ! RTBH-next-hop&lt;br /&gt;
ip route 0.0.0.0 0.0.0.0 212.192.88.1&lt;br /&gt;
!         &lt;br /&gt;
route-map RTBH-trigger permit 10&lt;br /&gt;
 match tag 6666&lt;br /&gt;
 set local-preference 200&lt;br /&gt;
 set origin igp&lt;br /&gt;
 set community no-export&lt;br /&gt;
 set ip next-hop 192.0.2.1&lt;br /&gt;
!&lt;br /&gt;
route-map RTBH-trigger deny 20&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trigger:&lt;br /&gt;
&lt;br /&gt;
ip route ATTACKER-IP 255.255.255.255 Null0 tag 6666&lt;br /&gt;
&lt;br /&gt;
[[категория:Лекции]] [[категория:Сети]] [[категория:Cisco]]&lt;/div&gt;</summary>
		<author><name>Moiseevvi</name></author>	</entry>

	</feed>