Hello,
I have a question regarding the firewall configuration when adding an additional link for replication/clustering between Proxmox nodes.
I followed the official documentation:
On both nodes, I can see that a new iptables rule for corosync traffic has been created automatically. However, it appears to use the wrong port (5406 instead of 5404–5405). In addition, there are no firewall rules for SSH on the new link, which seems to be the reason why migration over this link is not working.
Did I miss something in the configuration, or is this a known issue?
I am aware that I can add the required firewall rules manually. However, since rules are being added automatically (albeit incorrectly), I would expect this to work without manual intervention.
Any guidance would be appreciated.
Thank you.
I have a question regarding the firewall configuration when adding an additional link for replication/clustering between Proxmox nodes.
I followed the official documentation:
- https://pve.proxmox.com/pve-docs/chapter-pvecm.html#_adding_redundant_links_to_an_existing_cluster
- https://pve.proxmox.com/pve-docs/chapter-pvecm.html#pvecm_edit_corosync_conf
On both nodes, I can see that a new iptables rule for corosync traffic has been created automatically. However, it appears to use the wrong port (5406 instead of 5404–5405). In addition, there are no firewall rules for SSH on the new link, which seems to be the reason why migration over this link is not working.
Did I miss something in the configuration, or is this a known issue?
I am aware that I can add the required firewall rules manually. However, since rules are being added automatically (albeit incorrectly), I would expect this to work without manual intervention.
Any guidance would be appreciated.
Thank you.
Bash:
root@server-01:/home/tb# journalctl -b -u corosync
Mar 23 23:15:20 server-01 corosync[687304]: [CFG ] Config reload requested by node 1
Mar 23 23:15:20 server-01 corosync[687304]: [TOTEM ] Configuring link 0
Mar 23 23:15:20 server-01 corosync[687304]: [TOTEM ] Configured link number 0: local addr: 10.18.7.101, port=5405
Mar 23 23:15:20 server-01 corosync[687304]: [QUORUM] This node is within the non-primary component and will NOT provide any services.
Mar 23 23:15:20 server-01 corosync[687304]: [QUORUM] Members[1]: 1
Mar 23 23:15:20 server-01 corosync[687304]: [KNET ] host: host: 2 (passive) best link: 0 (pri: 0)
Mar 23 23:15:20 server-01 corosync[687304]: [KNET ] host: host: 2 has no active links
Mar 23 23:15:20 server-01 corosync[687304]: [KNET ] host: host: 2 (passive) best link: 0 (pri: 1)
Mar 23 23:15:20 server-01 corosync[687304]: [KNET ] host: host: 2 has no active links
Mar 23 23:15:20 server-01 corosync[687304]: [KNET ] host: host: 2 (passive) best link: 0 (pri: 1)
Mar 23 23:15:20 server-01 corosync[687304]: [KNET ] host: host: 2 has no active links
Mar 23 23:15:20 server-01 corosync[687304]: [KNET ] pmtud: MTU manually set to: 0
Mar 23 23:15:23 server-01 corosync[687304]: [KNET ] link: Resetting MTU for link 0 because host 2 joined
Mar 23 23:15:23 server-01 corosync[687304]: [KNET ] host: host: 2 (passive) best link: 0 (pri: 1)
Mar 23 23:15:23 server-01 corosync[687304]: [QUORUM] Sync members[2]: 1 2
root@server-02:/home/tb# journalctl -b -u corosync
Mar 29 18:39:02 server-02 corosync[2809]: [CFG ] Config reload requested by node 1
Mar 29 18:39:02 server-02 corosync[2809]: [TOTEM ] Configuring link 0
Mar 29 18:39:02 server-02 corosync[2809]: [TOTEM ] Configured link number 0: local addr: 10.18.7.102, port=5405
Mar 29 18:39:02 server-02 corosync[2809]: [TOTEM ] Configuring link 1
Mar 29 18:39:02 server-02 corosync[2809]: [TOTEM ] Configured link number 1: local addr: 10.18.16.102, port=5406
Mar 29 18:39:02 server-02 corosync[2809]: [KNET ] host: host: 1 (passive) best link: 0 (pri: 1)
Mar 29 18:39:02 server-02 corosync[2809]: [KNET ] host: host: 1 (passive) best link: 0 (pri: 1)
Mar 29 18:39:02 server-02 corosync[2809]: [KNET ] host: host: 1 (passive) best link: 0 (pri: 1)
Mar 29 18:39:02 server-02 corosync[2809]: [KNET ] pmtud: MTU manually set to: 0
Mar 29 18:39:04 server-02 corosync[2809]: [KNET ] rx: host: 1 link: 1 is up
Mar 29 18:39:04 server-02 corosync[2809]: [KNET ] link: Resetting MTU for link 1 because host 1 joined
Mar 29 18:39:04 server-02 corosync[2809]: [KNET ] host: host: 1 (passive) best link: 0 (pri: 1)
Mar 29 18:39:04 server-02 corosync[2809]: [KNET ] pmtud: PMTUD link change for host: 1 link: 1 from 469 to 8885
Mar 29 18:39:04 server-02 corosync[2809]: [KNET ] pmtud: Global data MTU changed to: 1397
root@server-01:/home/tb# corosync-cfgtool -sb
Local node ID 1, transport knet
LINK ID 0 udp
addr = 10.18.7.101
status = n3
LINK ID 1 udp
addr = 10.18.16.101
status = n3
root@server-02:/home/tb# corosync-cfgtool -sb
Local node ID 2, transport knet
LINK ID 0 udp
addr = 10.18.7.102
status = 3n
LINK ID 1 udp
addr = 10.18.16.102
status = 3n
Bash:
root@server-01:/home/tb# ss -tulpen | grep :54
udp UNCONN 0 0 10.18.7.101:5405 0.0.0.0:* users:(("corosync",pid=3204788,fd=28))
udp UNCONN 0 0 10.18.16.101:5406 0.0.0.0:* users:(("corosync",pid=3204788,fd=34))
root@server-01:/home/tb# iptables -nvL | grep :54
0 0 RETURN udp -- * * 10.18.7.102 10.18.7.101 udp dpts:5404:5405
0 0 RETURN udp -- * * 10.18.16.102 10.18.16.101 udp dpts:5404:5405
0 0 RETURN udp -- * * 10.18.7.101 10.18.7.102 udp dpts:5404:5405
0 0 RETURN udp -- * * 10.18.16.101 10.18.16.102 udp dpts:5404:5405
root@server-01:/home/tb# iptables -nvL | grep :22
0 0 PVEFW-SET-ACCEPT-MARK tcp -- * * 0.0.0.0/0 0.0.0.0/0 [goto] match-set PVEFW-0-checkmk-v4 src tcp dpt:22
1 60 RETURN tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set PVEFW-0-management-v4 src tcp dpt:22
1 60 RETURN tcp -- * * 0.0.0.0/0 10.18.7.0/24 tcp dpt:22
root@server-01:/home/tb# ipset list PVEFW-0-management-v4
Name: PVEFW-0-management-v4
Type: hash:net
Revision: 7
Header: family inet hashsize 64 maxelem 64 bucketsize 12 initval 0x2bf959ba
Size in memory: 504
References: 5
Number of entries: 1
Members:
10.18.7.0/24
root@server-02:/home/tb# ss -tulpen | grep :54
udp UNCONN 0 0 10.18.7.102:5405 0.0.0.0:* users:(("corosync",pid=2809,fd=28))
udp UNCONN 0 0 10.18.16.102:5406 0.0.0.0:* users:(("corosync",pid=2809,fd=33))
root@server-02:/home/tb# iptables -nvL | grep :54
0 0 RETURN udp -- * * 10.18.7.101 10.18.7.102 udp dpts:5404:5405
0 0 RETURN udp -- * * 10.18.16.101 10.18.16.102 udp dpts:5404:5405
0 0 RETURN udp -- * * 10.18.7.102 10.18.7.101 udp dpts:5404:5405
0 0 RETURN udp -- * * 10.18.16.102 10.18.16.101 udp dpts:5404:5405
root@server-02:/home/tb# iptables -nvL | grep :22
0 0 PVEFW-SET-ACCEPT-MARK tcp -- * * 0.0.0.0/0 0.0.0.0/0 [goto] match-set PVEFW-0-checkmk-v4 src tcp dpt:22
1 60 RETURN tcp -- * * 0.0.0.0/0 0.0.0.0/0 match-set PVEFW-0-management-v4 src tcp dpt:22
1 60 RETURN tcp -- * * 0.0.0.0/0 10.18.7.0/24 tcp dpt:22
root@server-02:/home/tb# ipset list PVEFW-0-management-v4
Name: PVEFW-0-management-v4
Type: hash:net
Revision: 7
Header: family inet hashsize 64 maxelem 64 bucketsize 12 initval 0xe43b1bda
Size in memory: 504
References: 5
Number of entries: 1
Members:
10.18.7.0/24