All methods described below are applicable even if servers are placed far away. However, if they're close, like that in the same subnet, there are better ways to do the thing.
Simple DNAT wouldn't work, because it would require routing all traffic from the other server (
examplehost02) via this one (
examplehost01), or setting up a complex routing setup. However, you may do both DNAT and SNAT at once. This has a caveat: the traffic redirected this way will appear on the other server as coming from this one; if this is unacceptable, you have to use other method. However, this is the only generic method that will help your service is UDP.
For that, setup the following rules:
iptables -t nat -I PREROUTING -p tcp --dport 7001 -j DNAT --to-destination examplehost02.example.com
iptables -t nat -I POSTROUTING -p tcp --dport 7001 -d examplehost02.example.com -j MASQUERADE
If the service in question is HTTP-based, you may setup a reverse proxy. With proper logging setup, for the requests made through the proxy will be logged still the correct remote IP address, so it is applicable if previously announced caveat doesn't allow to use the method above.
The third possibility is to use SSH TCP port forwarding instead of address translation. It is simplest, but less performant, and it is also subject of the same caveat, and it also works only for TCP. For that, simply SSH from the old server to the new:
examlehost01# ssh examplehost02 -g -L 7001:localhost:7001
or vice versa, with reverse port forwarding (requires that the SSH server on
examplehost01 permits binding to the address
0.0.0.0, which may be not the default):
examlehost02# ssh examplehost01 -g -R 7001:localhost:7001