What technology to use to send data/Ethernet (about 128 kbps) over copper cable (4km)?
RS485 would be my first shot for an electrical layer, but do 8b10 line coding or such so you can transformer or capacitor couple to avoid common mode problems (it has a limited common mode range), hell biphase might be ok at 250KHz edge rate over that sort of distance, maybe with a 1:4 transformer at each end if using telecom grade wire, and makes the PLL for clock recovery easy. 

The real gotchas with this are actually things like common mode and transient protection to make the link electrically reliable when EFTs happen. 

4km over good quality wire at that sort of speed is actually not that hard, and something like cat 5 counts as good quality wire at those speeds, phone line complete with dirty water filled splices and poor pair balance inducing noise from every other ADSL circuit in the 100+ pair bundle, not so much. 

Push comes to shove, QAM16 with a dac, power amp (ADSL line driver) and adc should get it done with a symbol rate low enough to work over that range.