|
Нет нужды говорить, что сегодня подавляющее большинство парка маршрутизаторов как в мире, так и в нашей стране - маршрутизаторы Cisco, работающие под управлением их собственной операционной системы Cisco IOS. Начиная с версии 11.2 IOS включает в себя поддержку NAT, однако от версии к версии набор функциональных возможностей IOS NAT несколько различается. До версии 12.0 стандартная поставка IOS включает в себя либо только PAT (маскарад), либо не включает NAT вовсе. Поставка "Plus" имеет полную поддержку NAT во всех версиях начиная с 11.2. Полный NAT (full NAT) от циски - это работа по всем 3-м рассмотренным выше схемам, плюс, естественно, достойный уровень "интеллектуальности" применительно к проблемным протоколам. Однако и на старуху бывает проруха, кое-что в IOS NAT не поддерживается: IP Multicast, обновление маршрутных таблиц, трансфер зон DNS, BOOTP, talk, ntalk, SNMP, NetShow. Впрочем, к чести Cisco, не-функционированию почти всего из перечисленного можно найти достойное оправдание.
Что приятно, конфигурирование IOS NAT достаточно просто, даже, если такой термин может быть применим к IOS - интуитивно. Вот вам пример: осуществление трансляции адресов внутренних сетей 192.168.1.0 или 192.168.2.0 в пулл внешних 171.69.233.208/28 :
ip nat pool net-20 171.69.233.208 171.69.233.223 netmask <netmask> 255.255.255.240 ip nat inside source list 1 pool net-20 ! interface Ethernet0 ip address 171.69.232.182 255.255.255.240 ip nat outside ! interface Ethernet1 ip address 192.168.1.94 255.255.255.0 ip nat inside ! access-list 1 permit 192.168.1.0 0.0.0.255 access-list 1 permit 192.168.2.0 0.0.0.255
На мой взгляд, вполне "душевный" синтаксис команд.
Более подробно о возмостях Cisco IOS NAT вы можете прочесть на сайте компании (www.cisco.com) в разделе технической документации. Winroute
Если вашей компании накладно или по каким-то иным причинам нет необходимости держать у себя аппаратный маршрутизатор, или вы, как ваша покорная слуга, принципиальный поклонник PC router'ов - можно организовать работу NAT на базе ПК под управлением Windows95/98/NT или какого-либо клона UNIX.
Наилучшим решением для win32 по праву признан чешский продукт Winroute. Это интегрированное решение, включающее в себя IP маршрутизатор, NAT, файерволл, DHCP , proxy и почтовый сервера. В отличае от реализации от Сisco, Winroute NAT способен работать лишь на некоторых типах интерфейсов: LAN, ppp-dialup, ISDN, xDSL, DirecPC. Из чего следует, что этот продукт не будет работать на хосте, подключенному к Интернет через WAN-интерфейс к, например, сети x.25 или frame relay, поверх которых работает ваш IP, что в рамках Беларуси является топологией исключительно распространенной. Еще одна чисто местная проблема - широкая распространенность протокола SLIP в dial-up соединениях. SLIP интерфейсы, к сожалению, не поддерживаются вовсе, и разработчик делать это решительно не собирается. В обоих случаях вам придется выделять Winroute в качестве отдельного сегмента с двумя LAN-интерфейсами.
Врочем овчинка выделки стоит! Winroute поддерживает шипрочайший набор протоколов. Не буду приводить полный список, отмечу только что корректно работает UnixTalk, ICA Winframe, h.323, и, естественно, все широкоупотребимые. Пакет занимает очень мало места на диске и, выполняя столько полезных задач, съедает относительно немного оперативной памяти. С точки зрения безопасности особого внимания заслуживает тот факт, что модули NAT и файерволла работают "под" винсоком, на более низком уровне, тем самым при грамотной конфигурации файерволла вы сможете уберечь себя от проблем ( в том числе еще не "открытых" в реализации TCP/IP от Microsoft.
Конфигурация Winroute потрясающе интуитивна, административный GUI - безупречен! Стоит Winroute по нашим меркам бешенных денег (от $50 до $700) , но... всегда есть варианты для, так сказать, злоупотреблений. Подробности на www.winroute.com.
Linux IP Masquerade
Допустим вы принципиально не переностите платформу win32 для управления сетями, либо являетесь поклонником open source и бесплатных (в исконном смысле слова программных продуктов. Постройте NAT на Linux.
Исторически маскарад живет на Линуксе начиная с версий ядра 1.3.х, однако на практике нормальный NAT можно получить на ядрах 2.0.3х - если вы убежденный ретроград, и на всех 2.2.х. О последних и пойдет речь. Маскарад на Линуксе встраивается в ядро. Часть современных дистрибутивов поставляются с изначально встроенной поддержкой маскарада, но в общем случае нужно посмотреть, что есть в вашем ядре и при необходимости пересобрать (перекомпилировать) ядро (вообще-то пересобирать под свои задачи ядро - это в принципе хороший тон. Конфигурируется линуксовый NAT с помощью утилит - администраторов файерволлов: ipfwadm для ядер 2.0.х и ipchains для 2.2.х. На мой взгляд, интуитивным этот интерфейс вряд-ли назовешь...
Маскарад на Линуксе достаточно интеллектуален, правда, поддержка того или иного протокола зависит от установленной версии masquerade-модуля ядра и/или соответствующих патчей - и того и другого очень много, поэтому советую следить за документацией. На данный момент в качестве неподдерживаемых протоколов/сервисов были замечены: Netscape CoolTalk, talk, ntalk, WebPhone, под вопросом X-Windows. Многие вещи требуют дополнительных ухищрений в конфигурации файерволла (port mapping и т. п). По крайней мере терминалы h.323, как заявлено, без такого рода донастройки работают криво... Это что касается недостатков.
В качестве достоинств следует отметить, что исходя из общей идеологии Линукс/GNU - процесс замены версий и выпуска патчей идет очень быстро, поэтому есть вероятность, что то, что не поддерживается сегодня, будет прекрасно работать уже завтра. Вторым достоинством является то, что решеня на базе Линукс до сих пор (хотя уже с некоторой натяжкой) считаются одними из самых малотребовательных к ресурсам ПК. Вы можете собрать сами или найти в Интернете "маленький" специализированный Линукс, который на минимальной аппаратной конфигурации (P80-100, 32M RAM) обеспечит вам хороший NAT Router - поставить в шкаф и забыть.
Комментарии
 |