TCP Retransmission нет доступа к серверу



  • @HelpUser said in TCP Retransmission нет доступа к серверу:

    93.158.156.96

    Если все сделано верно , то на сервере должно быть так
    10.10.10.X:11111 -> 10.10.10.19:9090
    Мне любопытно , ответит ли сервер сервер
    Чтобы было Вам понятно , какой порядок настройки проброса портов с исходящим НАТ
    покажу Вам пример с IPTABLES
    1 действие - проброс портов на хост 192.168.1.230
    2 действие - исходящий НАТ для пакетов 25,465 и тд для хоста 192.168.1.230 на интерфейсе tun100 адресом 10.10.100.2

    :PREROUTING ACCEPT [0:0]
    -A PREROUTING -d 37.XXX.XX.XX -p tcp -m multiport --destination-port 25,465,587,993 -j DNAT --to-destination 192.168.1.230
    :POSTROUTING ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A POSTROUTING -o tun100 -p tcp -m multiport --destination-port 25,465,587,993 -d 192.168.1.230 -j SNAT --to-source 10.10.100.2
    


  • @HelpUser На сервере нет файрвола для блокирования доступа с неавторизированных ip ?
    Обычно сброс соединения говорит о том , что порт закрыт



  • @Konstanti нету, больше скажу, как писал выше, на месте pfsense, использовал ideco smb, microtic, ну и не без чистого iptables. Все работает.



  • @Konstanti ну так и есть.

    19:36:01.898300 IP (tos 0x0, ttl 127, id 20080, offset 0, flags [DF], proto TCP (6), length 48)
    10.10.10.50.5614 > 10.10.10.19.9090: Flags [S], cksum 0x8a30 (correct), seq 830293417, win 8192, options [mss 1460,nop,nop,sackOK], length 0
    19:36:01.898341 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 40)
    10.10.10.19.9090 > 10.10.10.50.5614: Flags [R.], cksum 0xd6e0 (correct), seq 0, ack 830293418, win 0, length 0
    19:36:01.903365 IP (tos 0x0, ttl 127, id 20081, offset 0, flags [DF], proto TCP (6), length 48)
    10.10.10.50.22176 > 10.10.10.19.9090: Flags [S], cksum 0x0f8c (correct), seq 3209687496, win 8192, options [mss 1460,nop,nop,sackOK], length 0
    19:36:01.903405 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 40)
    10.10.10.19.9090 > 10.10.10.50.22176: Flags [R.], cksum 0x5c3c (correct), seq 0, ack 3209687497, win 0, length 0
    19:36:02.149223 IP (tos 0x0, ttl 127, id 20082, offset 0, flags [DF], proto TCP (6), length 48)
    10.10.10.50.30869 > 10.10.10.19.9090: Flags [S], cksum 0xdc75 (correct), seq 1433234636, win 8192, options [mss 1460,nop,nop,sackOK], length 0
    19:36:02.149259 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 40)
    10.10.10.19.9090 > 10.10.10.50.30869: Flags [R.], cksum 0x2926 (correct), seq 0, ack 1433234637, win 0, length 0



  • @HelpUser Можете показать вывод команды из консоли
    ifconfig -m
    на PFSense



  • @Konstanti said in TCP Retransmission нет доступа к серверу:

    ifconfig -m

    [2.4.4-RELEASE][root@pfSense.localdomain]/root: ifconfig -m
    vtnet0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=6c00bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
    capabilities=7d07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWFILTER,VLAN_HWTSO,LINKSTATE,NETMAP,RXCSUM_IPV6,TXCSUM_IPV6>
    ether 2e:ca:d7:59:74:55
    hwaddr 2e:ca:d7:59:74:55
    inet6 fe80::2cca:d7ff:fe59:7455%vtnet0 prefixlen 64 scopeid 0x1
    inet БелыйИПпровайдера netmask 0xffffff00 broadcast Провайдер.255
    nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
    media: Ethernet 10Gbase-T <full-duplex>
    status: active
    supported media:
    media 10Gbase-T mediaopt full-duplex
    vtnet1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=6c00bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
    capabilities=7d07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWFILTER,VLAN_HWTSO,LINKSTATE,NETMAP,RXCSUM_IPV6,TXCSUM_IPV6>
    ether e2:08:58:26:b9:44
    hwaddr e2:08:58:26:b9:44
    inet6 fe80::1:1%vtnet1 prefixlen 64 scopeid 0x2
    inet 10.10.10.50 netmask 0xffffff00 broadcast 10.10.10.255
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    media: Ethernet 10Gbase-T <full-duplex>
    status: active
    supported media:
    media 10Gbase-T mediaopt full-duplex
    enc0: flags=0<> metric 0 mtu 1536
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    groups: enc
    lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
    options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
    capabilities=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
    inet 127.0.0.1 netmask 0xff000000
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    groups: lo
    pflog0: flags=100<PROMISC> metric 0 mtu 33160
    groups: pflog
    pfsync0: flags=0<> metric 0 mtu 1500
    groups: pfsync
    syncpeer: 224.0.0.240 maxupd: 128 defer: on
    syncok: 1



  • @HelpUser Странно все это
    Попробуйте запустить tcpdump на lan интерфейсе PFSense , а потом в WireShark-е посмотреть , нет ли ошибок tcp пакетов ?
    На данный момент у Вас включен расчет контрольных сумм пакета на уровне адаптера, а не ядром (возможно , все-таки , что в этом проблема)
    можно еще увидеть вывод команды
    sysctl -a | grep hw.vtnet



  • @Konstanti said in TCP Retransmission нет доступа к серверу:

    sysctl -a | grep hw.vtnet

    с pfsense

    [2.4.4-RELEASE][root@pfSense.localdomain]/root: sysctl -a | grep hw.vtnet
    hw.vtnet.rx_process_limit: 512
    hw.vtnet.mq_max_pairs: 8
    hw.vtnet.mq_disable: 0
    hw.vtnet.lro_disable: 0
    hw.vtnet.tso_disable: 0
    hw.vtnet.csum_disable: 0spoiler

    С тем правилом исходящего ната, да ошибки есть.
    Screenshot_1.jpg
    Если это правило выключить то только те что писал выше retransmission



  • @HelpUser Можно попробовать сделать так
    Изменить значения этих переменных
    hw.vtnet.lro_disable= 0
    hw.vtnet.tso_disable= 0
    hw.vtnet.csum_disable= 0

    сделать их равными 1 и перегрузиться

    ab467377-936f-44b0-80be-b941c314bc48-image.png

    вот пример того , как это сделано у меня

    242be0b0-d360-4f3b-a18c-e327e56ccc7f-image.png



  • @Konstanti said in TCP Retransmission нет доступа к серверу:

    hw.vtnet.lro_disable= 0
    hw.vtnet.tso_disable= 0
    hw.vtnet.csum_disable= 0

    сделал, перезагрузил, ошибки те же.



  • @HelpUser а сделали равными 1 ???
    покажите пож вывод команды
    ifconfig -m vnet1
    и sysctl -a | grep hw.vnet



  • This post is deleted!


  • @Konstanti
    [2.4.4-RELEASE][root@pfSense.localdomain]/root: ifconfig -m vtnet1
    vtnet1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=80028<VLAN_MTU,JUMBO_MTU,LINKSTATE>
    capabilities=190028<VLAN_MTU,JUMBO_MTU,VLAN_HWFILTER,LINKSTATE,NETMAP>
    ether e2:08:58:26:b9:44
    hwaddr e2:08:58:26:b9:44
    inet6 fe80::e008:58ff:fe26:b944%vtnet1 prefixlen 64 scopeid 0x2
    inet 10.10.10.50 netmask 0xffffff00 broadcast 10.10.10.255
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    media: Ethernet 10Gbase-T <full-duplex>
    status: active
    supported media:
    media 10Gbase-T mediaopt full-duplex
    [2.4.4-RELEASE][root@pfSense.localdomain]/root: ifconfig -m vtnet0
    vtnet0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=80028<VLAN_MTU,JUMBO_MTU,LINKSTATE>
    capabilities=190028<VLAN_MTU,JUMBO_MTU,VLAN_HWFILTER,LINKSTATE,NETMAP>
    ether 2e:ca:d7:59:74:55
    hwaddr 2e:ca:d7:59:74:55
    inet6 fe80::2cca:d7ff:fe59:7455%vtnet0 prefixlen 64 scopeid 0x1
    inet провайдерIP netmask 0xffffff00 broadcast провайдер.255
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    media: Ethernet 10Gbase-T <full-duplex>
    status: active
    supported media:
    media 10Gbase-T mediaopt full-duplex

    [2.4.4-RELEASE][root@pfSense.localdomain]/root: sysctl -a | grep hw.vtnet
    hw.vtnet.rx_process_limit: 512
    hw.vtnet.mq_max_pairs: 8
    hw.vtnet.mq_disable: 0
    hw.vtnet.lro_disable: 1
    hw.vtnet.tso_disable: 1
    hw.vtnet.csum_disable: 1
    [2.4.4-RELEASE][root@pfSense.localdomain]/root:



  • @HelpUser у меня больше идей нет
    получается , надо копать на сервере , почему он сбрасывает соединение
    ошибок по контрольным суммам я не вижу



  • @Konstanti
    Идеи кончились и оно заработало. вернул все обратно, и по новой галочку Отключить аппаратный расчет контрольной суммы. и заработало. Получается какойто зависон был видимо, с этими параметрами вообще трафик не ходил до сервера
    hw.vtnet.lro_disable= 0
    hw.vtnet.tso_disable= 0
    hw.vtnet.csum_disable= 0



  • @HelpUser Трафик до сервера ходил
    Но так как контрольная сумма была рассчитана неверно, то пакет отбрасывался



  • @Konstanti
    Почему такое может происходить и почему другие фаерволы пропускали это? или у них по умолчание выключена проверка контрольных сумм?



  • @HelpUser
    Эта функция в Freebsd не всегда корректно реализована в драйверах сетевых плат некоторых производителей . Особенно часто встречается у Realtek и на виртуальных машинах.



  • @Konstanti Хорошо! Большое вам спасибо!



  • @Konstanti said in TCP Retransmission нет доступа к серверу:

    и на виртуальных машинах.

    Насколько помнится - их отключение при виртуализации PF одна из основных рекомендаций.


Log in to reply