Reload firewalld to read the new configuration
We need to reload firewalld after defining the new openvpn service to read the new configuration. I deleted the non permanent rules because we reload firewalld and so the permanent ones are used.
This commit is contained in:
parent
00349c3bf7
commit
4c5195a250
@ -327,25 +327,20 @@ crl-verify crl.pem" >> /etc/openvpn/server/server.conf
|
|||||||
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
|
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
|
||||||
fi
|
fi
|
||||||
if systemctl is-active --quiet firewalld.service; then
|
if systemctl is-active --quiet firewalld.service; then
|
||||||
# Using both permanent and not permanent rules to avoid a firewalld
|
|
||||||
# reload.
|
|
||||||
# We define a new openvpn service so we can use our port and protocol
|
# We define a new openvpn service so we can use our port and protocol
|
||||||
cp /usr/lib/firewalld/services/openvpn.xml /etc/firewalld/services
|
cp /usr/lib/firewalld/services/openvpn.xml /etc/firewalld/services
|
||||||
sed -i "s|udp|${protocol}|" /etc/firewalld/services/openvpn.xml
|
sed -i "s|udp|${protocol}|" /etc/firewalld/services/openvpn.xml
|
||||||
sed -i "s|1194|${port}|" /etc/firewalld/services/openvpn.xml
|
sed -i "s|1194|${port}|" /etc/firewalld/services/openvpn.xml
|
||||||
firewall-cmd --add-service=openvpn
|
|
||||||
firewall-cmd --zone=trusted --add-source=10.8.0.0/24
|
|
||||||
firewall-cmd --permanent --add-service=openvpn
|
firewall-cmd --permanent --add-service=openvpn
|
||||||
firewall-cmd --permanent --zone=trusted --add-source=10.8.0.0/24
|
firewall-cmd --permanent --zone=trusted --add-source=10.8.0.0/24
|
||||||
# Set NAT for the VPN subnet
|
# Set NAT for the VPN subnet
|
||||||
firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j SNAT --to "$ip"
|
|
||||||
firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j SNAT --to "$ip"
|
firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j SNAT --to "$ip"
|
||||||
if [[ -n "$ip6" ]]; then
|
if [[ -n "$ip6" ]]; then
|
||||||
firewall-cmd --zone=trusted --add-source=fddd:1194:1194:1194::/64
|
|
||||||
firewall-cmd --permanent --zone=trusted --add-source=fddd:1194:1194:1194::/64
|
firewall-cmd --permanent --zone=trusted --add-source=fddd:1194:1194:1194::/64
|
||||||
firewall-cmd --direct --add-rule ipv6 nat POSTROUTING 0 -s fddd:1194:1194:1194::/64 ! -d fddd:1194:1194:1194::/64 -j SNAT --to "$ip6"
|
|
||||||
firewall-cmd --permanent --direct --add-rule ipv6 nat POSTROUTING 0 -s fddd:1194:1194:1194::/64 ! -d fddd:1194:1194:1194::/64 -j SNAT --to "$ip6"
|
firewall-cmd --permanent --direct --add-rule ipv6 nat POSTROUTING 0 -s fddd:1194:1194:1194::/64 ! -d fddd:1194:1194:1194::/64 -j SNAT --to "$ip6"
|
||||||
fi
|
fi
|
||||||
|
# Reload firewalld
|
||||||
|
firewall-cmd --reload
|
||||||
else
|
else
|
||||||
# Create a service to set up persistent iptables rules
|
# Create a service to set up persistent iptables rules
|
||||||
iptables_path=$(command -v iptables)
|
iptables_path=$(command -v iptables)
|
||||||
@ -500,22 +495,17 @@ else
|
|||||||
protocol=$(grep '^proto ' /etc/openvpn/server/server.conf | cut -d " " -f 2)
|
protocol=$(grep '^proto ' /etc/openvpn/server/server.conf | cut -d " " -f 2)
|
||||||
if systemctl is-active --quiet firewalld.service; then
|
if systemctl is-active --quiet firewalld.service; then
|
||||||
ip=$(firewall-cmd --direct --get-rules ipv4 nat POSTROUTING | grep '\-s 10.8.0.0/24 '"'"'!'"'"' -d 10.8.0.0/24' | grep -oE '[^ ]+$')
|
ip=$(firewall-cmd --direct --get-rules ipv4 nat POSTROUTING | grep '\-s 10.8.0.0/24 '"'"'!'"'"' -d 10.8.0.0/24' | grep -oE '[^ ]+$')
|
||||||
# Using both permanent and not permanent rules to avoid a firewalld reload.
|
|
||||||
firewall-cmd --remove-service=openvpn
|
|
||||||
firewall-cmd --zone=trusted --remove-source=10.8.0.0/24
|
|
||||||
firewall-cmd --permanent --remove-service=openvpn
|
firewall-cmd --permanent --remove-service=openvpn
|
||||||
firewall-cmd --permanent --zone=trusted --remove-source=10.8.0.0/24
|
firewall-cmd --permanent --zone=trusted --remove-source=10.8.0.0/24
|
||||||
firewall-cmd --direct --remove-rule ipv4 nat POSTROUTING 0 -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j SNAT --to "$ip"
|
|
||||||
firewall-cmd --permanent --direct --remove-rule ipv4 nat POSTROUTING 0 -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j SNAT --to "$ip"
|
firewall-cmd --permanent --direct --remove-rule ipv4 nat POSTROUTING 0 -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j SNAT --to "$ip"
|
||||||
if grep -qs "server-ipv6" /etc/openvpn/server/server.conf; then
|
if grep -qs "server-ipv6" /etc/openvpn/server/server.conf; then
|
||||||
ip6=$(firewall-cmd --direct --get-rules ipv6 nat POSTROUTING | grep '\-s fddd:1194:1194:1194::/64 '"'"'!'"'"' -d fddd:1194:1194:1194::/64' | grep -oE '[^ ]+$')
|
ip6=$(firewall-cmd --direct --get-rules ipv6 nat POSTROUTING | grep '\-s fddd:1194:1194:1194::/64 '"'"'!'"'"' -d fddd:1194:1194:1194::/64' | grep -oE '[^ ]+$')
|
||||||
firewall-cmd --zone=trusted --remove-source=fddd:1194:1194:1194::/64
|
|
||||||
firewall-cmd --permanent --zone=trusted --remove-source=fddd:1194:1194:1194::/64
|
firewall-cmd --permanent --zone=trusted --remove-source=fddd:1194:1194:1194::/64
|
||||||
firewall-cmd --direct --remove-rule ipv6 nat POSTROUTING 0 -s fddd:1194:1194:1194::/64 ! -d fddd:1194:1194:1194::/64 -j SNAT --to "$ip6"
|
|
||||||
firewall-cmd --permanent --direct --remove-rule ipv6 nat POSTROUTING 0 -s fddd:1194:1194:1194::/64 ! -d fddd:1194:1194:1194::/64 -j SNAT --to "$ip6"
|
firewall-cmd --permanent --direct --remove-rule ipv6 nat POSTROUTING 0 -s fddd:1194:1194:1194::/64 ! -d fddd:1194:1194:1194::/64 -j SNAT --to "$ip6"
|
||||||
fi
|
fi
|
||||||
# Remove the defined openvpn service
|
# Remove the defined openvpn service and reload firewalld
|
||||||
rm /etc/firewalld/services/openvpn.xml
|
rm /etc/firewalld/services/openvpn.xml
|
||||||
|
firewall-cmd --reload
|
||||||
else
|
else
|
||||||
systemctl disable --now openvpn-iptables.service
|
systemctl disable --now openvpn-iptables.service
|
||||||
rm -f /etc/systemd/system/openvpn-iptables.service
|
rm -f /etc/systemd/system/openvpn-iptables.service
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user