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

Последнее обновление 08.03.2019

На хостинге был арендован сервер под разработку. На него установлен XenServer 7.6 последней версии на данный момент + есть 2 выделенных IP-адреса – один под сам XenServer, а второй под виртуальную машину, которая будет служить шлюзом и прокси-сервером для виртуальных маших.

Схематично будет выглядеть так

gate eth0 – 91.203.23.13 – external IP
gate eth1 – 10.16.0.21
vm1 eth0 – 10.16.0.22

Для того, чтобы машина могла пересылать трафик, нужно сделать изменения в ядре и применить эти изменения на лету:

/etc/sysctl.conf.d/forward.conf:
net.ipv4.ip_forward=1

sysctl -p /etc/sysctl.conf.d/forward.conf

Осталось настроить фаервол для доступа к сети интернет с vm1. Для этого будет настроен штатный Firewalld. Он прост и удобен в настройке.

Так настраивается маскарадинг на внешнем интерфейсе eth0:

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

А так правила форвардинга трафика между интерфейсами:

firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i eth1 -o eth0 -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter FORWARD 0 -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEP

Для работы DNS с vm1 необходимо разрешить 53 порт на gate:

firewall-cmd --permanent --zone=external --add-port=53/tcp

И осталось перезагрузить сервис:

systemctl restart firewall


Обсуждение закрыто.