* question about port forwarding using dnat
@ 2013-03-07 13:02 Hamed Afshar
2013-03-07 20:56 ` Pascal Hambourg
0 siblings, 1 reply; 2+ messages in thread
From: Hamed Afshar @ 2013-03-07 13:02 UTC (permalink / raw)
To: netfilter
Hi,
I need to manipulate all output requests for an IP range and change the destination port.
For a specific IP, the following rule works for me:
iptables -t nat -A OUTPUT -p tcp -d 1.2.3.4 --dport 22 -j DNAT --to-destination 1.2.3.4:555
which is changing the destination port to 555 on all outgoing requests for port 22 for IP 1.2.3.4.
But I need to apply this to an IP range.
something like this:
iptables -t nat -A OUTPUT -p tcp -d 1.2.3.0/24 --dport 22 -j DNAT --to-destination 1.2.3.0/24:555
to do the following:
1.2.3.1:22 => 1.2.3.1:555
1.2.3.2:22 => 1.2.3.2:555
1.2.3.3:22 => 1.2.3.3:555
etc
iptables accepts IP range with "-d" switch. but as for "--to-destination", it doesn't accept IP range.
Does anyone have any idea how should I do this?
Thanks in advance
Hamed Afshar
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: question about port forwarding using dnat
2013-03-07 13:02 question about port forwarding using dnat Hamed Afshar
@ 2013-03-07 20:56 ` Pascal Hambourg
0 siblings, 0 replies; 2+ messages in thread
From: Pascal Hambourg @ 2013-03-07 20:56 UTC (permalink / raw)
To: Hamed Afshar; +Cc: netfilter
Hello,
Hamed Afshar a écrit :
> Hi,
> I need to manipulate all output requests for an IP range and change the destination port.
> For a specific IP, the following rule works for me:
>
> iptables -t nat -A OUTPUT -p tcp -d 1.2.3.4 --dport 22 -j DNAT --to-destination 1.2.3.4:555
>
> which is changing the destination port to 555 on all outgoing requests for port 22 for IP 1.2.3.4.
> But I need to apply this to an IP range.
> something like this:
>
> iptables -t nat -A OUTPUT -p tcp -d 1.2.3.0/24 --dport 22 -j DNAT --to-destination 1.2.3.0/24:555
>
> to do the following:
> 1.2.3.1:22 => 1.2.3.1:555
> 1.2.3.2:22 => 1.2.3.2:555
> 1.2.3.3:22 => 1.2.3.3:555
> etc
>
> iptables accepts IP range with "-d" switch. but as for "--to-destination", it doesn't accept IP range.
Yes it does. The DNAT section in the iptables man page states :
--to-destination [ipaddr][-ipaddr][:port[-port]]
which can specify a single new destination IP address, an inclu-
sive range of IP addresses, and optionally, a port range (which
is only valid if the rule also specifies -p tcp or -p udp).
But address range do not act as a 1:1 mapping, rather as a round-robin
or random mapping.
> Does anyone have any idea how should I do this?
The man page gives the answer in the following lines :
If
no port range is specified, then the destination port will never
be modified. If no IP address is specified then only the desti-
nation port will be modified.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-03-07 20:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-07 13:02 question about port forwarding using dnat Hamed Afshar
2013-03-07 20:56 ` Pascal Hambourg
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.