Как разрешить трафик на определенный веб-адрес, но ограничить все остальные в Linux?

Как разрешить трафик на определенный веб-адрес, но ограничить все остальные в Linux?

Я хочу, чтобы мое системное устройство Linux (Ubuntu 14.04, 64 бит) с картой 3G имело ограниченный доступ к Интернету. Я хочу создать сценарий, в котором, если карта активна, система должна иметь возможность подключаться к любому URL с шаблоном mysite.comи google.com. Входящее соединение не будет проблемой. Если веб-адрес не может быть отфильтрован, даже IP-адрес также может быть использован.

Является ли Iptables ответом на это? Как бы мы использовали таблицы IP для добавления правил, которые разрешат трафик только на два сайта и не разрешат другие. Я хочу проделывать эту процедуру снова и снова (например, после вставки или извлечения карты). Как мне добиться желаемого результата?

решение1

Да, iptalbesэто ответ на вопрос о фильтрации.

Чтобы включить некоторые правила при подключении устройства, в зависимости от дистрибутива, вы можете посмотреть, udevкакой из них обрабатывает, среди прочего, именование устройств и подключение USB, например, и заставить его выполнить определенный скрипт.

Поскольку вы используете Ubuntu, более простым способом будет взглянуть на /etc/network/interfaces. Карта 3g будет иметь фиксированное имя интерфейса (благодаря udev), поэтому в файле interfacesвы можете указать некоторые pre-upскрипты post-upдля этого интерфейса, которые будут применять вашу конфигурацию iptables «на лету».

Связанный контент