2

Я хотел бы написать сценарий bash/shell, который "отключает" способность машины взаимодействовать через ее сетевую карту, эффективно отключая все сети. Из командной строки:

# To turn all networking off
sh networking.sh OFF

# Then to turn it back on
sh networking.sh ON

Единственный способ, которым я могу думать об этом, был бы на уровне порта через IPTABLES , но никогда прежде не экспериментируя с этим, я не уверен, иду ли я даже по правильному проспекту или я далеко от базы , Заранее спасибо.

2 ответа2

6

Большинство разновидностей Linux поставляются со скриптами, которые уже делают это. Они являются частью процесса запуска / выключения.

В версиях Fedora/RHEL скрипты обычно доступны через /etc/init.d/ . Таким образом, вы можете выполнить « /etc/init.d/network stop », чтобы остановить сеть. Для начала замените "старт" на "стоп".

Из командной строки предпочтение отдается этим вариантам использования service команды: « service network stop » или « service network start ».

Эти команды доступны только пользователю root. Я бы рекомендовал не позволять обычным пользователям делать что-то подобное.

1

Как вы упомянули, вы можете использовать iptables для этого

Эти правила будут отбрасывать все входящие и исходящие пакеты

iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP

Чтобы проверить настроенные правила

iptables -L

Удалить эти правила

iptables -D INPUT -j DROP
iptables -D OUTPUT -j DROP

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .