LXF169: Создание сети
Olkol (обсуждение | вклад) (Новая страница: «Категория: Учебники '''Сеть. Заставим компьютеры с Linux общаться друг с другом.'…») |
Olkol (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
[[Категория: Учебники]] | [[Категория: Учебники]] | ||
'''Сеть. Заставим компьютеры с Linux общаться друг с другом.''' | '''Сеть. Заставим компьютеры с Linux общаться друг с другом.''' | ||
+ | == Сеть: Построим маршрутизатор == | ||
− | |||
''Познакомив вас с кирпичиками, из которых строят сети, Джонатан Робертс складывает из них реально работающую сеть.'' | ''Познакомив вас с кирпичиками, из которых строят сети, Джонатан Робертс складывает из них реально работающую сеть.'' | ||
[[Файл:Jonathan_opt.png |100px|left|thumb| '''Наш эксперт''' Джонатан Робертс сбежал из Башен Linux Format, чтобы поискать счастья в качестве сисадмина. | [[Файл:Jonathan_opt.png |100px|left|thumb| '''Наш эксперт''' Джонатан Робертс сбежал из Башен Linux Format, чтобы поискать счастья в качестве сисадмина. | ||
Строка 18: | Строка 18: | ||
Затем повторите те же шаги для второй ВМ, убедившись, что она подключена к той же внутренней сети. Создав виртуальные машины с двумя такими сетевыми интерфейсами, как у нас, мы сделаем так, что они обе смогут подключаться к Интернету (через NAT по умолчанию), но также смогут и взаимодействовать друг с другом напрямую по внутренней сети, которую мы добавили. Эта внутренняя сеть эквивалентна подключению двух виртуальных машин к одному коммутатору [switch] или простому соединению их сетевым кабелем. | Затем повторите те же шаги для второй ВМ, убедившись, что она подключена к той же внутренней сети. Создав виртуальные машины с двумя такими сетевыми интерфейсами, как у нас, мы сделаем так, что они обе смогут подключаться к Интернету (через NAT по умолчанию), но также смогут и взаимодействовать друг с другом напрямую по внутренней сети, которую мы добавили. Эта внутренняя сеть эквивалентна подключению двух виртуальных машин к одному коммутатору [switch] или простому соединению их сетевым кабелем. | ||
− | Базовая настройка сети | + | ===Базовая настройка сети=== |
Завершив установку на обоих компьютерах, подключим обоих к Интернету через сеть NAT по умолчанию. Это даст нам возможность познакомиться с сетевыми конфигурационными файлами Red Hat и освежить кое-что, о чем мы говорили в прошлый раз. | Завершив установку на обоих компьютерах, подключим обоих к Интернету через сеть NAT по умолчанию. Это даст нам возможность познакомиться с сетевыми конфигурационными файлами Red Hat и освежить кое-что, о чем мы говорили в прошлый раз. | ||
Строка 35: | Строка 35: | ||
Вторая строка определяет, какой протокол должен использоваться для получения IP-адреса. Здесь мы указали DHCP (Dynamic Host Configuration Protocol – протокол динамической настройки хоста). Это означает, что ВМ получит IP-адрес, шлюз и информацию о DNS-серверах автоматически с удаленного сервера. В данном случае это не удаленный сервер, а VirtualBox, который эмулирует его. | Вторая строка определяет, какой протокол должен использоваться для получения IP-адреса. Здесь мы указали DHCP (Dynamic Host Configuration Protocol – протокол динамической настройки хоста). Это означает, что ВМ получит IP-адрес, шлюз и информацию о DNS-серверах автоматически с удаленного сервера. В данном случае это не удаленный сервер, а VirtualBox, который эмулирует его. | ||
+ | {{Врезка|left|Ширина=40%|Заголовок=Создаем виртуальную машину |Содержание= 1 Дадим своей ВМ имя> | ||
+ | |||
+ | Нажмите на кнопку Создать [New] в левом верхнем углу окна VirtualBox. Задайте имя ВМ и выберите Linux и Red Hat (вместе с соответствующей архитектурой) из выпадающих списков. | ||
+ | |||
+ | 2 Выберем объем памяти> | ||
+ | |||
+ | Задайте объем памяти в 512 МБ – для простейших сетевых задач это более чем достаточно. | ||
+ | |||
+ | 3 Создадим виртуальный диск> | ||
+ | |||
+ | Размер может быть любым, но не менее 8 ГБ. Динамически назначенный диск сэкономит время при создании виртуальной машины, но может работать медленнее. | ||
+ | |||
+ | 4 Добавим сеть> | ||
+ | |||
+ | Выделив новую ВМ, выберите Settings [Настройки], затем Network [Сеть]. Переключитесь на Adapter 2 [Адаптер 2], поставьте галочку Enable [Включить] и убедитесь, что он подключен ко внутренней сети. | ||
+ | |||
+ | 5 Выберем диск> | ||
+ | |||
+ | В разделе Storage [Устройство хранения данных] меню Settings [Настройки] выберите Empty [Пустой] рядом с IDE controller [Контроллер IDE], затем щелкните на иконке CD справа и откройте загруженный ISO-образ CentOS. | ||
+ | |||
+ | 6 Установим CentOS | ||
+ | |||
+ | Наконец, нажмите Start [Начать] и пройдите процедуру установки CentOS. | ||
+ | }} | ||
Возможны и другие значения параметра BOOTPROTO, в том числе static, если вы хотите вручную назначить этому компьютеру постоянный IP-адрес. | Возможны и другие значения параметра BOOTPROTO, в том числе static, если вы хотите вручную назначить этому компьютеру постоянный IP-адрес. | ||
Наконец, ONBOOT говорит, что интерфейс должен запускаться при каждом запуске скриптов инициализации сети на этом компьютере, то есть при загрузке системы или перезапуске сетевого сервиса. Проверьте это сами, выполнив от имени root команду /etc/init.d/network restart, и убедившись, что сеть работает так, как должна. Для этого можно попробовать отправить пакеты на популярный сайт, например, на Google, командой ping: ping google.com. | Наконец, ONBOOT говорит, что интерфейс должен запускаться при каждом запуске скриптов инициализации сети на этом компьютере, то есть при загрузке системы или перезапуске сетевого сервиса. Проверьте это сами, выполнив от имени root команду /etc/init.d/network restart, и убедившись, что сеть работает так, как должна. Для этого можно попробовать отправить пакеты на популярный сайт, например, на Google, командой ping: ping google.com. | ||
+ | {{Врезка|left|Ширина=98%|Заголовок=NAT |Содержание= | ||
+ | В этой статье мы упомянули нечто под названием NAT и соответствующую концепцию, называемую маскированием. Наверное, вам будет полезно узнать, что же такое NAT, особенно если учесть, что вы почти наверняка уже пользуетесь им дома. | ||
+ | |||
+ | NAT – сокращение от “Network Address Translation [Преобразование сетевого адреса]”. Чтобы понять, что это означает на самом деле, представьте себе свое домашнее интернет-подключение. Ваш провайдер выдает вам внешний IP-адрес, посредством которого сайты и другие компьютеры в Интернете могут общаться с вами. Но почти наверняка больше одного адреса провайдер вам не даст. | ||
+ | |||
+ | » Проблема нехватки адресов IPv4 Причина в том, что сегодня адресов IPv4 осталось мало. Всего их 4294967296, и с виду это огромное количество, но первоначально адреса выделялись блоками и всем желающим, что привело к быстрому сокращению их запасов. Именно поэтому ваш провайдер ограничился выдачей вам одного IP-адреса. | ||
+ | |||
+ | Но, как и у большинства людей, у вас дома скорее всего несколько устройств, подключенных к Интернету: у вас вполне может быть несколько мобильных телефонов, несколько ноутбуков, планшет, настольный компьютер и телевизор Smart TV. А у технарей их и того больше! Как они все подключаются к Интернету, если IP-адрес всего один? | ||
+ | |||
+ | » Тайные адреса Ответ – NAT. Этот единственный IP-адрес назначается роутеру, который в свою очередь назначает уникальные, частные IP-адреса всем устройствам в доме. Когда одно из этих устройств хочет подключиться к Интернету, подключение производится через шлюз по умолчанию – ваш роутер. Затем роутер изменяет содержимое пакетов, заменяя частный IP-адрес публичным адресом роутера. После этого он отправляет пакет в Интернет к месту назначения. Заодно он следит за тем, какой пакет относится к какому устройству, и при получении ответа снова изменяет адрес получателя. Но на этот раз он перенаправляет ответ извне на исходное устройство, начавшее диалог. | ||
+ | |||
+ | На нашем уроке первая виртуальная машина выступает как роутер для второй, выполняя преобразование сетевого адреса для ее пакетов и отправляя их во внешний Интернет. Хитрость здесь и в том, что первая виртуальная машина тоже находится за собственным NAT VirtualBox, который, вероятно, тоже находится за NAT роутера. | ||
+ | > Попытавшись попинговать хост в другой по отношению к вам сети, вы получите в ответ лишь молчание. | ||
+ | }} | ||
Немного везения, и ваши пакеты вернутся – это значит, что вы подключены к Интернету, следовательно, ваши IP-адрес, маска подсети (или префикс), шлюз по умолчанию и DNS – все, что нужно для подключения подсети – заданы верно и работают правильно. | Немного везения, и ваши пакеты вернутся – это значит, что вы подключены к Интернету, следовательно, ваши IP-адрес, маска подсети (или префикс), шлюз по умолчанию и DNS – все, что нужно для подключения подсети – заданы верно и работают правильно. | ||
Просмотреть все эти настройки можно, заглянув в различные конфигурационные файлы или с помощью утилит, о которых мы говорили в прошлый раз. Например, команда ip route выведет шлюз по умолчанию (в данном случае, виртуальный шлюз, предоставляемый VirtualBox); в /etc/resolv.conf можно найти сервер имен; а команда ip a выведет ваши IP-адрес и префикс. Повторите все эти действия для второго компьютера. | Просмотреть все эти настройки можно, заглянув в различные конфигурационные файлы или с помощью утилит, о которых мы говорили в прошлый раз. Например, команда ip route выведет шлюз по умолчанию (в данном случае, виртуальный шлюз, предоставляемый VirtualBox); в /etc/resolv.conf можно найти сервер имен; а команда ip a выведет ваши IP-адрес и префикс. Повторите все эти действия для второго компьютера. | ||
− | Статические адреса | + | ===Статические адреса=== |
В предыдущем разделе большую часть трудной работы сделали протокол DHCP и VirtualBox. Теперь мы настроим сетевое соединение между двумя виртуальными машинами, но все настройки будем добавлять сами. | В предыдущем разделе большую часть трудной работы сделали протокол DHCP и VirtualBox. Теперь мы настроим сетевое соединение между двумя виртуальными машинами, но все настройки будем добавлять сами. |
Версия 06:55, 13 ноября 2018
|
|
|
Сеть. Заставим компьютеры с Linux общаться друг с другом.
Сеть: Построим маршрутизатор
Познакомив вас с кирпичиками, из которых строят сети, Джонатан Робертс складывает из них реально работающую сеть.
Месяц назад мы познакомили вас с основными понятиями сетей – пакетами, физическими соединениями и логической адресацией, а также с утилитами, при помощи которых в Linux можно исследовать работу сети. Пользуясь ими, вы сможете эффективно работать с сетями и диагностировать проблемы, с которыми столкнетесь.
На данном уроке мы покажем, как эти элементы сочетаются друг с другом в настоящих сетях. Сперва заставим два компьютера взаимодействовать друг с другом напрямую, затем продемонстрируем, как превратить компьютер с Linux в маршрутизатор (он же – роутер). Парк компьютеров вам не потребуется – все это мы будем делать в VirtualBox, но вы должны уметь применять те же самые технологии к настоящим сетям.
В наших примерах мы воспользуемся CentOS – он основан на Red Hat Enterprise Linux и является популярной платформой для серверов. Если вам интересен Ubuntu или другие дистрибутивы на основе Debian, загляните во врезку «Дистрибутивы на базе Debian».
Прежде чем перейти к сети, создадим систему, в которой мы будем практиковаться. Сначала установите VirtualBox. Он должен быть в репозиториях большинства дистрибутивов, так что для его установки просто воспользуйтесь менеджером пакетов своего дистрибутива. После этого загрузите минимальный установочный диск CentOS 6.3 (http://bit.ly/1446qQO).
Теперь создайте две новых виртуальных машины (ВМ) в VirtualBox, следуя нашему пошаговому руководству на соседней странице, позаботившись добавить все необходимые сетевые интерфейсы.
Затем повторите те же шаги для второй ВМ, убедившись, что она подключена к той же внутренней сети. Создав виртуальные машины с двумя такими сетевыми интерфейсами, как у нас, мы сделаем так, что они обе смогут подключаться к Интернету (через NAT по умолчанию), но также смогут и взаимодействовать друг с другом напрямую по внутренней сети, которую мы добавили. Эта внутренняя сеть эквивалентна подключению двух виртуальных машин к одному коммутатору [switch] или простому соединению их сетевым кабелем.
Базовая настройка сети
Завершив установку на обоих компьютерах, подключим обоих к Интернету через сеть NAT по умолчанию. Это даст нам возможность познакомиться с сетевыми конфигурационными файлами Red Hat и освежить кое-что, о чем мы говорили в прошлый раз.
После загрузки виртуальной машины первым делом надо перейти в каталог /etc/sysconfig/network-scripts. В дистрибутивах на базе Red Hat этот каталог содержит скрипты запуска и файлы настройки всех сетевых устройств, подключенных к компьютеру. Если вы следовали нашему пошаговому руководству, вы должны увидеть два конфигурационных файла – ifcfg-eth0 и ifcfg-eth1 (в других версиях Red Hat это могут быть ifcfg-em1 и ifcfg-em2). Eth0 – первое сетевое устройство, и оно должно ссылаться на первый адаптер (Adapter 1) в настройках VirtualBox – это сеть NAT.
Откройте в Vi файл ifcfg-eth0 и убедитесь, что в нем есть такие параметры со своими значениями:
NM_CONTROLLED=”no”
BOOTPROTO=”dhcp”
ONBOOT=”yes”
Первая строка говорит о том, что менеджер сети (NetworkManager) не должен управлять этим интерфейсом – раз мы пытаемся делать это вручную, его вмешательство может внести путаницу, поэтому мы его отключаем.
Вторая строка определяет, какой протокол должен использоваться для получения IP-адреса. Здесь мы указали DHCP (Dynamic Host Configuration Protocol – протокол динамической настройки хоста). Это означает, что ВМ получит IP-адрес, шлюз и информацию о DNS-серверах автоматически с удаленного сервера. В данном случае это не удаленный сервер, а VirtualBox, который эмулирует его.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Возможны и другие значения параметра BOOTPROTO, в том числе static, если вы хотите вручную назначить этому компьютеру постоянный IP-адрес.
Наконец, ONBOOT говорит, что интерфейс должен запускаться при каждом запуске скриптов инициализации сети на этом компьютере, то есть при загрузке системы или перезапуске сетевого сервиса. Проверьте это сами, выполнив от имени root команду /etc/init.d/network restart, и убедившись, что сеть работает так, как должна. Для этого можно попробовать отправить пакеты на популярный сайт, например, на Google, командой ping: ping google.com.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Немного везения, и ваши пакеты вернутся – это значит, что вы подключены к Интернету, следовательно, ваши IP-адрес, маска подсети (или префикс), шлюз по умолчанию и DNS – все, что нужно для подключения подсети – заданы верно и работают правильно.
Просмотреть все эти настройки можно, заглянув в различные конфигурационные файлы или с помощью утилит, о которых мы говорили в прошлый раз. Например, команда ip route выведет шлюз по умолчанию (в данном случае, виртуальный шлюз, предоставляемый VirtualBox); в /etc/resolv.conf можно найти сервер имен; а команда ip a выведет ваши IP-адрес и префикс. Повторите все эти действия для второго компьютера.
Статические адреса
В предыдущем разделе большую часть трудной работы сделали протокол DHCP и VirtualBox. Теперь мы настроим сетевое соединение между двумя виртуальными машинами, но все настройки будем добавлять сами.
Первое, что нужно отметить – если бы это были настоящие компьютеры, их бы пришлось соединять физическим кабелем, либо напрямую, либо через свитч или роутер. Так как это виртуальные машины, мы уже сделали это, подключив их вторые интерфейсы к одной и той же внутренней сети.
Поэтому, как и прежде, начнем с каталога /etc/sysconfig/network-scripts. Вам понадобится файл ifcfg-eth1, но он будет выглядеть не так, как в прошлый раз:
NM_CONTROLLED=”no”
BOOTPROTO=”static”
IPADDR=”192.168.1.2”
PREFIX=24
ONBOOT=”yes”
Протокол загрузки теперь установлен в static [статический] – это означает, что вместо автоматического получения IP-адреса нам придется задать его вручную. Это делается в параметрах IPADDR и PREFIX. IP-адрес может быть любым, но принято, чтобы он начинался с 10 (8-битный префикс), 172.16 (12- битный префикс) или 192.168 (16- битный префикс). Эти адреса выделены для «частного» использования, и у большинства роутеров они закрыты для доступа извне. Кроме того, не забывайте, что первый (для 24-битного префикса – .0) и последний (.255) адреса зарезервированы как адрес сети и широковещательный адрес, поэтому их назначать нельзя.
Чтобы выбрать префикс, взгляните на врезку «Подробнее про IP-адреса» из прошлой статьи и затем примите решение. Помните, что для 24-битного префикса только последний октет идентифицирует хост, а остальные – сеть; для 16-битного префикса, два последних октета представляют хост, а первые два – сеть. Мы воспользуемся 24-битным префиксом.
После этого сбросьте сеть, как раньше.
Затем попытайтесь попинговать со второй виртуальной машины первую по ее новому IP-адресу: 192.168.1.2. Ни один из пакетов не должен вернуться. Чтобы соединение можно было установить, нужно дать второму компьютеру IP-адрес с точно таким же префиксом (или маской подсети). Мы советуем использовать 192.168.1.3. Добавьте его в соответствующий файл /etc/sysconfig/network-scripts и перезапустите сеть.
Если теперь попинговать адрес 192.168.1.2 со второго компьютера, пакеты должны возвращаться. Более того, если перейти на первый компьютер и попробовать попинговать 192.168.1.3, это тоже должно работать. Подключение по SSH также должно работать, и если запустить web-сервер на одной из виртуальных машин, он должен быть доступен с другой.
Теперь два компьютера могут взаимодействовать. Отлично! Но при каждом подключении набирать IP-адреса неудобно. Обычно компьютерам назначают имена, которые проще запомнить и легче набирать. Это можно сделать несколькими способами. Например, в сети с большим количеством компьютеров стоит создать свой сервер DNS (Domain Name System – система доменных имен), но это выходит далеко за рамки нашего урока.
Так как у нас всего два компьютера, их имена можно задать гораздо проще – поместить их в файл /etc/hosts. Этот файл содержит список IP-адресов и их алиасов, поэтому в него можно добавить записи для двух наших компьютеров:
192.168.1.2 lxf-network-1
192.168.1.3 lxf-network-2
Если добавить их в файл /etc/hosts на обоих компьютерах, вы должны увидеть, что компьютеры пингуются по именам lxf-network-1 и lxf-network-2, и вас перенаправляют на нужный компьютер – так-то лучше.
Создаем роутер
Пока мы не задавали шлюз ни на одном из наших компьютеров, поскольку получали его от DHCP из сети NAT VirtualBox по умолчанию вместе с данными DNS, и таким образом наши компьютеры подключались к внешнему Интернету. Чтобы продемонстрировать еще кое-какие возможности сети, отключим соединение NAT на второй виртуальной машине и настроим первую как роутер для предоставления доступа в Интернет.
Сначала выполним команду ifdown eth0 для выключения интерфейса NAT на второй виртуальной машине. Теперь, когда интерфейс настроен, эта команда вместе со своей напарницей ifup может использоваться для включения и выключения интерфейсов.
Потом попробуйте попинговать Google с этого компьютера, и вы увидите, что это больше не работает. Чтобы все заработало снова, нужно внести изменения в конфигурацию первой виртуальной машины.
Сначала ей нужно разрешить перенаправлять пакеты с одного сетевого интерфейса на другой – это самое важное и единственное, для чего нужен роутер. В Linux такое можно, но по умолчанию эта функция отключена. Чтобы снова ее включить, откройте файл /etc/sysctl.conf – он управляет различными аспектами работы ядра, и установите net.ipv4.ip_forward = 1. Затем запустите sysctl -p /etc/sysctl.conf для загрузки новой конфигурации.
После этого вам понадобится настроить собственный NAT, или сетевое маскирование; в Linux это делается с помощью IPTables – брандмауэра, встроенного в ядро.
IPTables пугают многих, но на самом деле все очень просто: это лишь набор правил, на которые смотрит ядро при обработке пакета. Если пакет соответствует любому из этих правил, ядро применяет к нему действие, указанное в правиле. Действия могут включать отбрасывание или прием пакета или манипуляцию с ним для изменения его источника или места назначения.
В нашем случае, когда пакет прибывает на первую виртуальную машину со второй на интерфейс eth1, мы хотим применить к нему действие masquerade – то есть направить его во внешний мир через интерфейс eth0, представив, что пакет пришел с первой, а не со второй виртуальной машины:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Разберем это:
» -t nat определяет, на какой набор правил в какой таблице правил нужно посмотреть.
» -A POSTROUTING – поднабор правил, которые нужно просмотреть, иначе известный как цепочка. Цепочка определяет, в какой точке процесса маршрутизации должно применяться правило.
» -o eth1 определяет, что это правило должно применяться ко всем пакетам, которые будут выходить из интерфейса eth1.
» -j MASQUERADE говорит, что нужно «перепрыгнуть» на действие MASQUERADE, когда любой пакет соответствует этому правилу.
С этим правилом добавьте шлюз по умолчанию GATEWAY = 192.168.1.2 в файл /etc/sysconfig/network (в котором хранится общая сетевая конфигурация для всех интерфейсов) на второй виртуальной машине, задайте популярный внешний сервер имен в /etc/resolv.conf, добавив туда nameserver 8.8.8.8 (IP-адрес сервера имен Google), и у вас должно получится полностью рабочее интернет-подключение, несмотря на то, что никакого прямого подключения у вас нет.
Если вы хотите подробнее узнать об IPTables, прочтите несколько HowTo на сайте Netfilter: http://netfilter.org/documentation/.
Вот и все, на что у нас хватило места в этом месяце. Но не отчаивайтесь: за последние два урока вы многое узнали о сети. Проявив немного терпения, вы сможете читать другие руководства и создавать гораздо более сложные конфигурации, точно соответствующие вашим потребностям. |