Я переустановил коробку ClearOS, основанную на CentOS. Предыдущая установка работала нормально в течение 3 лет, без сбоев, но я мог неправильно настроить что-то в этой установке, так как все работает не так, как должно.
Просмотр Интернета не работает, если фильтрация содержимого отключена. Раньше я мог просматривать сайты без использования прокси-сервера, но это больше не работает, если не включен веб-прокси. То же самое для ssh-трафика.
Это гораздо серьезнее: локальная сеть не может подключаться к внешним ssh-серверам. Кажется, порт 22 не разрешен, но у меня установлен брандмауэр, разрешающий весь внешний трафик.
Соответствующая конфигурация размещена ниже, список маршрутов и iptables.
iptable:
[root@alcastraz ~]# iptables --list -n -v
Chain INPUT (policy DROP 223 packets, 9229 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- eth0 * 0.0.0.0/0 46.241.27.20
0 0 DROP all -- eth0 * 46.241.27.20 0.0.0.0/0
0 0 DROP all -- eth0 * 0.0.0.0/0 196.29.120.73
0 0 DROP all -- eth0 * 196.29.120.73 0.0.0.0/0
88 3768 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x12/0x12 state NEW reject-with tcp-reset
18 1602 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 state NEW
0 0 DROP all -- eth0 * 127.0.0.0/8 0.0.0.0/0
0 0 DROP all -- eth0 * 169.254.0.0/16 0.0.0.0/0
9422 2499K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- pptp+ * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- tun+ * 0.0.0.0/0 0.0.0.0/0
14099 2515K ACCEPT all -- eth1 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT udp -- eth2 * 0.0.0.0/0 192.168.0.50 udp spt:68 dpt:67
0 0 ACCEPT tcp -- eth2 * 0.0.0.0/0 192.168.0.50 tcp spt:68 dpt:67
0 0 ACCEPT udp -- eth2 * 192.168.0.0/24 192.168.0.50 udp dpt:53
0 0 ACCEPT tcp -- eth2 * 192.168.0.0/24 192.168.0.50 tcp dpt:53
35 1015 ACCEPT icmp -- eth0 * 0.0.0.0/0 0.0.0.0/0 icmp type 0
0 0 ACCEPT icmp -- eth0 * 0.0.0.0/0 0.0.0.0/0 icmp type 3
0 0 ACCEPT icmp -- eth0 * 0.0.0.0/0 0.0.0.0/0 icmp type 8
0 0 ACCEPT icmp -- eth0 * 0.0.0.0/0 0.0.0.0/0 icmp type 11
76 25624 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp spt:67 dpt:68
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp spt:67 dpt:68
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.0.50 tcp dpt:80
0 0 ACCEPT tcp -- * * 0.0.0.0/0 96.22.88.25 tcp dpt:80
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.0.50 tcp dpt:443
0 0 ACCEPT tcp -- * * 0.0.0.0/0 96.22.88.25 tcp dpt:443
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.0.50 tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 96.22.88.25 tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.0.50 tcp dpt:1875
0 0 ACCEPT tcp -- * * 0.0.0.0/0 96.22.88.25 tcp dpt:1875
0 0 ACCEPT udp -- eth2 * 0.0.0.0/0 0.0.0.0/0 udp dpts:1024:65535 state RELATED,ESTABLISHED
0 0 ACCEPT tcp -- eth2 * 0.0.0.0/0 0.0.0.0/0 tcp dpts:1024:65535 state RELATED,ESTABLISHED
438 56397 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpts:1024:65535 state RELATED,ESTABLISHED
18645 6458K ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpts:1024:65535 state RELATED,ESTABLISHED
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- eth0 * 0.0.0.0/0 46.241.27.20
0 0 DROP all -- eth0 * 46.241.27.20 0.0.0.0/0
0 0 DROP all -- eth0 * 0.0.0.0/0 196.29.120.73
0 0 DROP all -- eth0 * 196.29.120.73 0.0.0.0/0
0 0 ACCEPT icmp -- * * 192.168.0.0/24 0.0.0.0/0 icmp type 0
0 0 ACCEPT icmp -- * * 0.0.0.0/0 192.168.0.0/24 icmp type 0
0 0 ACCEPT icmp -- * * 192.168.0.0/24 0.0.0.0/0 icmp type 3
0 0 ACCEPT icmp -- * * 0.0.0.0/0 192.168.0.0/24 icmp type 3
4 336 ACCEPT icmp -- * * 192.168.0.0/24 0.0.0.0/0 icmp type 8
0 0 ACCEPT icmp -- * * 0.0.0.0/0 192.168.0.0/24 icmp type 8
0 0 ACCEPT icmp -- * * 192.168.0.0/24 0.0.0.0/0 icmp type 11
0 0 ACCEPT icmp -- * * 0.0.0.0/0 192.168.0.0/24 icmp type 11
0 0 DROP icmp -- * * 192.168.0.0/24 0.0.0.0/0
0 0 DROP icmp -- * * 0.0.0.0/0 192.168.0.0/24
0 0 ACCEPT all -- * * 192.168.0.0/24 192.168.0.0/24 state RELATED,ESTABLISHED
0 0 DROP all -- * * 192.168.0.0/24 192.168.0.0/24
0 0 ACCEPT all -- * * 192.168.0.0/24 192.168.0.0/24
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT all -- eth2 * 0.0.0.0/0 0.0.0.0/0
84 4754 ACCEPT all -- eth1 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- pptp+ * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- tun+ * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
9440 2500K ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * pptp+ 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * tun+ 0.0.0.0/0 0.0.0.0/0
15382 6989K ACCEPT all -- * eth1 0.0.0.0/0 0.0.0.0/0
35 1015 ACCEPT icmp -- * eth0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT udp -- * eth0 0.0.0.0/0 0.0.0.0/0 udp spt:68 dpt:67
0 0 ACCEPT tcp -- * eth0 0.0.0.0/0 0.0.0.0/0 tcp spt:68 dpt:67
0 0 ACCEPT tcp -- * eth2 192.168.0.50 0.0.0.0/0 tcp spt:80
0 0 ACCEPT tcp -- * eth0 96.22.88.25 0.0.0.0/0 tcp spt:80
0 0 ACCEPT tcp -- * eth2 192.168.0.50 0.0.0.0/0 tcp spt:443
0 0 ACCEPT tcp -- * eth0 96.22.88.25 0.0.0.0/0 tcp spt:443
0 0 ACCEPT tcp -- * eth2 192.168.0.50 0.0.0.0/0 tcp spt:22
0 0 ACCEPT tcp -- * eth0 96.22.88.25 0.0.0.0/0 tcp spt:22
0 0 ACCEPT tcp -- * eth2 192.168.0.50 0.0.0.0/0 tcp spt:1875
0 0 ACCEPT tcp -- * eth0 96.22.88.25 0.0.0.0/0 tcp spt:1875
0 0 ACCEPT all -- * eth2 0.0.0.0/0 0.0.0.0/0
21153 3140K ACCEPT all -- * eth0 0.0.0.0/0 0.0.0.0/0
Chain drop-lan (0 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
маршрут:
[root@alcastraz ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth1
192.168.0.0 * 255.255.255.0 U 0 0 0 eth2
96.22.88.0 * 255.255.255.0 U 0 0 0 eth0
default modemcable001.8 0.0.0.0 UG 0 0 0 eth0
Любая помощь или информация, чтобы решить эту проблему, были бы весьма признательны.
Спасибо!
Это набор правил, созданных вручную?
Выскакивает одно: сеть 192.168.0.0/24 включена два интерфейсы: eth1
и eth2
- что почти наверняка не то, что вам нужно.
Для общей отладки вы также можете использовать эту команду:
watch -d iptables -L -v -n
(или какой-то его вариант.) Затем вы можете наблюдать, как количество пакетов увеличивается по мере прохождения трафика. Это действительно хорошо только для сетей с низким трафиком, где у вас мало постороннего трафика.
Еще нужно включить ведение журнала для некоторых записей брандмауэра: используйте LOG
целевое расширение.
Еще одна вещь: сбросьте счетчики и посмотрите, что падает - или еще лучше, используйте это LOG
цель в сочетании с правилами, которые DROP
. В вашем списке есть только два правила, которые были сопоставлены и потеряли пакеты (вытаскивание правил из контекста):
Chain INPUT (policy DROP 223 packets, 9229 bytes)
pkts bytes target prot opt in out source destination
88 3768 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
18 1602 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 state NEW
Может быть, это следует исследовать?
Чтобы полностью избавиться от этого беспорядка, я бы предложил использовать Конструктор межсетевого экрана, отличный дизайнер мульти-брандмауэра на основе графического интерфейса. Вы можете спроектировать брандмауэр где угодно и разместить его там, где он будет выполнять свою работу - у fwbuilder даже есть способы перенести брандмауэр на удаленный хост.
Я бы подумал об использовании построителя брандмауэра для создания вашего брандмауэра. Что-то вроде Shorewall, которое хорошо документировано и имеет несколько хороших примеров конфигураций, могло бы облегчить вам жизнь. При беглом рассмотрении конфигурация с тремя интерфейсами (зонами) может стать для вас хорошей отправной точкой. Ключевыми файлами для Shorewall являются зоны, интерфейсы, хосты, политика и правила. Существует ряд макросов, которые генерируют закомментированные правила по имени, а не по порту.
Обычно ваш state RELATED,ESTABLISHED
правила будут в верхней части списка. Использование отдельных цепочек для различных потоков трафика может помочь понять, что происходит.
Похоже, только два адреса имеют открытый доступ к порту 80, что объясняет вашу проблему просмотра. Один должен быть контент-фильтром. Другой может быть адрес, с которого вы могли просматривать, минуя контент-фильтр.