В моей домашней сети я устанавливаю сервер CentOS, который будет использоваться примерно дюжиной или около того в образовательных целях - например, узнать, как использовать оболочку Linux и размещать веб-сайты, среди прочего. У меня есть порт 22 и порт 80 на моем маршрутизаторе, чтобы они могли войти через SSH через Интернет.
Поскольку я не могу полностью доверять этим пользователям, в настоящее время я пытаюсь максимально заблокировать сервер (проверка прав доступа, блокировка торрентов и т.д.) Поскольку я не хочу, чтобы люди проверяли остальные компьютеры в моей сети через сервер, я хотел бы блокировать трафик на компьютеры в локальной сети, но при этом разрешать трафик в Интернет.
Я не очень знаком с iptables, но я попытался установить несколько правил iptables - сначала он разрешает трафик до 192.168.1.1 (маршрутизатор) и 192.168.1.2 (компьютер, который я использую для настройки сервера), а затем блокирует трафик до 192.168.1.0/24 и регистрирует такой трафик. Остальная часть трафика должна быть разрешена. Однако проблема заключается в том, что сервер не может подключиться к Интернету.
Вот мой текущий конфиг iptables:
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 192.168.1.2
2 ACCEPT all -- 0.0.0.0/0 192.168.1.1
3 LOGGING all -- 0.0.0.0/0 0.0.0.0/0
4 DROP all -- 0.0.0.0/0 192.168.1.0/24
5 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
Chain LOGGING (1 references)
num target prot opt source destination
1 LOG all -- 0.0.0.0/0 0.0.0.0/0 limit: avg 10/min burst 5 LOG flags 0 level 7 prefix `DROP: '
2 DROP all -- 0.0.0.0/0 0.0.0.0/0
Проверка разрешенных IP-адресов (192.168.1.1 и 192.168.1.2) работает (хорошо), но Google не проверяет (плохо):
[root@server ~]# 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
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1950ms
[root@server ~]# ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
64 bytes from 192.168.1.2: icmp_seq=1 ttl=128 time=0.294 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=128 time=0.270 ms
Конечно, я понимаю, что существует определенный уровень доверия, связанный с предоставлением людям доступа к серверу в моей сети, но я все еще хочу укрепить его настолько, насколько смогу. Если кто-то может прокомментировать другие вещи, которые я могу сделать, я буду признателен за это.
Заранее спасибо!