Как заблокировать доступ сервера к интернету и разрешить только локальную сеть
Мне было интересно, что лучший способ заблокировать доступ к Интернету сервера при разрешении подключения к локальной сети. По сути, я хочу, чтобы сервер был доступен только по локальной сети. Какие 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
Стоит отметить, что ваш вопрос без каких-либо дополнительных подробностей не позволит мне дать вам ответ, который, вероятно, соответствует вашим потребностям в реальном мире. Полное отключение доступа к Интернету создаст проблему при попытке обновить программное обеспечение и т. Д.
Блокировка прямого доступа к шлюзу не гарантирует отсутствие исходящего доступа в Интернет. Для другого сервера в сети будет возможно выступать в качестве шлюза, прокси и т. Д.