How to Redirect Ip Address Using Iptables

How to redirect ip address using iptables

I Hope this works for you :

   Add (prerouting,postrouting) rules in you NAT table using

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source ip_address
iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-destination ip_address

and then use :

iptables -t nat -A PREROUTING -d 194.187... -j DNAT --to-destination 10.12.205.26

iptables -t nat -A POSTROUTING -s 10.12.205.26 -j SNAT --to-source 194.187...

IPtables all traffic forwarded to one specific IP

Your firewall rule says that only TCP traffic to 192.168.0.1:80 is redirected to 192.168.137.111:8080.

Try:

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.137.111:8080

I only removed -d 192.168.0.1 so it catches all TCP connections on port 80.

How can I port forward with iptables?

First of all - you should check if forwarding is allowed at all:

cat /proc/sys/net/ipv4/conf/ppp0/forwarding 
cat /proc/sys/net/ipv4/conf/eth0/forwarding

If both returns 1 it's ok. If not do the following:

echo '1' | sudo tee /proc/sys/net/ipv4/conf/ppp0/forwarding
echo '1' | sudo tee /proc/sys/net/ipv4/conf/eth0/forwarding

Second thing - DNAT could be applied on nat table only. So, your rule should be extended by adding table specification as well (-t nat):

iptables -t nat -A PREROUTING -p tcp -i ppp0 --dport 8001 -j DNAT --to-destination 192.168.1.200:8080
iptables -A FORWARD -p tcp -d 192.168.1.200 --dport 8080 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Both rules are applied only to TCP traffic (if you want to alter UDP as well, you need to provide similar rules but with -p udp option set).

Last, but not least is routing configuration. Type:

ip route

and check if 192.168.1.0/24 is among returned routing entries.

Forward incoming request from specific ip to a local ip and port in ubuntu

The problem was resolved using:
sysctl net.ipv4.ip_forward=1
Link: http://jensd.be/343/linux/forward-a-tcp-port-to-another-ip-or-port-using-nat-with-iptables

Redirect all outgoing traffic on port 80 to a different IP on the same server

This worked:

iptables -t nat -A POSTROUTING -p tcp --dport 80 -o eth0 -j SNAT --to-source IP

Domain redirect to IP with port iptables

As Dusan and Kalyana pointed out, it turns out

sub.domain.com A record to IP solves the redirection and port resolves itself.

Thank you guys! Hope it will help some in future.



Related Topics



Leave a reply



Submit