LINUX.ORG.RU

История изменений

Исправление naKovoNapalBaran, (текущая версия) :

но раз 5минут доступ для новых соединений блокируется на доли секунды(( кто знает как заменить правило с определенным комментарием?

#!/bin/bash

while true
do

	saddr4=$(getent ahostsv4 ipv4.net | grep STREAM | awk '{ print $1 }')
	saddr6=$(getent ahostsv6 ipv6.net | grep STREAM | awk '{ print $1 }')

	nft flush chain inet filter ssh

	if [[ -z "$saddr4" && -z "$saddr6" ]]
	then
		nft add rule inet filter ssh tcp dport 22 accept
	else
		if [[ ! -z "$saddr4" ]]
		then
			nft add rule inet filter ssh ip  saddr {$saddr4} tcp dport 22 accept
		fi

		if [[ ! -z "$saddr6" ]]
		then
			nft add rule inet filter ssh ip6 saddr {$saddr6} tcp dport 22 accept
		fi
	fi

	sleep 300;
done

Исправление naKovoNapalBaran, :

но раз 5минут доступ для новых соединений блокируется на доли секунды((

#!/bin/bash

while true
do

	saddr4=$(getent ahostsv4 ipv4.net | grep STREAM | awk '{ print $1 }')
	saddr6=$(getent ahostsv6 ipv6.net | grep STREAM | awk '{ print $1 }')

	nft flush chain inet filter ssh

	if [[ -z "$saddr4" && -z "$saddr6" ]]
	then
		nft add rule inet filter ssh tcp dport 22 accept
	else
		if [[ ! -z "$saddr4" ]]
		then
			nft add rule inet filter ssh ip  saddr {$saddr4} tcp dport 22 accept
		fi

		if [[ ! -z "$saddr6" ]]
		then
			nft add rule inet filter ssh ip6 saddr {$saddr6} tcp dport 22 accept
		fi
	fi

	sleep 300;
done

Исправление naKovoNapalBaran, :

но раз 2.5минут доступ для новых соединений блокируется на доли секунды((

#!/bin/bash

while true
do

	saddr4=$(getent ahostsv4 ipv4.net | grep STREAM | awk '{ print $1 }')
	saddr6=$(getent ahostsv6 ipv6.net | grep STREAM | awk '{ print $1 }')

	nft flush chain inet filter ssh

	if [[ -z "$saddr4" && -z "$saddr6" ]]
	then
		nft add rule inet filter ssh tcp dport 22 accept
	else
		if [[ ! -z "$saddr4" ]]
		then
			nft add rule inet filter ssh ip  saddr {$saddr4} tcp dport 22 accept
		fi

		if [[ ! -z "$saddr6" ]]
		then
			nft add rule inet filter ssh ip6 saddr {$saddr6} tcp dport 22 accept
		fi
	fi

	sleep 300;
done

Исправление naKovoNapalBaran, :

но раз 2.5минут доступ для новых соединений блокируется((

#!/bin/bash

while true
do

	saddr4=$(getent ahostsv4 ipv4.net | grep STREAM | awk '{ print $1 }')
	saddr6=$(getent ahostsv6 ipv6.net | grep STREAM | awk '{ print $1 }')

	nft flush chain inet filter ssh

	if [[ -z "$saddr4" && -z "$saddr6" ]]
	then
		nft add rule inet filter ssh tcp dport 22 accept
	else
		if [[ ! -z "$saddr4" ]]
		then
			nft add rule inet filter ssh ip  saddr {$saddr4} tcp dport 22 accept
		fi

		if [[ ! -z "$saddr6" ]]
		then
			nft add rule inet filter ssh ip6 saddr {$saddr6} tcp dport 22 accept
		fi
	fi

	sleep 300;
done

Исходная версия naKovoNapalBaran, :

#!/bin/bash

while true
do

	saddr4=$(getent ahostsv4 ipv4.net | grep STREAM | awk '{ print $1 }')
	saddr6=$(getent ahostsv6 ipv6.net | grep STREAM | awk '{ print $1 }')

	nft flush chain inet filter ssh

	if [[ -z "$saddr4" && -z "$saddr6" ]]
	then
		nft add rule inet filter ssh tcp dport 22 accept
	else
		if [[ ! -z "$saddr4" ]]
		then
			nft add rule inet filter ssh ip  saddr {$saddr4} tcp dport 22 accept
		fi

		if [[ ! -z "$saddr6" ]]
		then
			nft add rule inet filter ssh ip6 saddr {$saddr6} tcp dport 22 accept
		fi
	fi

	sleep 300;
done