Используйте firewall-cmd
команду.
Предполагая, что вы открываете брандмауэр до OpenVPN в зоне по умолчанию, выполните следующие команды. Если вы запускаете его в зоне не по умолчанию, добавьте --zone=<zone>
к командам.
Примечание. Если вы используете public
зону по умолчанию для внешнего сетевого адаптера, то ваш петлевой интерфейс также может быть замаскирован (в зависимости от версии, на которой firewalld
вы работаете), что может вызвать проблемы, если вы используете службу (например, MySQL), к которой осуществляется доступ на местном уровне.
Сначала перечислите, что открыто в данный момент:
# firewall-cmd --list-services
http https ssh
Далее добавьте openvpn
сервис:
# firewall-cmd --add-service openvpn
success
Быстрая проверка:
# firewall-cmd --list-services
http https openvpn ssh
Вышесказанное позволит openvpn
работать, что вы можете сейчас проверить. Тем не менее, это не будет продолжаться в течение перезапусков. Чтобы сделать его постоянным, добавьте --permanent
опцию:
# firewall-cmd --permanent --add-service openvpn`
success
Обратите внимание, что эта последняя команда не открывает порт до следующего перезапуска, поэтому вам нужно использовать обе команды.
Наконец, добавьте маскарад:
# firewall-cmd --add-masquerade
success
И сделать его постоянным после перезагрузки:
# firewall-cmd --permanent --add-masquerade
success
Подтверди это:
# firewall-cmd --query-masquerade
yes
Обратите внимание, что если ваше входящее соединение OpenVPN находится в другой зоне, чем ваше интернет-соединение, маскарад должен быть последним, и вам нужно будет использовать эту --zone=<zone>
опцию с --add-masquerade
командами.