Add support for gaming.

This commit is contained in:
2022-02-09 15:13:22 +01:00
parent 5c02b40a7c
commit 64b991f599
9 changed files with 579 additions and 148 deletions

View File

@ -25,6 +25,8 @@ load_modules_file=${ipt_conf_dir}/load_modules_ipv4.conf
conf_logging=${ipt_conf_dir}/logging_ipv4.conf
conf_interfaces=${ipt_conf_dir}/interfaces_ipv4.conf
conf_default_ports=${ipt_conf_dir}/default_ports.conf
conf_default_ips=${ipt_conf_dir}/default_ipv4.conf
conf_default_basic_behavior=${ipt_conf_dir}/default_basic_behavior.conf
conf_main=${ipt_conf_dir}/main_ipv4.conf
conf_post_declarations=${ipt_conf_dir}/post_decalrations.conf
@ -81,12 +83,24 @@ else
source $conf_default_ports
fi
if [[ ! -f "$conf_default_ips" ]]; then
fatal "Missing configuration for default_ips - file '$conf_default_ips'"
else
source $conf_default_ips
fi
if [[ ! -f "$conf_interfaces" ]]; then
fatal "Missing interface configurations - file '$conf_interfaces'"
else
source $conf_interfaces
fi
if [[ ! -f "$conf_default_basic_behavior" ]]; then
fatal "Missing interface configurations - file '$conf_default_basic_behavior'"
else
source $conf_default_basic_behavior
fi
if [[ ! -f "$conf_main" ]]; then
fatal "Missing main configurations - file '$conf_main'"
else
@ -3870,15 +3884,7 @@ fi
echononl "\t\tTurn/Stun Service"
if $allow_outbound_streaming \
|| $allow_echo360_video_streaming \
|| $allow_bigbluebutton_video_conference_out \
|| $allow_ms_skype_teams_out \
|| $allow_webex_video_conference_out \
|| $allow_zoom_video_conference_out \
|| $allow_jitsi_video_conference_out \
|| $allow_alfaview_video_conference_out \
|| $allow_nc_talk_out ; then
if $allow_stun_turn_service_out ; then
for _dev in ${ext_if_arr[@]} ; do
for _port in ${standard_turn_service_port_arr[@]} ; do
@ -5251,6 +5257,50 @@ fi
# ---
# - Gaming
# ---
echo ""
echononl "\t\tGaming UDP Ports out"
if $allow_gaming_out && ! $permit_local_net_to_inet ; then
for _dev in ${ext_if_arr[@]} ; do
for _port in ${game_ports_udp_arr[@]} ; do
$ipt -A OUTPUT -o $_dev -p udp --dport $_port -m conntrack --ctstate NEW -j ACCEPT
if $kernel_activate_forwarding ; then
$ipt -A FORWARD -o $_dev -p udp --dport $_port -m conntrack --ctstate NEW -j ACCEPT
fi
done
done
echo_done
else
echo_skipped
fi
echononl "\t\tGaming TCP Ports out"
if $allow_gaming_out && ! $permit_local_net_to_inet ; then
for _dev in ${ext_if_arr[@]} ; do
for _port in ${game_ports_tcp_arr[@]} ; do
$ipt -A OUTPUT -o $_dev -p tcp --dport $_port -m conntrack --ctstate NEW -j ACCEPT
if $kernel_activate_forwarding ; then
$ipt -A FORWARD -o $_dev -p tcp --dport $_port -m conntrack --ctstate NEW -j ACCEPT
fi
done
done
echo_done
else
echo_skipped
fi
# -------------
# --- Portforwarding
# -------------