• ipfw fwd после обновления

    From Evgeny Chevtaev@2:5010/275 to All on Thu Apr 15 08:39:34 2021
    Hi All!

    Имеется боевая конструкция, которая сломалась после обновления с 12.2 до 13.0, но для простоты воспроизвёл на свеже установленной 13.0-RELEASE. В сети два роутера - дефолтный 192.168.1.254 и второй 192.168.1.253, на котором NAT пробрасывает 80 порт на сервачок. Как водится, надо, чтобы ответы с 80 порта улетали обратно на 1.253. Сделано было через ipfw fwd и до недавнего времени работало.

    Hастройки прилагаются:

    root@localhost:~ # ifconfig em0
    em0: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=481009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWFILTER,NOMAP>
    ether 00:0c:29:3f:8e:40
    inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

    root@localhost:~ # netstat -rn
    Routing tables

    Internet:
    Destination Gateway Flags Netif Expire
    default 192.168.1.254 UGS em0
    127.0.0.1 link#2 UH lo0
    192.168.1.0/24 link#1 U em0
    192.168.1.3 link#1 UHS lo0

    root@localhost:~ # ipfw list
    00100 allow ip from any to any via lo0
    00200 deny ip from any to 127.0.0.0/8
    00300 deny ip from 127.0.0.0/8 to any
    00400 deny ip from any to ::1
    00500 deny ip from ::1 to any
    00600 allow ipv6-icmp from :: to ff02::/16
    00700 allow ipv6-icmp from fe80::/10 to fe80::/10
    00800 allow ipv6-icmp from fe80::/10 to ff02::/16
    00900 allow ipv6-icmp from any to any icmp6types 1
    01000 allow ipv6-icmp from any to any icmp6types 2,135,136
    01100 fwd 192.168.1.253 ip4 from me 80 to any
    01200 allow ip from any to any via em0
    01300 deny log ip from any to any
    65535 deny ip from any to any

    Если глядеть ipfw show, то счётчики на правиле с fwd увеличиваются, однако ответы идут всё равно по дефолтному маршруту (tcpdump на 1.254 подтверждает). Подскажите, куда копать?

    With best regards,
    Evgeny
    --- GoldED+/BSD 1.1.5-b20180707
    * Origin: Powered by FreeBSD 13.0-RELEASE (2:5010/275)
  • From Eugene Grosbein@2:5006/1 to Evgeny Chevtaev on Thu Apr 15 15:35:19 2021
    15 апр. 2021, четверг, в 08:39 NOVT, Evgeny Chevtaev написал(а):

    Имеется боевая конструкция, которая сломалась после обновления с 12.2 до 13.0,
    но для простоты воспроизвёл на свеже установленной 13.0-RELEASE. В сети два
    роутера - дефолтный 192.168.1.254 и второй 192.168.1.253, на котором NAT пробрасывает 80 порт на сервачок. Как водится, надо, чтобы ответы с 80 порта
    улетали обратно на 1.253. Сделано было через ipfw fwd и до недавнего времени
    работало.
    Hастройки прилагаются:
    root@localhost:~ # ifconfig em0
    em0: flags=8863<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=481009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWFILTER,NOMAP>
    ether 00:0c:29:3f:8e:40
    inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> root@localhost:~ # netstat -rn
    Routing tables
    Internet:
    Destination Gateway Flags Netif Expire
    default 192.168.1.254 UGS em0
    127.0.0.1 link#2 UH lo0
    192.168.1.0/24 link#1 U em0
    192.168.1.3 link#1 UHS lo0

    01100 fwd 192.168.1.253 ip4 from me 80 to any

    Если глядеть ipfw show, то счётчики на правиле с fwd увеличиваются, однако ответы идут всё равно по дефолтному маршруту (tcpdump на 1.254 подтверждает).
    Подскажите, куда копать?

    Погляди MAC-адреса обоих роутеров в таблице arp -an на сервере
    и сравни MAC-адресом назначения, который показывает на самом сервере
    команда tcpdump -leni em0 src port 80

    Eugene
    --
    Тестоголовые кислое свое брожение приняли за душу, распарывание чрев
    своих - за историю, средства, оттягивающие разложение - за цивилизацию...
    --- slrn/1.0.3 (FreeBSD)
    * Origin: RDTC JSC (2:5006/1@fidonet)
  • From Evgeny Chevtaev@2:5010/275 to Eugene Grosbein on Sat Apr 17 16:06:14 2021
    Hi Eugene!

    Thursday April 15 2021 15:35, Eugene Grosbein wrote to Evgeny Chevtaev:

    Если глядеть ipfw show, то счётчики на правиле с fwd
    увеличиваются, однако ответы идут всё равно по дефолтному
    маршруту (tcpdump на 1.254 подтверждает). Подскажите, куда
    копать?
    Погляди MAC-адреса обоих роутеров в таблице arp -an на сервере
    и сравни MAC-адресом назначения, который показывает на самом сервере команда tcpdump -leni em0 src port 80

    ? (192.168.1.253) at 12:57:15:2b:f4:26 on em0 expires in 1179 seconds [ethernet]
    ? (192.168.1.254) at d4:bf:7f:4b:dc:de on em0 expires in 1163 seconds [ethernet]

    16:02:41.150712 00:0c:29:3f:8e:40 > d4:bf:7f:4b:dc:de, ethertype IPv4 (0x0800), length 66: 192.168.1.3.80 > 176.226.161.198.51106: Flags [S.], seq 484840515, ack 2447365265, win 65535, options [mss 1460,nop,wscale 6,sackOK,eol], length 0
    16:02:41.407360 00:0c:29:3f:8e:40 > d4:bf:7f:4b:dc:de, ethertype IPv4 (0x0800), length 66: 192.168.1.3.80 > 176.226.161.198.51107: Flags [S.], seq 1838388530, ack 2130116312, win 65535, options [mss 1460,nop,wscale 6,sackOK,eol], length 0
    16:02:42.160909 00:0c:29:3f:8e:40 > d4:bf:7f:4b:dc:de, ethertype IPv4 (0x0800), length 66: 192.168.1.3.80 > 176.226.161.198.51106: Flags [S.], seq 484840515, ack 2447365265, win 65535, options [mss 1460,nop,wscale 6,sackOK,eol], length 0

    With best regards,
    Evgeny
    --- GoldED+/BSD 1.1.5-b20180707
    * Origin: Powered by FreeBSD 13.0-RELEASE (2:5010/275)
  • From Eugene Grosbein@2:5006/1 to Evgeny Chevtaev on Sun Apr 18 09:36:57 2021
    17 апр. 2021, суббота, в 16:06 NOVT, Evgeny Chevtaev написал(а):

    Если глядеть ipfw show, то счётчики на правиле с fwd
    увеличиваются, однако ответы идут всё равно по дефолтному
    маршруту (tcpdump на 1.254 подтверждает). Подскажите, куда
    копать?
    Погляди MAC-адреса обоих роутеров в таблице arp -an на сервере
    и сравни MAC-адресом назначения, который показывает на самом сервере
    команда tcpdump -leni em0 src port 80
    ? (192.168.1.253) at 12:57:15:2b:f4:26 on em0 expires in 1179 seconds [ethernet]
    ? (192.168.1.254) at d4:bf:7f:4b:dc:de on em0 expires in 1163 seconds [ethernet]
    16:02:41.150712 00:0c:29:3f:8e:40 > d4:bf:7f:4b:dc:de, ethertype IPv4 (0x0800),
    length 66: 192.168.1.3.80 > 176.226.161.198.51106: Flags [S.], seq 484840515,
    ack 2447365265, win 65535, options [mss 1460,nop,wscale 6,sackOK,eol], length 0
    16:02:41.407360 00:0c:29:3f:8e:40 > d4:bf:7f:4b:dc:de, ethertype IPv4 (0x0800),
    length 66: 192.168.1.3.80 > 176.226.161.198.51107: Flags [S.], seq 1838388530,
    ack 2130116312, win 65535, options [mss 1460,nop,wscale 6,sackOK,eol], length 0
    16:02:42.160909 00:0c:29:3f:8e:40 > d4:bf:7f:4b:dc:de, ethertype IPv4 (0x0800),
    length 66: 192.168.1.3.80 > 176.226.161.198.51106: Flags [S.], seq 484840515,
    ack 2447365265, win 65535, options [mss 1460,nop,wscale 6,sackOK,eol], length 0

    Сломали опять, значит. Пиши PR и ссылку сюда кинь.

    Eugene
    --
    Устав от радостных пиров,
    Hе зная страхов и желаний
    --- slrn/1.0.3 (FreeBSD)
    * Origin: RDTC JSC (2:5006/1@fidonet)
  • From Eugene Grosbein@2:5006/1 to Evgeny Chevtaev on Mon Apr 4 16:24:39 2022
    15 апр. 2021, четверг, в 08:39 NOVT, Evgeny Chevtaev написал(а):

    Имеется боевая конструкция, которая сломалась после обновления с 12.2 до 13.0,
    но для простоты воспроизвёл на свеже установленной 13.0-RELEASE.

    https://reviews.freebsd.org/D34732

    Eugene
    --
    Поэты - страшные люди. У них все святое.
    --- slrn/1.0.3 (FreeBSD)
    * Origin: RDTC JSC (2:5006/1@fidonet)
  • From Evgeny Chevtaev@2:5010/275 to Eugene Grosbein on Mon Apr 4 15:16:26 2022
    Hi Eugene!

    Monday April 04 2022 16:24, Eugene Grosbein wrote to Evgeny Chevtaev:

    Имеется боевая конструкция, которая сломалась после обновления с
    12.2 до 13.0, но для простоты воспроизвёл на свеже установленной
    13.0-RELEASE.
    https://reviews.freebsd.org/D34732

    То есть, это официально починили? Я на bugs.freebsd.org почитывал, как пытались какие-то костыли приспособить, но мне они показались какими-то уж слишком костыльными.

    With best regards,
    Evgeny
    --- GoldED+/BSD 1.1.5-b20180707
    * Origin: Powered by FreeBSD 13.0-RELEASE-p8 (2:5010/275)
  • From Eugene Grosbein@2:5006/1 to Evgeny Chevtaev on Tue Apr 5 15:48:41 2022
    04 апр. 2022, понедельник, в 15:16 NOVT, Evgeny Chevtaev написал(а):

    Имеется боевая конструкция, которая сломалась после обновления с
    12.2 до 13.0, но для простоты воспроизвёл на свеже установленной
    13.0-RELEASE.
    https://reviews.freebsd.org/D34732
    То есть, это официально починили? Я на bugs.freebsd.org почитывал, как пытались
    какие-то костыли приспособить, но мне они показались какими-то уж слишком костыльными.

    Ещё не починили, но уже есть официальный патч, который автор ещё должен прокоммитить, но ты уже можешь приложить его, пересобрать ядро и пользоваться.

    Eugene
    --
    Поэты - страшные люди. У них все святое.
    --- slrn/1.0.3 (FreeBSD)
    * Origin: RDTC JSC (2:5006/1@fidonet)
  • From Eugene Grosbein@2:5006/1 to Evgeny Chevtaev on Sat Jul 2 19:34:36 2022
    15 апр. 2021, четверг, в 08:39 NOVT, Evgeny Chevtaev написал(а):

    Имеется боевая конструкция, которая сломалась после обновления с 12.2 до 13.0,
    но для простоты воспроизвёл на свеже установленной 13.0-RELEASE. В сети два
    роутера - дефолтный 192.168.1.254 и второй 192.168.1.253, на котором NAT пробрасывает 80 порт на сервачок. Как водится, надо, чтобы ответы с 80 порта
    улетали обратно на 1.253. Сделано было через ipfw fwd и до недавнего времени
    работало.

    Это починили и фикс попал в 13.1-RELEASE. https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256828

    Eugene
    --- slrn/1.0.3 (FreeBSD)
    * Origin: RDTC JSC (2:5006/1@fidonet)
  • From Evgeny Chevtaev@2:5010/275 to Eugene Grosbein on Wed Jul 6 20:01:26 2022
    Hi Eugene!

    Saturday July 02 2022 19:34, Eugene Grosbein wrote to Evgeny Chevtaev:

    Имеется боевая конструкция, которая сломалась после обновления с
    12.2 до 13.0, но для простоты воспроизвёл на свеже установленной
    13.0-RELEASE. В сети два роутера - дефолтный 192.168.1.254 и
    второй 192.168.1.253, на котором NAT пробрасывает 80 порт на
    сервачок. Как водится, надо, чтобы ответы с 80 порта улетали
    обратно на 1.253. Сделано было через ipfw fwd и до недавнего
    времени работало.
    Это починили и фикс попал в 13.1-RELEASE. https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256828

    Именно в 13.1-RELEASE я сразу проверил - не починили. Если смотреть исходники, то патч приделан уже после и присутствует в 13-STABLE.

    With best regards,
    Evgeny
    --- GoldED+/BSD 1.1.5-b20220504
    * Origin: Powered by FreeBSD 13.1-RELEASE (2:5010/275)