Categories: Шпаргалки

Настройка Интернет шлюза на CentOS

Тематические термины: интернет шлюз , CentOS , NAT .

Процесс настройки шлюза (NAT) на системах UNIX, обычно, выполняется в несколько команд: включением перенаправления на уровне системы и настройкой firewall.

Настройка системы

Все что нужно настроить — включить перенаправления на уровне ядра. Для этого открываем следующий файл:

vi /etc/sysctl.conf

И добавляем в него следующую строку:

net.ipv4.ip_forward=1

После применяем настройку:

sysctl -p /etc/sysctl.conf

В случае с единым сетевым интерфейсом больше ничего делать не потребуется — CentOS начнет работать как Интернет-шлюз.

В случае с несколькими сетевыми адаптерами, настраиваем сетевой экран.

Настройка брандмауэра

Рассмотрим настройку фаервола при помощи двух различных популярных утилит — firewalld и iptables.

Firewalld

Настройка выполняется для двух сетевых интерфейсов — ens32 (внутренний) и ens34 (внешний):

firewall-cmd —direct —permanent —add-rule ipv4 nat POSTROUTING 0 -o ens34 -j MASQUERADE

firewall-cmd —direct —permanent —add-rule ipv4 filter FORWARD 0 -i ens32 -o ens34 -j ACCEPT

firewall-cmd —direct —permanent —add-rule ipv4 filter FORWARD 0 -i ens34 -o ens32 -m state —state RELATED,ESTABLISHED -j ACCEPT

systemctl restart firewalld

Iptables

Настройка выполняется из расчета, что Интернет настроен через интерфейс ens160 , а внутренняя сетя через ens32 :

iptables -t nat -A POSTROUTING -o ens160 -j MASQUERADE

Если на сервере для доступа в локальную и глобальную сети используются разные сетевые интерфейсы, нам может понадобиться создать еще два правила:

iptables -A FORWARD -i ens32 -o ens160 -m state —state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i ens32 -o ens160 -j ACCEPT

Сохраняем правила:

yum install iptables-services

service iptables save

Проброс портов (Port Forwarding)

Необходим для перенаправление сетевых запросов на сервер, стоящий за NAT и не имеющий прямого выхода во внешнюю сеть. Настройки отличаются в зависимости от способа управления брандмауэром netfilter.

Firewalld

firewall-cmd —zone=external —permanent —add-forward-port=port=25:proto=tcp:toport=8025:toaddr=192.168.0.15

* где 25 — прослушиваемый внешний порт, для которого сработает перенаправление; tcp — используемый транспортный протокол; 8025 — на какой порт перенаправить запрос; 192.168.0.15 — IP-адрес сервера, на который отправляем запросы.
* также обратите внимание, что в команде мы используем зону external , но в вашей среде она может и не использоваться. Посмотреть список активных зон можно командой firewall-cmd —get-active-zones .

Разрешаем сам порт:

firewall-cmd —permanent —zone=external —add-port=25/tcp

Чтобы правило вступило в силу:

firewall-cmd —reload

Iptables

Настройка выполняется двумя командами и двумя спомобами.

а) Способ 1:

iptables -t nat -I PREROUTING -p tcp -m tcp -d 10.8.232.111 —dport 25 -j DNAT —to-destination 192.168.0.15:8025

iptables -t nat -I POSTROUTING -p tcp -m tcp -s 192.168.0.15 —sport 8025 -j SNAT —to-source 10.8.232.111:25

б) Способ 2:

iptables -t nat -I PREROUTING -p tcp -i eth0 —dport 25 -j DNAT —to-destination 192.168.0.15:8025

iptables -I FORWARD -p tcp -d 192.168.0.15 —dport 8025 -m state —state NEW,ESTABLISHED,RELATED -j ACCEPT

* где eth0 — внешний сетевой интерфейс.

Разрешаем порт:

iptables -I INPUT 1 -p tcp —dport 8025 -j ACCEPT

* обратите внимание, что мы разрешаем порт, на который переводим запрос, так как цепочки POSTROUTING и PREROUTING работают до цепочки FILTER, а потому открывать нужно не входящий порт ( 25 ), а тот, на который назначается пакет ( 8025 ).

Не забываем сохранить правила:

service iptables save

Читайте также

1. Настройка firewalld в CentOS .

2. Настройка netfilter с помощью iptables .

admin

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

4 дня ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

4 дня ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

4 дня ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

4 дня ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

4 дня ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

4 дня ago