Ограничьте трафик в локальной сети и VPN с помощью ufw или iptables

Ограничьте трафик в локальной сети и VPN с помощью ufw или iptables

Я хочу ограничить весь трафик с моей машины Ubuntu, чтобы он входил или выходил из локальной сети ( eth0) или из или в мой VPN ( tun0). Должна быть возможность подключить маршрутизатор в локальной сети, но не возможно выйти из локальной сети без использования VPN.

Так как у меня нет опыта работы с iptables и я не смог найти никаких инструкций, я попробовал UFW, но у меня ничего не получилось.

Спасибо за подсказки и фрагменты кода, как приблизиться к этому!

решение1

Вам нужно будет работать с цепочкой INPUT таблицы фильтров с действием по умолчанию DROP, а затем установить правила ACCEPT для входящих пакетов (-i) на каждом интерфейсе. Для повышения безопасности вы также можете принудительно использовать подсеть исходного хоста, но приведенных ниже правил будет достаточно.

iptables -t filter -p INPUT DROP
iptables -t filter -A INPUT -i eth0 -j ACCEPT
iptables -t filter -A INPUT -i tun0 -j ACCEPT
iptables -t filter -A INPUT -i lo -j ACCEPT

Если вы также хотите применить то же самое к трафику, исходящему с хоста, выполните следующие действия:

iptables -t filter -p OUTPUT DROP
iptables -t filter -A OUTPUT -o eth0 -j ACCEPT
iptables -t filter -A OUTPUT -o tun0 -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

Хотя, если вы это сделаете, у вас действительно может не быть других интерфейсов. Кроме того, loон там, потому что это интерфейс loopback; без этих правил loopback больше не будет работать.

Обратите внимание: если ваш хост является маршрутизатором, эти правила не будут применяться к трафику, который он маршрутизирует (только к трафику, который он генерирует сам или который предназначен для него, а не проходит через него).

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