최근 CentOS 6 서버를 CentOS 7로 업그레이드하고 기본이 아닌 포트(1197)에서 실행되도록 OpenVPN을 구성하느라 바빴지만 방화벽 관련 문제가 발생했습니다.
방화벽이 실행되는 동안에는 서버에 연결할 수 없지만 연결을 중지하면 제대로 작동합니다.
Google은 방화벽이 OpenVPN과 작동하려면 다음이 충분해야 한다고 말합니다.
Firewalld Config
# firewall-cmd –-add-service openvpn –-permanent
# firewall-cmd –-add-masquerade –-permanent
Additional Config for Non-Standard Port
# firewall-cmd --add-port=1197/tcp --permanent
Apply Firewalld Changes
# firewall-cmd --reload
# systemctl restart firewalld
OpenVPN Execute
# systemctl start openvpn@server
# systemctl enable openvpn@server
이것이 작동하는 것 같습니다. 적용된 것을 볼 수 있습니다.
# firewall-cmd –-list-all
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: dhcpv6-client openvpn ssh
ports: 80/tcp 1197/tcp
protocols:
masquerade: yes
forward-ports:
sourceports:
icmp-blocks:
rich rules:
그런데 Firewalld가 실행 중일 때만 연결에 실패합니다. Firewalld에 추가 설정이 필요한가요?
답변1
방화벽은 OpenVPN에서 사용하는 프로토콜과 포트에 대한 패킷을 수락해야 합니다. 따라서 이 경우 방화벽 구성을 tcp/1197에서 udp/1197로 변경해야 합니다.