# Adding PXC Cluster node that's behind a NAT

**URL:** <https://forums.percona.com/t/adding-pxc-cluster-node-thats-behind-a-nat/11570>\
**Category:** Percona XtraDB Cluster 5.x\
**Tags:** mysql, percona\
**Created:** [July 28, 2021, 7:22pm UTC](https://forums.percona.com/t/adding-pxc-cluster-node-thats-behind-a-nat/11570 "2021-07-28T19:22:05Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jhbremer](https://avatars.discourse-cdn.com/v4/letter/j/bbce88/32.png) [@jhbremer](https://forums.percona.com/u/jhbremer)\
**Post date:** [July 28, 2021, 7:22pm UTC](https://forums.percona.com/t/adding-pxc-cluster-node-thats-behind-a-nat/11570/1 "2021-07-28T19:22:05Z")

</div>

Hello - as title states, I’m having issues joining a new node to an existing 4-node cluster.

The new node is physically separated and behind a static NAT. I can address the existing nodes from the new node and get the mysql\> prompt from the command line. When attempting to start PXC on the new node, it gets as far as selecting a donor that I define, and placing said donor into state “Donor/Desynced”, as expected. After that, the new node errors out with a “Broken pipe” error, as seen here:

2021-07-28 17:17:34 13902 [ERROR] WSREP: Process completed with error: wsrep\_sst\_xtrabackup-v2 --role ‘joiner’ --address ‘xx.xxx.xxx.89’ --datadir ‘/var/lib/mysql/’ --defaults-file ‘/etc/my.cnf’ --defaults-group-suffix ‘’ --parent ‘13902’ --mysqld-version ‘5.6.51-91.0-56’ ‘’ : 32 (Broken pipe)  
2021-07-28 17:17:34 13902 [ERROR] WSREP: Failed to read uuid:seqno from joiner script.  
2021-07-28 17:17:34 13902 [ERROR] WSREP: SST script aborted with error 32 (Broken pipe)  
2021-07-28 17:17:34 13902 [ERROR] WSREP: SST failed: 32 (Broken pipe)  
2021-07-28 17:17:34 13902 [ERROR] Aborting

The NAT translates the following to address our existing nodes (z nodes):

xx.xxx.xxx.89 =\> zz.zz.zz.49  
xx.xxx.xxx.87 =\> zz.zz.zz.47  
xx.xxx.xxx.83 =\> zz.zz.zz.43  
xx.xxx.xxx.81 =\> zz.zz.zz.41

WSREP my.cnf options from new node here:  
wsrep\_cluster\_address = gcomm://xx.xxx.xxx.89,xx.xxx.xxx.87,xx.xxx.xxx.83,xx.xxx.xxx.81  
wsrep\_provider = /usr/lib64/galera3/libgalera\_smm.so  
wsrep\_slave\_threads = 16  
wsrep\_sst\_method = xtrabackup-v2  
wsrep\_sst\_donor = [node name of donor]  
wsrep\_sst\_auth = [user]:[pass]  
wsrep\_sst\_receive\_address = xx.xxx.xxx.89  
wsrep\_node\_address = yy.yyy.yy.133  
wsrep\_cluster\_name = my\_wsrep\_cluster  
wsrep\_node\_name = Node3  
wsrep\_provider\_options = “gcache.size = 5G”

Any ideas on this issue?

Thanks!

---

<div class="post-metadata">

**Author:** ![matthewb](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/matthewb/32/34_2.png) [@matthewb](https://forums.percona.com/u/matthewb)\
**Post date:** [July 28, 2021, 9:05pm UTC](https://forums.percona.com/t/adding-pxc-cluster-node-thats-behind-a-nat/11570/2 "2021-07-28T21:05:06Z")

</div>

Because of the NAT, you’ll probably have to do some port mapping. You need to set incoming 4444, 4567, and 4568 to route to the inside-node.

---

<div class="post-metadata">

**Author:** ![jhbremer](https://avatars.discourse-cdn.com/v4/letter/j/bbce88/32.png) [@jhbremer](https://forums.percona.com/u/jhbremer)\
**Post date:** [August 5, 2021, 12:40pm UTC](https://forums.percona.com/t/adding-pxc-cluster-node-thats-behind-a-nat/11570/3 "2021-08-05T12:40:39Z")

</div>

Thank you - we are going to play around with port mapping to see if we can get the node to join
