Читаем Внутреннее устройство Linux полностью

Однако все не настолько просто, как выглядит. Нормальная IP-маршрутизация знает лишь IP-адреса источника и пункта назначения в интернет-уровне. Однако, если бы маршрутизатор имел дело только с интернет-уровнем, каждый хост внутренней сети смог бы установить только одно соединение с единственным пунктом назначения в данный момент времени (есть и другие ограничения), поскольку та часть пакета, которая относится к интернет-уровню, не содержит информации о том, как отличить повторные запросы от одного хоста к тому же пункту назначения. Следовательно, функция NAT должна выйти за пределы интернет-уровня и «вскрыть» пакеты, чтобы извлечь дополнительную идентифицирующую информацию, в частности номера портов UDP и TCP, из транспортных уровней. Протокол UDP достаточно прост, поскольку здесь есть порты, но нет соединений; сложнее дело с транспортным уровнем на основе протокола TCP.

Чтобы компьютер с Linux играл роль NAT-маршрутизатора, в конфигурации ядра должны быть активизированы следующие составляющие: фильтрация сетевых пакетов («поддержка брандмауэра»), отслеживание подключений, поддержка IP-таблиц, полная функция NAT и поддержка маскировки (MASQUERADE). В большинстве версий ядра эта поддержка присутствует.

Далее необходимо запустить несколько сложных на вид команд iptables, чтобы маршрутизатор использовал функцию NAT для частной подсети. Вот пример, который применяется к внутренней сети Ethernet с интерфейсом eth1, совместно использующей внешнее подключение к интерфейсу eth0 (о синтаксисе команды iptables вы узнаете подробнее из раздела 9.21):

# sysctl — w net.ipv4.ip_forward

# iptables — P FORWARD DROP

# iptables — t nat — A POSTROUTING — o eth0 — j MASQUERADE

# iptables — A FORWARD — i eth0 — o eth1 — m state — state ESTABLISHED,RELATED — j ACCEPT

# iptables — A FORWARD — i eth1 — o eth0 — j ACCEPT

примечание

Хотя на практике функция NAT работает превосходно, помните о том, что по существу она является обходным маневром, который используется для продления времени жизни пространства адресов IPv4. В совершенном мире мы без каких-либо затруднений пользовались бы адресами IPv6 (Интернет следующего поколения), более длинными и усовершенствованными.

Вам, вероятно, никогда не потребуется использовать команды, приведенные выше, если вы не заняты разработкой собственного ПО. К тому же сейчас доступно так много специализированных маршрутизаторов. Однако роль Linux в сети на этом не заканчивается.

9.20. Маршрутизаторы и Linux

В ранние годы широкополосного Интернета пользователи с не столь высокими требованиями просто подключали свой компьютер напрямую к Интернету. Однако прошло совсем немного времени, и многим захотелось совместно использовать единственное широкополосное подключение для своих сетей, а пользователи Linux, в частности, настраивали дополнительный компьютер в качестве маршрутизатора с функцией NAT.

Производители откликнулись на этот новый рынок, предложив специализированные аппаратные средства маршрутизации, которые содержат эффективный процессор, некоторый объем флеш-памяти и несколько сетевых портов — этой функциональности достаточно для управления типичной простой сетью, запуска такого необходимого ПО, как сервер DHCP, а также для использования функции NAT. Когда дело дошло до программного обеспечения, многие производители прибегли к помощи Linux, чтобы привести в действие свои маршрутизаторы. Были добавлены необходимые функции ядра, упрощено ПО пространства пользователя и созданы графические интерфейсы администрирования.

Почти сразу же с появлением первых таких маршрутизаторов многие пользователи заинтересовались детальным устройством аппаратных средств. У одного из производителей, компании Linksys, потребовали выпустить исходный код ПО на условиях лицензии для одного из его компонентов, и вскоре для маршрутизаторов стали появляться специальные версии Linux, такие как OpenWRT. Символы WRT возникли из названия моделей оборудования Linksys.

Помимо любознательности, есть веские причины для использования таких версий: они зачастую более стабильны, чем заводская прошивка, в особенности для старых маршрутизаторов, и, как правило, предлагают дополнительные функции. Например, чтобы создать мост между сетью и беспроводным подключением, многие производители требуют покупки подходящего оборудования. Однако если установить OpenWRT, то тогда ни производитель, ни возраст оборудования не будут иметь значения. Это связано с тем, что вы используете в маршрутизаторе по-настоящему открытую операционную систему, для которой неважно, что за аппаратные средства вы применяете, если только они поддерживаются.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных