mirror of
https://github.com/Nyr/openvpn-install.git
synced 2024-11-23 21:46:08 +03:00
OpenVZ nf_tables workaround
nf_tables is not available in old OpenVZ kernels, so we need to use iptables-legacy instead. This issue only affects Debian 10 as it is the only distribution using iptables with a nf_tables backend by default. This is supposedly resolved in the newest kernels: https://bit.ly/3fgNZCh Additionally, a bugfix for the ip6tables path is also included.
This commit is contained in:
parent
61549ffcef
commit
2852150a5b
@ -348,6 +348,12 @@ crl-verify crl.pem" >> /etc/openvpn/server/server.conf
|
|||||||
# 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)
|
||||||
ip6tables_path=$(command -v ip6tables)
|
ip6tables_path=$(command -v ip6tables)
|
||||||
|
# Old OpenVZ kernels don't have nf_tables support
|
||||||
|
# iptables-nft is the default in Debian 10, but we need to use iptables-legacy
|
||||||
|
if [[ "$os" == "debian" && "$os_version" -eq 10 && "$(systemd-detect-virt)" == "openvz" ]]; then
|
||||||
|
iptables_path=$(command -v iptables-legacy)
|
||||||
|
ip6tables_path=$(command -v ip6tables-legacy)
|
||||||
|
fi
|
||||||
echo "[Unit]
|
echo "[Unit]
|
||||||
Before=network.target
|
Before=network.target
|
||||||
[Service]
|
[Service]
|
||||||
@ -361,7 +367,7 @@ ExecStop=$iptables_path -D INPUT -p $protocol --dport $port -j ACCEPT
|
|||||||
ExecStop=$iptables_path -D FORWARD -s 10.8.0.0/24 -j ACCEPT
|
ExecStop=$iptables_path -D FORWARD -s 10.8.0.0/24 -j ACCEPT
|
||||||
ExecStop=$iptables_path -D FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT" > /etc/systemd/system/openvpn-iptables.service
|
ExecStop=$iptables_path -D FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT" > /etc/systemd/system/openvpn-iptables.service
|
||||||
if [[ -n "$ip6" ]]; then
|
if [[ -n "$ip6" ]]; then
|
||||||
echo "ExecStart=/sbin/ip6tables -t nat -A POSTROUTING -s fddd:1194:1194:1194::/64 ! -d fddd:1194:1194:1194::/64 -j SNAT --to $ip6
|
echo "ExecStart=$ip6tables_path -t nat -A POSTROUTING -s fddd:1194:1194:1194::/64 ! -d fddd:1194:1194:1194::/64 -j SNAT --to $ip6
|
||||||
ExecStart=$ip6tables_path -I FORWARD -s fddd:1194:1194:1194::/64 -j ACCEPT
|
ExecStart=$ip6tables_path -I FORWARD -s fddd:1194:1194:1194::/64 -j ACCEPT
|
||||||
ExecStart=$ip6tables_path -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
|
ExecStart=$ip6tables_path -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
|
||||||
ExecStop=$ip6tables_path -t nat -D POSTROUTING -s fddd:1194:1194:1194::/64 ! -d fddd:1194:1194:1194::/64 -j SNAT --to $ip6
|
ExecStop=$ip6tables_path -t nat -D POSTROUTING -s fddd:1194:1194:1194::/64 ! -d fddd:1194:1194:1194::/64 -j SNAT --to $ip6
|
||||||
|
Loading…
Reference in New Issue
Block a user