Проблема со сценарием правил Iptables

Команда выдает ошибку «пустой» архив, потому что вы ничего не передаете в tar для сжатия.

При использовании -fпосле должно идти имя архива для создания и только потом архивы для сжатия (в вашем случае каталог ).

Для отправки на стандартный вывод для подачи в канал следует использовать фиктивную опцию/ярлык "-"

Как в:

tar -czf - Pictures | base64 | nc remote_host 443 

Как также правильно указывает @muru, вывод tar на стандартный вывод по умолчанию, так что другой вариант, если убрать " -f".

tar -cz Pictures | base64 | nc remote_host 443

ncтакже в теории также хорошо способен обрабатывать двоичные файлы, когда они не отправляются на консоль, вы можете обойтись без дополнительного шага кодирования и декодирования base64. Я, конечно, делал это тысячи раз, не используя base64.

Я бы также предпочел использовать ncбез -v для сценариев на удаленной стороне, как в:

tar -czf - Pictures | nc remote_host 443  
nc -lp 443 > secret.tgz # remote host
0
22.09.2020, 09:59
1 ответ
  1. Сценарий использует устаревшую команду ifconfig -sдля получения имен интерфейсов. Новое имя в стиле -для сетевого интерфейса USB может быть похоже на enxNNNNNNNNNNNN, где NNNN...— MAC-адрес интерфейса. Выходные данные ifconfig -sусекают имя интерфейса до 8 символов, поэтому сгенерированное правило не будет соответствовать фактическому имени интерфейса.

Вы можете заменить строку

INET_FACES=`$IFCONFIG -s | $GREP -vi 'kernel' | $GREP -vi 'iface' | $GREP -v 'lo' | $AWK '{print $1}'`

с:

INET_FACES=$(/bin/ls /sys/class/net | grep -v lo)
  1. Вам потребуется добавить правила, соответствующие требованиям VPN, которую вы хотите использовать. Это может включать в себя открытие некоторых портов TCP/UDP, разрешение некоторых пакетов ICMP и/или разрешение некоторых протоколов IPsec (ESP )или другой инкапсуляции (GRE, L2TP, возможно, что-то еще ). Конкретные порты/протоколы, которые вам нужно будет открыть, будут зависеть от конкретного VPN, который вы хотите использовать. Кроме того, VPN-клиент обычно создает новый виртуальный сетевой интерфейс при запуске соединения; если сценарий был выполнен до запуска VPN, любой трафик в/из этого виртуального интерфейса станет жертвой правила по умолчанию «запретить все» -.

В общем, я бы не рекомендовал использовать случайные сценарии брандмауэра из Интернета, пока вы полностью их не прочтете и не поймете, что они делают . Однако, если вы хотите научиться работать с брандмауэром трудным путем, этот шестилетний сценарий может стать хорошей отправной точкой.

3
18.03.2021, 23:03

Теги

Похожие вопросы