Библиотека сайта rus-linux.net
Как превратить машину с CentOS/RHEL 6 или 7 в роутер
Оригинал: Turning a CentOS/RHEL 6 or 7 machine into a router
Автор: SHUSAIN
Дата публикации: 13 декабря 2017 года
Перевод: А. Кривошей
Дата перевода: август 2018 г.
В этом руководстве мы научимся превращать RHEL/CentOS 6 и 7 в маршрутизатор с помощью NAT. Маршрутизатор, как известно, это сетевое устройство уровня 3, которое используется для подключения двух или более сетей, то есть подключения локальной сети к глобальной сети или локальной сети к локальной сети и т. д. Маршрутизаторы довольно дороги, особенно для небольших организаций. Поэтому вместо использования специального оборудования мы можем использовать любую машину Linux и преобразовать ее в маршрутизатор. Мы будем обсуждать процесс для RHEL/CentOS 6 и 7. Но прежде всего, давайте обсудим, что нам понадобится для нашей работы.
Предварительные требования
1. Машина с установленной RHEL/CentOS 6 или 7.
2. Два сетевых адаптера для назначения локального IP-адреса и IP-адреса WAN соответственно.
Мы должны назначить IP-адрес для обеих сетевых интерфейсов, один IP-адрес должен быть для локальной сети (информация о нем будет предоставляться нашим сетевым администратором), а другой IP должен быть для доступа к интернету, информация для WAN IP будет предоставлена провайдером. Например:
Ifcfg-en0s3 192.168.1.1 (LAN IP address) Ifcfg-en0s5 10.1.1.1 (WAN IP address)
Примечание. Измените имя интерфейса в соответствии с используемым дистрибутивом Linux.
Теперь, когда у нас есть то, что нам нужно, перейдем к настройке.
Шаг 1. Включение переадресации IP-адресов.
Во-первых, мы включим IP-переадресацию на машине. Эта операция выполняется одинаково в RHEL/CentOS 6 и 7. Для включения переадресации IP, выполните команду:
$ sysctl -w net.ipv4.ip_forward=1
Но это не будет работать после перезагрузки системы. Откройте файл:
$ vi /etc/sysctl.conf
и добавьте в него следующую строку:
net.ipv4.ip_forward = 1
Сохраните файл и выйдите из редактора. Теперь IP-переадресация включена на постоянной основе.
Шаг 2. Настройка правил IPtables/Firewalld
Теперь нам нужно запустить службы IPtables/firewalld, чтобы настроить правило NATting.
$ systemctl start firewalld (Для Centos/RHEL 7) $ service iptables start (Для Centos/RHEL 6)
Следующим шагом является настройка правил NAT в брандмауэре. Выполните следующую команду.
В CentOS/RHEL 6
$ iptables -t nat -A POSTROUTING -o XXXX -j MASQUERADE$ service iptables restart
В CentOS/RHEL 7
$ firewall-cmd –permanent –direct –passthrough ipv4 -t nat -I POSTROUTING -o XXXX -j MASQUERADE -s 192.168.1.0/24 $ systemctl restart firewalld
Здесь XXXX - это имя сетевого интерфейса с IP-адресом WAN. Это завершающий этап настройки Linux-машины как маршрутизатора, далее мы проверим наш маршрутизатор после настройки клиентской машины.
Шаг 3. Настройка клиентской машины
Чтобы проверить маршрутизатор, нам необходимо назначить внутренний (LAN) IP-адрес в качестве шлюза на нашей клиентской машине, в нашем случае 192.168.1.1. Поэтому убедитесь, что у нас назначен адрес 192.168.1.1 в качестве нашего шлюза. Как только это будет сделано, откройте терминал (CMD в случае машины с Windows), и запустите тест пинга, чтобы убедиться, что на клиентской машине доступен интернет.
$ ping google.com