LINUX.ORG.RU

CentOS 7x64 IPTables. не работает маршрутизация.

 ,


1

1

Добрый день народ! Возникла проблема с маршрутизацией, шлюз локальной сети на Linux почему то не отдает маршрут локальным машинам в сети. Iptables на шлюзе настраивал года 3 назад, уже смутно помню что там куда, настроил как говорится да забыл. Собственно что имеем

локальная сеть 192.168.112.0/23
сеть филиала 174.182.112.0/24
Шлюз локальной сети на Linux 192.168.112.21
Шлюз локальной сети, который смотрит в Cisco филиала 192.168.112.249
Машина юзера 192.168.112.2
Машина филиала 174.182.112.111
Таблица маршрутизации на Шлюзе локальной сети
[root@gw ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 enp4s0
88.204.204.0    0.0.0.0         255.255.252.0   U     100    0        0 enp4s0
174.182.110.0   192.168.112.249 255.255.255.0   UG    100    0        0 enp2s0
174.182.111.0   192.168.112.249 255.255.255.0   UG    100    0        0 enp2s0
174.182.112.0   192.168.112.249 255.255.255.0   UG    100    0        0 enp2s0
192.168.100.0   192.168.112.69  255.255.255.0   UG    100    0        0 enp2s0
192.168.111.0   192.168.112.61  255.255.255.0   UG    100    0        0 enp2s0
192.168.112.0   0.0.0.0         255.255.254.0   U     100    0        0 enp2s0
Данный шлюз без проблем пингует 174.182.112.111.
[root@gw ~]# ping 174.182.112.111
PING 174.182.112.111 (174.182.112.111) 56(84) bytes of data.
64 bytes from 174.182.112.111: icmp_seq=1 ttl=126 time=1004 ms
64 bytes from 174.182.112.111: icmp_seq=2 ttl=126 time=4.58 ms
64 bytes from 174.182.112.111: icmp_seq=3 ttl=126 time=1.23 ms
64 bytes from 174.182.112.111: icmp_seq=4 ttl=126 time=1.29 ms

Но пинг не идет с компов локальной сети 192.168.112.0/23, где шлюзом указан 192.168.112.21. Почему то ответ от шлюза приходит с интерфейса, который, смотрит в инет.

C:\Windows\system32>tracert 174.182.112.111

Трассировка маршрута к 174.182.112.111 с максимальным числом прыжков 30

  1    <1 мс     *       <1 мс  192.168.112.21
  2  fbi.kz [88.20.20.2]  сообщает: Заданный узел недоступен.

Трассировка завершена.
Если же добавить маршрут на локальной машине то пинги проходят
C:\Windows\system32>route add 174.182.112.0 mask 255.255.255.0 192.168.112.249
 ОК
C:\Windows\system32>tracert 174.182.112.111

Трассировка маршрута к SERVER-ASPMK [174.182.112.111]
с максимальным числом прыжков 30:

  1     1 ms     1 ms     1 ms  192.168.112.249
  2     1 ms     1 ms     1 ms  174.182.125.1
  3     1 ms     1 ms     1 ms  SERVER-K [174.182.112.111]

Трассировка завершена.

Правила iptables

[root@gw ~]# iptables -L -v -n
Chain INPUT (policy DROP 67824 packets, 3768K bytes)
 pkts bytes target     prot opt in     out     source               destination
 1095  390K ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 3
   79  4469 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 12
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x00
11408 2251K DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:!0x17/0x02 state NEW
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x3F
 261K   40M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    4   160 ACCEPT     tcp  --  *      *       0.0.0.0/0            88.20.20.2        tcp dpt:1723
 1744  139K ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
 917K   71M ACCEPT     all  --  enp2s0 *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  enp2s0 *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     icmp --  enp2s0 *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy DROP 29975 packets, 1259K bytes)
 pkts bytes target     prot opt in     out     source               destination
  234 19523 ACCEPT     udp  --  enp4s0 enp2s0  0.0.0.0/0            192.168.112.11       udp multiport dports 7853
31450 2699K ACCEPT     tcp  --  enp4s0 enp2s0  0.0.0.0/0            192.168.112.116      tcp multiport dports 10090,10091,10092,10093,10094,10095,10096
   31  1590 ACCEPT     tcp  --  enp4s0 enp2s0  0.0.0.0/0            192.168.112.181      tcp multiport dports 20,21
 351K  226M ACCEPT     tcp  --  enp4s0 enp2s0  0.0.0.0/0            192.168.112.1        tcp multiport dports 80,25,110,995,443,943
1305K   68M TCPMSS     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x06/0x02 TCPMSS clamp to PMTU
12952  705K DROP       all  --  *      *       87.240.143.241       0.0.0.0/0
11365  614K DROP       all  --  *      *       87.240.131.117       0.0.0.0/0
12047  655K DROP       all  --  *      *       87.240.131.99        0.0.0.0/0
34159 1783K DROP       all  --  *      *       217.20.147.94        0.0.0.0/0
34038 1775K DROP       all  --  *      *       217.20.155.58        0.0.0.0/0
34710 1811K DROP       all  --  *      *       217.20.156.159       0.0.0.0/0
  47M   37G ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW,RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  enp2s0 *       88.20.20.2        0.0.0.0/0            multiport dports 21,22,80,110,143,53 state NEW,RELATED,ESTABLISHED
    0     0 ACCEPT     udp  --  enp2s0 *       192.168.112.0/23     0.0.0.0/0            multiport dports 53
    0     0 ACCEPT     tcp  --  enp2s0 *       192.168.112.0/23     0.0.0.0/0            multiport dports 53
    0     0 ACCEPT     udp  --  enp2s0 *       192.168.110.0/23     0.0.0.0/0            multiport dports 53
    0     0 ACCEPT     tcp  --  enp2s0 *       192.168.110.0/23     0.0.0.0/0            multiport dports 53
    0     0 ACCEPT     tcp  --  enp2s0 *       174.182.112.0/24     0.0.0.0/0            multiport dports 53
    0     0 ACCEPT     udp  --  enp2s0 *       174.182.112.0/24     0.0.0.0/0            multiport dports 53
    0     0 ACCEPT     udp  --  *      *       192.168.112.11       0.0.0.0/0
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            192.168.112.11       multiport dports 7888
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            192.168.112.11       multiport dports 10000:20000
    3   120 LOG        tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:25 LOG flags 0 level 4
    3   120 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:25
    0     0 ACCEPT     tcp  --  *      *       192.168.112.1        0.0.0.0/0            tcp dpt:25
    0     0 LOG        tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:25 LOG flags 0 level 4
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:25

Chain OUTPUT (policy DROP 6 packets, 487 bytes)
 pkts bytes target     prot opt in     out     source               destination
   79  4469 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 0
 121K   13M ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 3
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 4
  496  216K ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 11
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 12
 623K  161M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW,RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  *      enp2s0  0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     icmp --  *      enp2s0  0.0.0.0/0            0.0.0.0/0
завершение /etc/sysctl.conf имеет запись net.ipv4.ip_forward = 1

Еще ни как не могу понять от куда в таблице маршрутизации появился маршрут

88.204.204.0    0.0.0.0         255.255.252.0   U     100    0        0 enp4s0
Пытался удалить, не получилось
[root@gw ~]# route del -net 88.204.204.0
SIOCDELRT: Недопустимый аргумент
Надеюсь ни чего не забыл, буду рад любым рекомендациям.

Ответ на: комментарий от Demolitionman

это прямой маршрут для enp4s0. посмотри «ifconfig enp4s0». Не надо его удалять!

шлюз локальной сети на Linux почему то не отдает маршрут локальным машинам в сети

чтоб их отдавать нужен «кто-то» кто их отдает (типа quagga) и на машинах эти маршруты тоже кто-то должен принимать (типа quagga). Сами по себе маршруты не распространяются.

vel ★★★★★
()
Ответ на: комментарий от vel

это прямой маршрут для enp4s0. посмотри «ifconfig enp4s0». Не надо его удалять!

Не совсем понял что за прямой маршрут? Думаю с этим пока что можно обождать. Тут вот какое дело, в таблице маршрутизации есть еще такой маршрут

192.168.111.0   192.168.112.61  255.255.255.0   UG    100    0        0 enp2s0
Я не в курсе что такое (типа quagga), но маршрутизация работает, так как то что я выше указал очень даже хорошо раздается на клиентов.
C:\Windows\system32>tracert 192.168.111.2

Трассировка маршрута к KOSTENKOVA [192.168.111.2]
с максимальным числом прыжков 30:

  1     *       <1 мс    <1 мс  192.168.112.21
  2    <1 мс     1 ms     1 ms  user [192.168.112.61]
  3    <1 мс    <1 мс    <1 мс  KOSTENKOVA [192.168.111.2]

Трассировка завершена.

C:\Windows\system32>
То есть в этом случае маршрут отдается, а в случае с
C:\Windows\system32>tracert 174.182.112.111

Трассировка маршрута к 174.182.112.111 с максимальным числом прыжков 30

  1    <1 мс     *       <1 мс  192.168.112.21
  2  fbi.kz [88.20.20.2]  сообщает: Заданный узел недоступен.

Трассировка завершена.
Какого то фига отвечает enp4s0

Demolitionman
() автор топика
Ответ на: комментарий от Demolitionman

так как то что я выше указал очень даже хорошо раздается на клиентов.

Маршруты не могут раздваваться сами, только через протоколы маршрутизации, которые реализуются отдельным софтом (типа quagga), который должен быть установлен и настроен на всех машинах сети.

на данный момент у тебя настроена таблица маршрутизации на центральном шлюзе и эти данные без сторонних средств не передаются клиентам. Обычные машины сети 192.168.112.0/23 самостоятельно не могут узнать о наличии шлюза 192.168.112.249 в сети 174.182.110.0/24 - 174.182.112.0/24 и др.

192.168.111.0   192.168.112.61  255.255.255.0   UG    100    0        0 enp2s0

косвенный маршрут ( т.е. не прямой ). Если бы ты не пользовался протухшими утилями типа «route», а пользовался «ip ro», то было бы понятно откуда эти маршруты.

tracert 174.182.112.111

не работает потому, что на этой виндовой машине ( у нее адрес 192.168.112.х ?) нет маршрута в сеть 174.182.112.0/24 через 192.168.112.249 и пакеты уходят дальше на ее дефолтный шлюз. Странно, что 192.168.112.21 этот пакет отправляет наружу. А там случаем policy-routing не используется (ip ru больше 3-х строк)? Что скажет

ip ro get 174.182.112.111 from 192.168.112.х iif enp2s0
на маршрутизаторе 192.168.112.21 ?

Самый простой способ отдать маршруты винде - через dhcp если она получает адрес через dhcp или прописать ей в постоянные маршруты если у нее статический адрес (с этим на винфак).

vel ★★★★★
()
Последнее исправление: vel (всего исправлений: 1)
Ответ на: комментарий от vel

Странно, что 192.168.112.21 этот пакет отправляет наружу. А там случаем policy-routing не используется (ip ru больше 3-х строк)? Что скажет

[root@gw ~]# ip ro get 174.182.112.111 from 192.168.112.х iif enp2s0
Error: an inet prefix is expected rather than "192.168.112.х".
[root@gw ~]# ip ro get 174.182.112.111 from 192.168.112.2 iif enp2s0
174.182.112.111 from 192.168.112.2 via 192.168.112.249 dev enp2s0
    cache <redirect>  iif *

Кстати на этой же машине 192.168.112.21 установлен dhcp сервер. Сейчас погуглю как раздать маршруты клиентам на виндовых машинах

Demolitionman
() автор топика
Ответ на: комментарий от vel

Самый простой способ отдать маршруты винде - через dhcp если она получает адрес через dhcp или прописать ей в постоянные маршруты если у нее статический адрес (с этим на винфак).

Примного благодарен!! Все заработало. Добавил в dhcpd.conf такие строки в general

# MS routes: adds extras to supplement routers option
option ms-classless-static-routes code 249 = array of unsigned integer 8;
# RFC3442 routes: overrides routers option
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
в subnet
  option ms-classless-static-routes 24, 174,182,112, 192,168,112,249;
  option rfc3442-classless-static-routes 24, 174,182,112, 192,168,112,249;
Меня сбил с толку дефолтный шлюз. Совсем подзабыл что все пакеты для которых нет маршрутов идут на дефолтный шлюз.

Demolitionman
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.