haproxy for ipv4 and ipv6 to ipv4; ipv6 doesnt work?

Started by Bytechanger, May 20, 2020, 09:13:57 AM

Previous topic - Next topic
Sorry for late reply.

Use MTU 1492

IP4 with (MSS = 1452) + ( 20B TCP + 20B IP4 +8B PPPoE) = MTU 1500 default ethernet.
IP6-Header is 40 Bytes, thus MSS 1432.

With 1500 -8B PPPoE -40B IPv6 -8B ICMP = 1444 packetsize you can
ping6 -c1 -s 1444 example.net
wich passes, while
ping6 -c1 -s 1445 example.net
times out.

Please test which is largest packetsize for ping.

There might be some encapsulating overhad on the route (VXLAN VPN ...)

Thank you for helping.

So now I set MTU on WAN to 1492. (Should this only on pppoe, and on other clear box??)

MSS empty box??

ping6 -c1 -s 1436 2003:(my WAN)

is the highest value, to get an response. Beginning at 1437 there is no answer!

With clear MTU:
I can ping to 1444, on 1445 it recieved an error
icmp_seq=1 Packet too big: mtu=1492

Somtimes packages over or at 1445 are completly loss!

Greets

Byte

Yes, leave MSS empty.

We expect the loss at 1445 due to PPPoE.


ok,
setting MTU to 1492 and max packet of 1436 does mean that it is correctly set automatically, i.e. pppoe subtracts its 8 Byte header automatically.
The default of 1500 -8 B pppoe results in max packet of 1444.

So it's fine having MTU blank/default/1500 on the pppoe interface.



I'm setting MTU 1492 everywhere on the LANs with traffic through WAN/PPPoE and JumboFrames on the local-only LAN. So my LAN and DMZ get 1492 and NAS-network is at 9k.




Seems like your webserver doesn't like the reduced MTU? Can you set MTU 1492 directly on its interface.


OK, so what I have to set?

MTU on my OPNSense empty. fine.

I´m on an IONOS vServer on bash/ssh?
It ´s an Ubuntu (Linux version 4.15.0-99-generic (buildd@lcy01-amd64-013) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #100-Ubuntu SMP Wed Apr 22 20:32:56 UTC 2020)

hm,
try to change it

sudo ifconfig ens192 mtu 1492

check

ifconfig | grep -i MTU
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1492
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

seems to work.
But wget doesn´t work anyway....

Same thing....

Greets

Byte

Hm,

when I change my ISP soon with only DSLite, I want to recieve IPv4 on my IONOS Server and forward it over ipv6 to my reverse proxy on opnsense at home!
So I need this to work. I depend on it.

Do you think, it´s WAN MTU problem?
Could it be a problem of including haproxy in opnsense or something else?

I need help.

Greets

Byte

I have haproxy listening on my PPPoE WAN interface but I have to start it manually after a reboot because the static IPv6 is DHCPv6 assigned on the WAN interface which takes a little bit. Would be nice if haproxy would be reloaded/restart/delayed in case of an interface change.

Hi,

can you tell me, how you configured haproxy an opnsense?
[::]:Portnumber ??
MTU-Settings?
etc.

Greets

Byte

Just 2001:db8::1:443 in the Listen Addresses field, haven't had to tinker with MTU at all.

Is this the IPv6 Adress of you WAN-Port?

Do you enter the WAN IPv6 Adress on each haProxy-frontend?
On each change of ipv6 (on my ISP often) you have to change all?

This doesn´t work for me. It´s the same, no answer...

Greets

Byte

2001:db8::/32 is the prefix reserved for documentation, but yes, the IPv6 address I've specified there is my WAN IPv6 address assigned by DHCPv6 which is always the same (also because I've added it to the interface config), depends on your ISP though.
I didn't bind to :::443 because internally the OPNsense WebUI listens on that port already.

OK,

when I´m right, you set in Listen Addresses: you WAN IPv6:portnumber. (And its pppoe?)
Firewall open WAN ipv6 portnumber.

Call from outside WAN IPv6 woth portnumber, and it works?
So I don´t know, whats wrong with my setting.

Greets

Byte

Reading your fourth post with the firewall log I think you have a misunderstanding.
If haproxy listens on the WAN IPv6 address of your firewall, you need to connect to, not the IPv6 address of the host it reverse-proxies to. So if you have a DNS AAAA record it needs to point to the IPv6 address of your firewall.
Did you check if the IPv6 packets you want haproxy to handle arrive at the WAN interface of the firewall, for example with tcpdump?

I´m testing. I enter real IPv6 and no DNS-Addresses.
I set IPv6-Address from WAN-Interface (firewall), the device, wich is "real server" on haproxy has no ipv6 address!
So I can only put ONE IPv6 Adress to test (WAN/Firewall).
I could also test with IPv6 of my LAN-Interface, but it´s the same.

I testet to call haproxy with ipv6 WAN Address from my LAN, wich works fine.
Otherwhise, when I call it from outsite to WAN, it passes firewall, after that, nothing....
On ipv4 it works fine.
On this post, you can see, there comes data to firewall (see post https://forum.opnsense.org/index.php?topic=17316.msg78835#msg78835)

Greets

Byte

What is 'IP of my IONOS Server'? Is this a host on the Internet?
The packet capture shows that the syn packet is answered with a syn-ack but the client sends another syn instead of ack.
Did you also do a packet capture on the client (IP of my IONOS Server)?
Did you try to stop haproxy and do another packet capture to find out if some other process listens on port 56571 of your firewall or maybe a NAT?

OK, Sorry

IONOS Server is a vserver on internet with ipv6 and ipv4.
It has only ubuntu bash. I want to set it up for recieve ipv4 and forward it to ipv6 to haproxy at home.

actually my home has ipv4 and ipv6, but soon ISP change and i get a dslite with only ipv6.

Port 56571 on ipv4 WAN runs best. It works fine.
Port 56571 on ipv6 works fine from LAN, WAN not....

here is a dump from IONOS-Internet-Server when I call



wget -O --no-check-certificate https://[2003:(WAN Firewall)]:56573

sudo tcpdump -ni ens192 'tcp port 56573'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens192, link-type EN10MB (Ethernet), capture size 262144 bytes
13:08:18.670174 IP6 2001:(IONOS InternetServer).52114 > 2003:(WAN Firewall).56573: Flags [S], seq 3221730538, win 64440, options [mss 1432,sackOK,TS val 2919176013 ecr 0,nop,wscale 6], length 0
13:08:19.698280 IP6 2001:(IONOS InternetServer).52114 > 2003:(WAN Firewall).56573: Flags [S], seq 3221730538, win 64440, options [mss 1432,sackOK,TS val 2919177042 ecr 0,nop,wscale 6], length 0
13:08:21.714260 IP6 2001:(IONOS InternetServer).52114 > 2003:(WAN Firewall).56573: Flags [S], seq 3221730538, win 64440, options [mss 1432,sackOK,TS val 2919179057 ecr 0,nop,wscale 6], length 0
13:08:25.778291 IP6 2001:(IONOS InternetServer).52114 > 2003:(WAN Firewall).56573: Flags [S], seq 3221730538, win 64440, options [mss 1432,sackOK,TS val 2919183121 ecr 0,nop,wscale 6], length 0
13:08:33.970295 IP6 2001:(IONOS InternetServer).52114 > 2003:(WAN Firewall).56573: Flags [S], seq 3221730538, win 64440, options [mss 1432,sackOK,TS val 2919191313 ecr 0,nop,wscale 6], length 0


I think listen ports is shown over sockstat

sudo sockstat -6
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
www      haproxy    76403 6  tcp6   *:56574               *:*
www      haproxy    76403 7  tcp6   2003:(WAN Firewall):56574 *:*
www      haproxy    76403 11 tcp6   *:56572               *:*
www      haproxy    76403 12 tcp6   *:32400               *:*
www      haproxy    76403 14 tcp6   *:56560               *:*
www      haproxy    76403 16 tcp6   *:56573               *:*
www      haproxy    76403 17 tcp6   2003:(WAN Firewall):56573 *:*
www      haproxy    76403 19 tcp6   *:56571               *:*
www      haproxy    76403 20 tcp6   ::1:56571             *:*
www      haproxy    76403 21 tcp6   2003:(WAN Firewall):56573 *:*
www      haproxy    76403 23 tcp6   *:56570               *:*
www      haproxy    76403 25 tcp6   *:80                  *:*
www      haproxy    76403 27 tcp6   *:443                 *:*
www      haproxy    76403 29 tcp6   *:56575               *:*
root     lighttpd   70335 7  tcp6   2003:xxx:4444 *:*
root     lighttpd   70335 9  tcp6   ::1:4444              *:*
root     lighttpd   70335 12 tcp6   2003:xxx:80 *:*
root     lighttpd   70335 14 tcp6   ::1:80                *:*
root     ntpd       80961 20 udp6   *:123                 *:*
root     ntpd       80961 22 udp6   fe80::xxx:8584%re1:123 *:*
root     ntpd       80961 25 udp6   2003:xxx:123 *:*
root     ntpd       80961 26 udp6   ::1:123               *:*
root     ntpd       80961 28 udp6   fe80:xxx84%re1_vlan100:123 *:*
root     ntpd       80961 30 udp6   2003:xxx:8584:123 *:*
root     ntpd       80961 31 udp6   fe80::xxx:8584%re1_vlan50:123 *:*
root     ntpd       80961 33 udp6   2003:xxx:8584:123 *:*
root     ntpd       80961 34 udp6   fe80::xxx:8584%re1_vlan77:123 *:*
dhcpd    dhcpd      29434 7  udp6   *:547                 *:*
unbound  unbound    68368 3  udp6   *:53                  *:*
unbound  unbound    68368 4  tcp6   *:53                  *:*
rspamd   rspamd-2.5 20828 9  udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 18 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 21 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 23 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 24 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 25 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 26 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 27 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 28 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 29 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 30 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 31 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 32 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 33 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 34 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 35 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 36 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 37 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 38 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 39 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 40 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 41 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 42 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 43 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 44 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 45 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 46 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 47 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 48 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 49 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 50 udp6   *:*                   *:*
rspamd   rspamd-2.5 20828 51 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 9  udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 17 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 19 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 21 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 22 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 23 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 24 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 25 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 26 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 27 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 28 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 29 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 30 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 31 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 32 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 33 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 34 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 35 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 36 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 37 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 38 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 39 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 40 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 41 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 42 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 43 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 44 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 45 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 46 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 47 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 48 udp6   *:*                   *:*
rspamd   rspamd-2.5 85915 49 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 9  udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 14 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 16 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 18 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 19 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 20 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 21 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 22 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 23 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 24 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 25 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 26 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 27 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 28 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 29 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 30 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 31 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 32 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 33 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 34 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 35 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 36 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 37 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 38 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 39 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 40 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 41 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 42 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 43 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 44 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 45 udp6   *:*                   *:*
rspamd   rspamd-2.5 80404 46 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 9  udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 11 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 13 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 15 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 16 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 17 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 18 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 19 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 20 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 21 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 22 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 23 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 24 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 25 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 26 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 27 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 28 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 29 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 30 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 31 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 32 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 33 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 34 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 35 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 36 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 37 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 38 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 39 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 40 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 41 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 42 udp6   *:*                   *:*
rspamd   rspamd-2.5 38154 43 udp6   *:*                   *:*
redis    redis-serv 29655 7  tcp6   ::1:6379              *:*
root     lighttpd   75648 5  tcp6   ::1:43580             *:*
root     radiusd    95290 12 udp6   *:1812                *:*
root     radiusd    95290 13 udp6   *:1813                *:*
root     radiusd    95290 15 udp6   *:62734               *:*
root     wireguard- 22100 14 udp6   *:56579               *:*
root     dhcp6c     9921  5  udp6   *:546                 *:*
root     charon     87168 11 udp6   *:500                 *:*
root     charon     87168 12 udp6   *:4500                *:*
root     sshd       16372 3  tcp6   ::1:56561             *:*
?        ?          ?     ?  tcp6   ::1:6379              ::1:42573
?        ?          ?     ?  tcp6   ::1:6379              ::1:19843
?        ?          ?     ?  tcp6   ::1:6379              ::1:65383
?        ?          ?     ?  tcp6   ::1:6379              ::1:7437
?        ?          ?     ?  tcp6   ::1:6379              ::1:17283
?        ?          ?     ?  tcp6   ::1:53097             ::1:6379
?        ?          ?     ?  tcp6   ::1:3405              ::1:6379
?        ?          ?     ?  tcp6   ::1:47959             ::1:6379
?        ?          ?     ?  tcp6   ::1:59771             ::1:6379
?        ?          ?     ?  tcp6   ::1:57391             ::1:6379
?        ?          ?     ?  tcp6   ::1:32496             ::1:6379


Greets

Byte