Как заблокировать доступ сервера к интернету и разрешить только локальную сеть

Мне было интересно, что лучший способ заблокировать доступ к Интернету сервера при разрешении подключения к локальной сети. По сути, я хочу, чтобы сервер был доступен только по локальной сети. Какие ips, порты и т. Д. Я должен заблокировать?

1 ответ

Решение

Это действительно зависит от вашей сетевой топологии. Исходя из вашего вопроса, звучит так, будто вы хотите заблокировать исходящие соединения, а не просто фильтровать входящие.

Одной из самых простых вещей, которые вы могли бы сделать, было бы создание правила брандмауэра, которое блокирует трафик к шлюзу по умолчанию. Если у вас есть единственный шлюз по умолчанию, обеспечивающий доступ к Интернету, это помешает им получить доступ снаружи.

Другой набор правил, которые вы, возможно, захотите применить, - это ОТМЕНА всего, кроме пространства RFC 1918.

Вот пример, который может работать, если ваш шлюз был 192.168.1.1

iptables -A INPUT -s 192.168.1.1/32 -j DROP
iptables -A INPUT -d 192.168.1.1/32 -j DROP
iptables -A INPUT -s 10.0.0.0/8     -j ACCEPT
iptables -A INPUT -d 10.0.0.0/8     -j ACCEPT
iptables -A INPUT -s 192.168.0.0/16 -j ACCEPT
iptables -A INPUT -d 192.168.0.0/16 -j ACCEPT
iptables -A INPUT -s 172.16.0.0/12  -j ACCEPT
iptables -A INPUT -d 172.16.0.0/12  -j ACCEPT

Стоит отметить, что ваш вопрос без каких-либо дополнительных подробностей не позволит мне дать вам ответ, который, вероятно, соответствует вашим потребностям в реальном мире. Полное отключение доступа к Интернету создаст проблему при попытке обновить программное обеспечение и т. Д.

Блокировка прямого доступа к шлюзу не гарантирует отсутствие исходящего доступа в Интернет. Для другого сервера в сети будет возможно выступать в качестве шлюза, прокси и т. Д.

Другие вопросы по тегам