Centos 7에서 iptables 대신 Firewalld를 사용하도록 OpenVPN 구성


14

를 사용하여 Centos 7에서 OpenVPN을 구성해야합니다 firewalld.

Centos 6.5에서 iptables를 사용했으며 다음 줄만 추가하면됩니다 /etc/sysconfig/iptables.

-A POSTROUTING -s "10.0.0.0/24" -o "wlan0" -j MASQUERADE 
-A FORWARD -p tcp -s 10.0.0.0/24 -d 0.0.0.0/0 -j ACCEPT 
run the command: echo 1 > /proc/sys/net/ipv4/ip_forward 
open port 443.

답변:


31

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합니다.


방화벽에서 openvpn 서비스의 정의가 무엇인지 어떻게 알 수 있습니까? 예를 들어 TCP 443에서 openvpn을 허용하는지 어떻게 확인할 수 있습니까?
Christopher

@ Christopher- 서비스 파일은에 있습니다 /lib/firewalld/services/. 귀하의 경우 openvpn.xml해당 디렉토리 내에 있습니다 . 사용자 정의 서비스가 들어갑니다 /etc/firewalld/services. openvpn의 기본 포트는 UDP/1194입니다.
garethTheRed

1
감사. 문제가 발생하여 방화벽에 문제가 있다고 생각했습니다. 위의 지침과 다르게 수행 한 것은 추가 할 서비스 이름으로 "openvpn"대신 "https"를 사용하는 것입니다. 그것은 문제로 방화벽되지 않았다는 것이 밝혀졌습니다. 방금 바보 였고 "tap"대신 "tun"을 사용하도록 클라이언트를 올바르게 구성하는 것을 잊었습니다. 위의 지침은 완벽하게 작동합니다.
Christopher

1
전체 영역에 가장 무도회를 추가하는 데 문제가 있음을 발견했습니다. 이것은 로컬 호스트에서 다른 서비스를 실행할 때 루프백 인터페이스에 대한 연결을 NAT하려고합니다. 가장 무도회를 10.8.0.0/16으로 제한하고 싶습니다. 어떻게 할 수 있을지 아십니까?
Christopher

1
이 버그 가 원인 일 수 있습니다. 기본적으로 기본 영역이 영역 인 경우 public루프백 인터페이스를 가장합니다. 이전에 기본 영역을으로 설정 external했으므로 현재보고있는 문제에 직면하지 않았습니다. 서비스와 어댑터를 다른 영역으로 이동하여 도움이되는지 확인하십시오. 알려주세요 :-)
garethTheRed
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.