0

I have two FreeBSD servers, both on different networks, with a firewall in between. I have no control over the firewall.

Server 1:
IP:            10.1.0.2
GW (firewall): 10.1.0.1

Server2:
IP:            10.2.0.2
GW (firewall): 10.2.0.1

I am trying to rsync content from one server to the other. The process starts fine, but after some time, rsync fails with either a timeout or a broken pipe error:

Jul 31 03:49:23 server1 rsyncd[54411]: building file list
Jul 31 03:51:34 server1 rsyncd[54411]: rsync: [sender] write error: Broken pipe (32)
----------------------------------------------------
Jul 31 03:49:23 server1 rsyncd[54412]: building file list
Jul 31 03:51:34 server1 rsyncd[54412]: rsync: read error: Operation timed out (60)
Jul 31 03:51:34 server1 rsyncd[54412]: rsync error: error in socket IO (code 10) at io.c(785) [sender=3.1.2]

I don't know how the firewall might be wired up, but if I run the arp -a command from each server, it seems that the firewall is changing the IF (MAC) every minute or so:

server1: ~# arp -a
[...]
? (10.1.0.1) at aa:aa:aa:aa:aa:aa on ix0 expires in 1150 seconds [ethernet]
-------
server2: ~# arp -a
[...]
? (10.2.0.1) at bb:bb:bb:bb:bb:bb on ix0 expires in 1150 seconds [ethernet]

after a minute or so

server1: ~# arp -a
[...]
? (10.1.0.1) at bb:bb:bb:bb:bb:bb on ix0 expires in 1150 seconds [ethernet]
-------
server2: ~# arp -a
[...]
? (10.2.0.1) at aa:aa:aa:aa:aa:aa on ix0 expires in 1150 seconds [ethernet]

The results are always the opposite at the same point in time, so the IPs get switched around between the IFs

I think this behavior is making rsync freak out, and it may not be just an rsync issue, but an issue with all tcp connections.

Since I have no way to control the firewall's behavior, can anything be done on the OS side?

0 Answers0