Уважаемые, тут возник вопрос, как правильно отключить Internet и оставить только внутреннюю сеть. Нужно для тестирования ситуации, когда приложение не имеет доступа к мировой сети.
Есть виртуалка с сетями:
10.0.0.0/24
10.0.2.0/24
192.168.37.0/24
С этих сетей нужно закрыть доступ в Internet.
Сразу вспомнился iptables и была выдана команда:
# Generated by iptables-save v1.4.21 on Sat Jun 27 17:21:29 2020
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:LOG_DROP - [0:0]
-A INPUT -s 10.0.0.0/24 -j ACCEPT
-A INPUT -s 10.0.2.0/24 -j ACCEPT
-A INPUT -s 192.168.37.0/24 -j ACCEPT
-A INPUT -j DROP
-A OUTPUT -d 10.0.0.0/24 -j ACCEPT
-A OUTPUT -d 10.0.2.0/24 -j ACCEPT
-A OUTPUT -d 192.168.37.0/24 -j ACCEPT
-A OUTPUT -j LOG --log-prefix "BLOCKED "
-A OUTPUT -j DROP
COMMIT
После чего сразу проверка:
[root@master ~]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
И вроде бы как работает (ни пинги не проходят ни сайты в браузере не открываются).
Но меня терзают смутные сомнения, потому что если у провайдера ведутся какие профилактические работы и Internet соединения нет, то никаких:
Operation not permitted
нет. Там другой ответ.
Возникает вопрос, правильно лия смоделировал ситуацию «нет Internet соединения» с помощью приведенных выше iptables rules?