Сначала прочитайте CGI-праймер .
Вам понадобится HTML-страница с таким кодом:
<form method="get" action="/cgi-bin/my-fw-script.sh">
<p>Gimme an IP address: <input name="addr"></p>
<input type="submit">Block IP</input>
</form>
Когда пользователь нажимает кнопку отправки формы, запускается ваша программа Bash CGI. ( / path / to / cgi-bin / my-fw-script.sh в приведенном выше примере.) Ввод текста будет осуществляться в переменной среды QUERY_STRING в виде variable = value . Для простых входных данных вы можете просто вызвать функцию Bash eval, чтобы превратить ее в переменную Bash:
#!/bin/sh
eval $QUERY_STRING
echo You asked me to block $addr.
Это будет работать только для одного поля ввода и будет прерываться, если есть пробелы или другие специальные символы. Я полагаю, что bash_cgi, который кто-то порекомендовал, позаботится об этих деталях для вас. Делайте это, как в примере выше, только если эта программа останется очень простой.
Кстати, вы почти наверняка не хотите добавлять MAC-адреса в брандмауэр. Это работает только для хостов, которые находятся в той же локальной сети, что и брандмауэр. Пакеты, поступающие из другой локальной сети, Интернета и т. Д., Будут иметь MAC-адрес шлюза локальной сети. Вы, вероятно, должны вместо этого блокировать хосты по IP-адресу.