1) через iptables весь траф гоним на свой http-сервак, предлагающий ввести пароль
2) после ввода пароля добавляем в iptables перед редиректом правило траф с этого мак-адреса гнать во внешку через snat
3) по прошествию получаса удаляем правило.
Установить прокси-сервер, скриптом генерировать пароль и добавлять пользователя в список разрешенных. Другим скриптом регулярно проверять сколько времени уже живет пароль и очищать в случае необходимости.
Из оборудования — средненький компьютер. Из ПО — дистрибутив *nix и squid. Если нет специалистов по *nix, то можно и на дистрибутив винды потратиться.
Прочитал вопрос повнимательнее. Видимо клиенты будут пользоваться своим оборудованием, тогда заставлять их прописывать прокси не слишком удобно. Хотелось бы чтобы все необходимые настройки выдавались по DHCP. В таком случае задача немного усложняется.
Скрипт генерирует пароль и заносит его в базу действующих паролей, кассир выдает пароль клиенту. Настроено прозрачное проксирование, прокси имеет список разрешенных MACов. Если MAC, с которого пришел запрос, не в списке разрешенных, то прокси редиректит все запросы на некую веб-морду, где можно ввести пароль. При вводе пароля скрипт веб-морды проверяет есть ли пароль в списке действующих паролей, если есть, то удаляет его оттуда, а MAC-адрес добавляет в список разрешенных. Другой скрипт регулярно проверяет время жизни разрешенного MACа и очищает, если прошло уже 30 минут.
Если у Вас заведение, и не хочется морочиться с софтварным решением, то можно посмотреть в сторону специализированной железки, вроде D-link DSA-3110 hotspot edition. Наверняка подобное есть и у других производителей. Из преимуществ — проще настроить и обслуживать, надежность при использовании неквалифицированным персоналом (кассир/официант) выше, а возможно бОльшая цена по сравнению с вариантом «старый PC + Linux» все равно окупится при публичном использовании.