Проблема с SuSefirewall

openSUSE, SUSE Linux Enterprise

Модератор: Модераторы разделов

ACDC
Сообщения: 19

Проблема с SuSefirewall

Сообщение ACDC »

Имеется сервер SLES-10, на котором в route прописан маршрут:
10.0.0.0 10.10.1.7 255.0.0.0 UG 0 0 0 eth2
Задача- с компов 10.130.х.х нужен доступ к 10.8.0.0, про 10.8.0.0 как раз и знает маршрутизатор 10.10.1.7
В /etc/sysconfig/Sefirewall2 в строке добавил FW_FORWARD=" ... 10.130.0.0/16,10.0.0./8" , чтобы FW пропускал ВСЕ пакеты в сторону 10.0.0.0

Настройки такие:
/sbin/SuSEfirewall2 version 3.3
FW_DEV_EXT="eth0"
FW_DEV_INT="eth2"
FW_DEV_DMZ="eth1"
FW_ROUTE="yes"
FW_MASQUERADE="yes"
FW_MASQ_DEV="$FW_DEV_EXT"
FW_MASQ_NETS="10.130.1.0/24"
FW_PROTECT_FROM_INT="yes"
FW_SERVICES_EXT_TCP="25 53 80 143 110"
FW_SERVICES_EXT_UDP="53"
FW_SERVICES_INT_TCP="25 53 80 110 143"
FW_SERVICES_INT_UDP="53"
FW_SERVICES_DROP_EXT=""
FW_SERVICES_ACCEPT_EXT=""
#FW_ALLOW_INCOMING_HIGHPORTS_TCP="yes"
#FW_ALLOW_INCOMING_HIGHPORTS_UDP="yes"
FW_FORWARD="... 10.130.0.0/16,10.0.0.0/8"
FW_ALLOW_CLASS_ROUTING="yes"

с линуксовой машины : telnet 10.8.0.144 80
Trying 10.8.0.144...
Connected to 10.8.0.144.
Escape character is '^]'.

т.е. с линукса (адрес 10.130.1.125) web-сервер открывается успешно, tcpdump -i eth2 -ln host 10.8.0.144:
11:21:09.995397 IP 10.130.1.125.60369 > 10.8.0.144.80: S 2511673120:2511673120(0) win 5840 <mss 1460,sackOK,timestamp 342707120 0,nop,wscale 7>
11:21:09.995434 IP 10.130.1.125.60369 > 10.8.0.144.80: S 2511673120:2511673120(0) win 5840 <mss 1460,sackOK,timestamp 342707120 0,nop,wscale 7>
11:21:10.007359 IP 10.130.1.125.60369 > 10.8.0.144.80: . ack 3878629485 win 46 <nop,nop,timestamp 342707123 971853418>
11:21:10.007524 IP 10.130.1.125.60369 > 10.8.0.144.80: P 0:384(384) ack 1 win 46 <nop,nop,timestamp 342707123 971853418>
11:21:10.219033 IP 10.130.1.125.60369 > 10.8.0.144.80: P 0:384(384) ack 1 win 46 <nop,nop,timestamp 342707177 971853418>
11:21:10.643027 IP 10.130.1.125.60369 > 10.8.0.144.80: P 0:384(384) ack 1 win 46 <nop,nop,timestamp 342707283 971853418>

А с виндозной машиной (адрес 10.130.1.179)-проблема, веб сервер недоступен , tcpdump -i eth2 -ln host 10.8.0.144:
11:59:18.383871 IP 10.130.1.179.1452 > 10.8.0.144.80: S 1934015471:1934015471(0) win 64512 <mss 1460,nop,nop,sackOK>
11:59:18.383909 IP 10.130.1.179.1452 > 10.8.0.144.80: S 1934015471:1934015471(0) win 64512 <mss 1460,nop,nop,sackOK>
11:59:18.395394 IP 10.130.1.179.1452 > 10.8.0.144.80: . ack 1991293189 win 64512
11:59:18.400557 IP 10.130.1.179.1452 > 10.8.0.144.80: P 0:406(406) ack 1 win 64512
11:59:21.381748 IP 10.130.1.179.1452 > 10.8.0.144.80: P 0:406(406) ack 1 win 64512
11:59:27.413031 IP 10.130.1.179.1452 > 10.8.0.144.80: P 0:406(406) ack 1 win 64512

tail -f firewall|grep 10.8.0.144
Apr 5 12:52:03 fire kernel: SFW2-FWDint-ACC-FORW IN=eth2 OUT=eth2 SRC=10.130.1.179 DST=10.8.0.144 LEN=40 TOS=0x00 PREC=0x00 TTL=127 ID=964 DF PROTO=TCP SPT=1118 DPT=80 WINDOW=0 RES=0x00 ACK RST URGP=0
Apr 5 12:52:03 fire kernel: SFW2-FWDint-DROP-DEFLT IN=eth2 OUT=eth2 SRC=10.130.1.179 DST=10.8.0.144 LEN=40 TOS=0x00 PREC=0x00 TTL=127 ID=964 DF PROTO=TCP SPT=1118 DPT=80 WINDOW=0 RES=0x00 ACK RST URGP=0
Apr 5 12:52:10 fire kernel: SFW2-FWDint-ACC-FORW IN=eth2 OUT=eth2 SRC=10.130.1.179 DST=10.8.0.144 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=968 DF PROTO=TCP SPT=1120 DPT=80 WINDOW=64512 RES=0x00 SYN URGP=0 OPT (020405B401010402)
Apr 5 12:52:10 fire kernel: SFW2-FWDint-ACC-FORW IN=eth2 OUT=eth2 SRC=10.130.1.179 DST=10.8.0.144 LEN=40 TOS=0x00 PREC=0x00 TTL=127 ID=969 DF PROTO=TCP SPT=1120 DPT=80 WINDOW=64512 RES=0x00 ACK URGP=0
Apr 5 12:52:10 fire kernel: SFW2-FWDint-DROP-DEFLT IN=eth2 OUT=eth2 SRC=10.130.1.179 DST=10.8.0.144 LEN=40 TOS=0x00 PREC=0x00 TTL=127 ID=969 DF PROTO=TCP SPT=1120 DPT=80 WINDOW=64512 RES=0x00 ACK URGP=0
вначале вроде принимает FWDint-ACC-FORW к форвардингу, а затем сразу же дропает пакеты с виндозных машин!
Кто может подсказать что это за прикол???
Спасибо сказали:
Аватара пользователя
prostorNET
Сообщения: 237
Статус: хадж линукс
ОС: openSuSE_12.3 + CentOS

Re: Проблема с SuSefirewall

Сообщение prostorNET »

Из всего выше сказанного я так понял
сеть 10.130.0.0/16 - это ваша внутренняя сеть, которая за интерфейсом eth2
сеть 10.0.0.0/8 - это доверенная зона dmz, которая за интерфейсом eth1
а за интерфейсом eth0 - находится WAN он же интернет
Если ошибся поправите меня (а лучше схемку)

Исправить правило маскарадинга (так как в dmz вам нужен доступ не к конкретному серверу или хосту, а ко всей подсети):

Код: Выделить всё

FW_MASQ_DEV="$FW_DEV_EXT","$FW_DEV_DMZ"

а следующее правило:

Код: Выделить всё

FW_FORWARD="... 10.130.0.0/16,10.0.0.0/8"

заменить на:

Код: Выделить всё

FW_FORWARD_MASQ="10.130.0.0/16,10.0.0.0/8"


Дальше смотреть.
"The quieter you become the more you are able to hear." © Lao Tzu
Спасибо сказали:
ACDC
Сообщения: 19

Re: Проблема с SuSefirewall

Сообщение ACDC »

prostorNET писал(а): ↑
05.04.2010 11:59
Из всего выше сказанного я так понял
сеть 10.130.0.0/16 - это ваша внутренняя сеть, которая за интерфейсом eth2
сеть 10.0.0.0/8 - это доверенная зона dmz, которая за интерфейсом eth1
а за интерфейсом eth0 - находится WAN он же интернет
Если ошибся поправите меня (а лучше схемку)

Исправить правило маскарадинга (так как в dmz вам нужен доступ не к конкретному серверу или хосту, а ко всей подсети):

Код: Выделить всё

FW_MASQ_DEV="$FW_DEV_EXT","$FW_DEV_DMZ"

а следующее правило:

Код: Выделить всё

FW_FORWARD="... 10.130.0.0/16,10.0.0.0/8"

заменить на:

Код: Выделить всё

FW_FORWARD_MASQ="10.130.0.0/16,10.0.0.0/8"


Дальше смотреть.

Схема такова:
eth0 - смотри в инет
eth1- DMZ с отдельной сетью 192.168.х.х - с ней все опции работают без проблем туда и обратно.
eth2- внутрення сеть 10.130.х.х, внутри которой есть маршрутизатор 10.130.1.7, за которым находятся другие сегменты внутренней сети 10.0.0.0 и котрый далее разруливает пакеты , относящиеся к 10.0.0.0.

route -n:
EXT_NET * 255.255.255.252 U 0 0 0 eth0 -тут WAN OK!
10.130.1.0 * 255.255.255.0 U 0 0 0 eth2 - INT_NET - тут все разрулитается ОК!
192.168.0.0 fire.local 255.255.255.0 UG 0 0 0 eth1 - тут DMZ OK!
10.0.0.0 10.130.1.7 255.0.0.0 UG 0 0 0 eth2 - INT_NET - вот тут и проблема с пакетами!
loopback * 255.0.0.0 U 0 0 0 lo
default EXT_NET 0.0.0.0 UG 0 0 0 eth0 - тутWAN OK!

Весь прикол в том, что полностью аналогичный сервак SuSE 8.1 работает без проблем! Берем с него конфиг SuSefirewall2 и пробую на SLES 10 - вот такая проблема! Кстати , тут на SLES 10 пришлось явно дописывать FW_FORWARD="... 10.130.0.0/16,10.0.0.0/8", иначе даже ping и traceroute теряется в сторону 10.0.0.0! А в оригинале на SuSe 8/1в FW_FORWARD 10.130.0.0/16,10.0.0.0/8 даже нет!

Не пойму почему именно с линуксовых машин все разуруливается с сторону 10.0.0.0 через 1.7 , а вот с виндозных трасерт идет, tcpdump eth2 паеты видит но почему дропает их безжалостно...
Спасибо сказали:
Аватара пользователя
prostorNET
Сообщения: 237
Статус: хадж линукс
ОС: openSuSE_12.3 + CentOS

Re: Проблема с SuSefirewall

Сообщение prostorNET »

В таком случаи на твоем сервере SLES10 достаточно прописать маршрут в котором говорится, что сеть 10.0.0.0/8 находится за интерфейсом eth2 и шлюз 10.130.1.7 что ты уже успешно сделал.

а вот правила хождения пакетов и прочего надо настраивать на маршрутизаторе 10.130.1.7 (что это у тебя железка или сервер?)
"The quieter you become the more you are able to hear." © Lao Tzu
Спасибо сказали:
ACDC
Сообщения: 19

Re: Проблема с SuSefirewall

Сообщение ACDC »

Проблема решена! В какой-то момент параметр FW_ALLOW_CLASS_ROUTING был установлен в "no" , поправил на "yes" и все пошло как по маслу!
Ранее при какой-то комбинации параметров FW_ALLOW_CLASS_ROUTING="yes" не работал. Есть вопрос по параметру FW_SERVICE_DNS (yes,no) - в ранних версиях он был , сейчас нет. На что он влиял раньше?
Спасибо сказали:
Аватара пользователя
prostorNET
Сообщения: 237
Статус: хадж линукс
ОС: openSuSE_12.3 + CentOS

Re: Проблема с SuSefirewall

Сообщение prostorNET »

ACDC писал(а): ↑
05.04.2010 12:47
Проблема решена! В какой-то момент параметр FW_ALLOW_CLASS_ROUTING был установлен в "no" , поправил на "yes" и все пошло как по маслу!
Ранее при какой-то комбинации параметров FW_ALLOW_CLASS_ROUTING="yes" не работал. Есть вопрос по параметру FW_SERVICE_DNS (yes,no) - в ранних версиях он был , сейчас нет. На что он влиял раньше?

разрешение запросов dns (служба доменных имен, порт 53 протокол UDP)
Если твой роутер тот, что внутри, настроен с QoS, то тогда ничего странного, что с выключенным параметром FW_ALLOW_CLASS_ROUTING у тебя не работало.
"The quieter you become the more you are able to hear." © Lao Tzu
Спасибо сказали: