03-praktika-nat.md
1 # Практика 2 3 Чего от нас требует реальность? 4 1\) Сеть управления не имеет доступа в интернет вообще 5 2\) Хосты из сети ПТО имеют доступ только к профильным сайтам, например, Linkmeup.ru 6 3\) Милым дамам из бухгалтерии нужно вырубить окно в мир клиент-банков. 7 4\) ФЭО не выпускать никуда, за исключением финансового директора 8 5\) В сети Other наш компьютер и компьютер админа — им дадим полный доступ в интернет. Всем остальным можно открывать по письменному запросу. 9 6\) Не забудем про филиалы в Питере и в Кемерово. Для простоты настроим полный доступ для эникиев из этих подсетей. 10 7\) С серверами отдельная песня. Для них мы настроим перенаправление портов. Всё, что нам нужно: 11 а\) WEB-сервер должен быть доступен по 80-му порту 12 б\) Почтовый сервер по 25-му и 110-му 13 в\) Файловый сервер доступен из мира по FTP. 14 8\) Компьютеры админа и наш должны быть доступны из Интернета по RDP. Вообще-то это неправильный путь — для удалённого подключения нужно использовать VPN-подключение и уже будучи в локальной сети использовать RDP, но это тема отдельной совсем другой статьи. 15 16 Сначала подготовим тестовую площадку: 17 18 Подключение к Интернету будет организовано через существующий линк, который предоставляет провайдер. 19 Он уходит в сеть провайдера. Напоминаем, что всё в этом облаке — это абстрактная сеть, которая на деле может состоять из десятков маршрутизаторов и сотен коммутаторов. Но нам нужно нечто управляемое и предсказуемое, поэтому водружаем сюда ещё маршрутизатор. С одной стороны в него линк из коммутатора, с другой сервера в Интернете. 20 21 Сервера нам понадобятся следующие: 22 1. Два клиент-банка для бухгалтеров \(sperbank.ru, mmm-bank.ru\) 23 2. Linkmeup.ru для ПТОшников 24 3. яндекс \(yandex.ru\) 25 26  27 28 Для такого подключения мы поднимем ещё один влан на msk-arbat-gw1. Его номер, разумеется, согласуется с провайдером. Пусть это будет VLAN 6 29 Предположим, провайдер предоставляет нам **подсеть 198.51.100.0/28**. Первые два адреса используются для организации линка \(198.51.100.1 и 198.51.100.2\), а оставшиеся мы используем, как пул для NAT’a. Впрочем, никто совершенно нам не мешает использовать и адрес 198.51.100.2 для пула. Так и сделаем: **пул: 198.51.100.2-198.51.100.14** 30 Для простоты предположим, что публичные сервера у нас находятся в одной подсети: 31 **192.0.2.0/24**. 32 Как настроить линк и адреса вы вполне уже в курсе. 33 Поскольку у нас только один маршрутизатор в сети провайдера, и все сети подключены непосредственно к нему, то необходимости настраивать маршрутизацию нету. 34 А вот наш msk-arbat-gw1 должен знать куда отправлять пакеты в Интернет, поэтому нам нужен маршрут по умолчанию: 35 36 ```text 37 msk-arbat-gw1(config)# ip route 0.0.0.0 0.0.0.0 198.51.100.1 38 ``` 39 40 Теперь по порядку 41 42 Во первых настроим пул адресов 43 44 ```text 45 msk-arbat-gw1(config)# ip nat pool main_pool 198.51.100.2 198.51.100.14 netmask 255.255.255.240 46 ``` 47 48 Теперь собираем ACL: 49 50 ```text 51 msk-arbat-gw1(config)# ip access-list extended nat-inet 52 ``` 53 54 ## 1\) Сеть управления 55 56 не имеет доступа в интернет вообще 57 Готово 58 59 ## 2\) Хосты из сети ПТО 60 61 Имеют доступ только к профильным сайтам, например, Linkmeup.ru 62 63 ```text 64 msk-arbat-gw1(config-ext-nacl)# permit tcp 172.16.3.0 0.0.0.255 host 192.0.2.2 eq 80 65 ``` 66 67 ## 3\) Бухгалтерия 68 69 Даём доступ всем хостам на оба сервера 70 71 ```text 72 msk-arbat-gw1(config-ext-nacl)# permit ip 172.16.5.0 0.0.0.255 host 192.0.2.3 73 msk-arbat-gw1(config-ext-nacl)# permit ip 172.16.5.0 0.0.0.255 host 192.0.2.4 74 ``` 75 76 ## 4\) ФЭО 77 78 Даём разрешение только финансовому директору — это только один хост. 79 80 ```text 81 msk-arbat-gw1(config-ext-nacl)# permit ip host 172.16.4.123 any 82 ``` 83 84 ## 5\) Other 85 86 Наши компьютеры с полным доступом 87 88 ```text 89 msk-arbat-gw1(config-ext-nacl)# permit ip host 172.16.6.61 any 90 msk-arbat-gw1(config-ext-nacl)# permit ip host 172.16.6.66 any 91 ``` 92 93 ## 6\) Филиалы в Санкт-Петербурге и Кемерово 94 95 Пусть адреса эникиев будут одинаковыми: 172.16.х.222 96 97 ```text 98 msk-arbat-gw1(config-ext-nacl)# permit ip host 172.16.16.222 any 99 msk-arbat-gw1(config-ext-nacl)# permit ip host 172.16.17.222 any 100 msk-arbat-gw1(config-ext-nacl)# permit ip host 172.16.24.222 any 101 ``` 102 103 Вот так выглядит сейчас ACL полностью: 104 105 ```text 106 ip access-list extended nat-inet 107 remark PTO 108 permit tcp 172.16.3.0 0.0.0.255 host 192.0.2.2 eq www 109 remark ACCOUNTING 110 permit ip 172.16.5.0 0.0.0.255 host 192.0.2.3 111 permit ip 172.16.5.0 0.0.0.255 host 192.0.2.4 112 remark FEO 113 permit ip host 172.16.4.123 any 114 remark IAM 115 permit ip host 172.16.6.61 any 116 remark ADMIN 117 permit ip host 172.16.6.66 any 118 remark SPB_VSL_ISLAND 119 permit ip host 172.16.16.222 any 120 remark SPB_OZERKI 121 permit ip host 172.16.17.222 any 122 remark KMR 123 permit ip host 172.16.24.222 any 124 ``` 125 126 Запускаем: 127 128 ```text 129 msk-arbat-gw1(config)# ip nat inside source list nat-inet pool main_pool overload 130 ``` 131 132 Но счастье не будет полным без настройки интерфейсов: 133 На внешнем интерфейсе нужно дать команду **ip nat outside** 134 На внутреннем: **ip nat inside** 135 136 ```text 137 msk-arbat-gw1(config)# int fa0/0.101 138 msk-arbat-gw1(config-subif)# ip nat inside 139 msk-arbat-gw1(config)# int fa0/0.102 140 msk-arbat-gw1(config-subif)# ip nat inside 141 msk-arbat-gw1(config)# int fa0/0.103 142 msk-arbat-gw1(config-subif)# ip nat inside 143 msk-arbat-gw1(config)# int fa0/0.104 144 msk-arbat-gw1(config-subif)# ip nat inside 145 msk-arbat-gw1(config)# int fa0/1.6 146 msk-arbat-gw1(config-subif)# ip nat outside 147 ``` 148 149 Это позволит маршрутизатору понять откуда ждать пакеты, которые нужно будет обработать и куда их потом слать. 150 151 Чтобы сервера в интернете были доступны по доменному имени, нам бы неплохо было обзавестись DNS-сервером в нашей сети: 152  153  154 155 Естественно его, нужно прописать на тех устройствах, с которых будем проверять доступ: 156  157 158 Show must go on! 159 160 С компьютера админа доступно всё: 161  162 163 Из сети ПТО есть доступ только на сайт linkmeup.ru по 80-му порту \(HTTP\): 164  165  166  167 168 В сети ФЭО в мир выходит только 4.123 \(финдиректор\) 169  170  171  172 173 В бухгалтерии работают только сайты клиент-банков. Но, поскольку разрешение дано полностью на протокол IP, то их можно и пинговать: 174  175  176 177 ## 7\) Cервера 178 179 Тут нам нужно настроить проброс портов, чтобы к ним можно было обращаться из Интернета: 180  181 182 ## a\) Веб-сервер 183 184 ```text 185 msk-arbat-gw1(config)# ip nat inside source static tcp 172.16.0.2 80 198.51.100.2 80 186 ``` 187 188 Сразу проверяем, например, мы можем это делать с тестового ПК c аресом 192.0.2.7. 189 Сейчас ничего не заработает, потому что для сети серверов у нас не настроен интерфейс на msk-arbat-gw1: 190 191 ```text 192 msk-arbat-gw1(config)# int fa0/0.3 193 msk-arbat-gw1(config-subif)# ip nat inside 194 ``` 195 196 А теперь: 197  198 199 ## б\) Файловый сервер 200 201 ```text 202 msk-arbat-gw1(config)# ip nat inside source static tcp 172.16.0.3 20 198.51.100.3 20 203 msk-arbat-gw1(config)# ip nat inside source static tcp 172.16.0.3 21 198.51.100.3 21 204 ``` 205 206 Вот для этого в ACL Servers-out мы открывали также и 20-21-й порты для всех 207  208 209 ## в\) Почтовый сервер 210 211 ```text 212 msk-arbat-gw1(config)# ip nat inside source static tcp 172.16.0.4 25 198.51.100.4 25 213 msk-arbat-gw1(config)# ip nat inside source static tcp 172.16.0.4 110 198.51.100.4 110 214 ``` 215 216 Проверить также не сложно. Следуйте инструкциям: 217 Сначала настраиваем почтовый сервер. Указываем домен и создаём двух пользователей. 218  219 220 Далее вносим домен в DNS. Этот шаг необязательный — можно к серверу обращаться и по IP, но почему бы и нет? 221  222 223 Настраиваем компьютер из нашей сети: 224  225 226 Из внешней: 227  228 229 Готовим письмо: 230  231 232 На локальном хосте нажимаем Receive: 233  234 235 ## 8\) Доступ по RDP к компьютерам админа и нашему 236 237 ```text 238 msk-arbat-gw1(config)# ip nat inside source static tcp 172.16.6.61 3389 198.51.100.10 3389 239 msk-arbat-gw1(config)# ip nat inside source static tcp 172.16.6.66 3389 198.51.100.10 3398 240 ``` 241 242 243 На этом первое знакомство с технологией NAT можно считать законченным. 244 В качестве ещё одного ДЗ ответьте на вопрос, почему нет доступа в Интернет с компьютеров эникиев в Питере и в Кемерово. Ведь мы их добавили уже в список доступа.