Добрый вечер,стоит сервер centos 5.5. NAT не настроен, возникла такая необходимость - прокинуть нат на одну из машин, пожалуйста помогите по шагам + как сделать нат 1 в 1 то есть что все порты с одно IP (Сервера) перекидывались на клиента.
>Добрый вечер,
>
>стоит сервер centos 5.5. NAT не настроен, возникла такая необходимость - прокинуть
>нат на одну из машин, пожалуйста помогите по шагам + как
>сделать нат 1 в 1 то есть что все порты с
>одно IP (Сервера) перекидывались на клиента.iptables -t nat -I PREROUTING -i extEth -d 1.2.3.4 -j DNAT --to-destination 192.168.0.40
возможно надо будет включить форвардинг пакетов, если не включен
возможно надо разрешить прохождение пакетов в filter.FORWARD или еще где-то...по всем ключам - man iptables
>стоит сервер centos 5.5. NAT не настроен, возникла такая необходимость - прокинуть
>нат на одну из машин, пожалуйста помогите по шагам + как
>сделать нат 1 в 1 то есть что все порты с
>одно IP (Сервера) перекидывались на клиента.Вообще тебе надо SNAT/DNAT посмотреть, наверно как-то вот наподобие этого
iptables -t nat -A POSTROUTING -s <адрес источника(клиента)> -p tcp(udp) --dport <порт назначения> -j SNAT --to <адрес назначения(сервера, с которого пробрасывать будешь)>iptables -t nat -A PREROUTING -d <адрес назнаения (сервера, т.е. куда пришел пакет)> -p tcp(udp) --dport <порт на котрый пришел пакет> -j DNAT --to-destination <ip_клиента>:<порт>
А так же надо включить форвардинг пакетов
iptables -A FORWARD -i lo -j ACCEPT
iptables -A FORWARD -s <внешний ип сервера> -j ACCEPT
iptables -A FORWARD -s <внутренний ип сервера> -j ACCEPT
И разрешить прохождение пакетов между сетевыми картами в ядре
echo 1 > "/proc/sys/net/ipv4/ip_forward"
>>стоит сервер centos 5.5. NAT не настроен, возникла такая необходимость - прокинуть
>>нат на одну из машин, пожалуйста помогите по шагам + как
>>сделать нат 1 в 1 то есть что все порты с
>>одно IP (Сервера) перекидывались на клиента.
>
>Вообще тебе надо SNAT/DNAT посмотреть, наверно как-то вот наподобие этого
>iptables -t nat -A POSTROUTING -s <адрес источника(клиента)> -p tcp(udp) --dport <порт назначения> -j SNAT --to <адрес назначения(сервера, с которого пробрасывать будешь)>некорректно. Это не фряха, не тяните в линукс ipfw, в линухе другие принципы.
>
>iptables -t nat -A PREROUTING -d <адрес назнаения (сервера, т.е. куда пришел пакет)> -p tcp(udp) --dport <порт на котрый пришел пакет> -j DNAT --to-destination <ip_клиента>:<порт>примерно так :-)
>А так же надо включить форвардинг пакетов
>iptables -A FORWARD -i lo -j ACCEPT
>iptables -A FORWARD -s <внешний ип сервера> -j ACCEPT
>iptables -A FORWARD -s <внутренний ип сервера> -j ACCEPTЭто не "включить форвардинг пакетов", это разрешить прохождение пакетов в файрволле,
причем (1) вообще чушь, а 2 и 3 надо добавлять в нужное место в файрволле, -А добавит в конец, и правила могут не срабывать.>И разрешить прохождение пакетов между сетевыми картами в ядре
>echo 1 > "/proc/sys/net/ipv4/ip_forward"А вот это и есть "включить форвардинг пакетов".
>[оверквотинг удален]
>
>Это не "включить форвардинг пакетов", это разрешить прохождение пакетов в файрволле,
>причем (1) вообще чушь, а 2 и 3 надо добавлять в нужное
>место в файрволле, -А добавит в конец, и правила могут не
>срабывать.
>
>>И разрешить прохождение пакетов между сетевыми картами в ядре
>>echo 1 > "/proc/sys/net/ipv4/ip_forward"
>
>А вот это и есть "включить форвардинг пакетов".Так как все таки правильнее ? :) И зачем опция -d ? Мне надо передавать все порты.
Про /proc/sys/net/ipv4/ip_forward помню, спасибо.
>[оверквотинг удален]
>>срабывать.
>>
>>>И разрешить прохождение пакетов между сетевыми картами в ядре
>>>echo 1 > "/proc/sys/net/ipv4/ip_forward"
>>
>>А вот это и есть "включить форвардинг пакетов".
>
>Так как все таки правильнее ? :) И зачем опция -d ?
>Мне надо передавать все порты.
>Про /proc/sys/net/ipv4/ip_forward помню, спасибо.правильно как всегда в документации
http://www.opennet.me/docs/RUS/iptables/#DNATTARGETно пробрасывать лучше не в локалку , а в DMZ
http://www.opennet.me/openforum/vsluhforumID1/89679.html#6