3

I want to prevent direct access of my Windows Machine and want to expose some programs running on it via my Linux Machine (which again is accessible by a Public IP).

Is there a way where-in I can configure my Linux Machine (say IP = a.b.c.d) to route all the UDP traffic which it gets at a specific port (say 6667) to my Windows Machine (say IP = e.f.g.h) at port 6668?

Is yes, how can I implement it?

UPDATE

# bindadress    bindport  connectaddress  connectport

192.168.2.45    6667    192.168.2.104   6668

# logging information
logfile /var/log/rinetd.log

# uncomment the following line if you want web-server style logfile format
logcommon
~          

UPDATE

I wish to route UDP traffic only.

3 Answers3

5

The following section works for TCP only (This was published before Mahendra changed the title

Install rinetd. In this program you can configure incoming port and outgoing port easily. First install the program. Then change /etc/rinetd.conf

Ex:

#bindadress bindport connectaddress connectport

a.b.c.d 6667 e.f.g.h 6668

For UDP check the link below

http://brokestream.com/udp_redirect.html

This is from the chat discussion which actually solved the problem

iptables -t nat -A PREROUTING -i $EXT_IF -p udp -d $EXT_IP --dport 53 -j DNAT --to-destination $INTERNAL_SERVER

and make sure you also have it allowed to pass through the FORWARD chain with something like

#forward traffic iptables -A FORWARD -i $EXT_IF -o $INT_IF -p udp -d $INTERNAL_SERVER --dport 53 -j ACCEPT #reply traffic iptables -A INPUT -o $EXT_IF -i $INT_IF -p udp -s $INTERNAL_SERVER --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT

1

This is an alternative UDP redirector for MacOS and Linux; in addition to the usual source / target, it supports specifying the source / destination interfaces, as well as dropping martians (UDP packets arriving from unknown sources).

You could run it as:

./udp-redirect \
   --listen-address 192.168.2.45 --listen-port 6667 \
   --connect-address 192.168.2.104 --connect-port 6668

Disclaimer: I am the author, and I am using it right now for this very post, to redirect Wireguard traffic.

pdan
  • 21
1

Yes, this is called reverse NAT and is part of the IpTables capabilities of Linux. Every decent NATtins firewall does that to expose services.

TomTom
  • 52,109
  • 7
  • 59
  • 142