LINUX.ORG.RU
ФорумAdmin

ipfw fwd


0

0

хочу редиректить все входящие на порт 1025 пакеты на порт 25 другого сервера. пишу ipfw add 500 fwd xx.xx.xx.xx,25 ip from any to me dst-port 1025

и все работает не как нужно - при коннекте на 1025 попадаю на порт 25 того-же сервера, с которого нужно редирект делать, а не на тот, на который нужно.

anonymous

Всё работает как раз так, как ты и прописал, но это не то, что тебе надо... почитай маны по natd, в данном случае тебе нужна опция - redirect_port... можно указать напрямую при запуске natd, либо отписать всё нужное в natd.conf и скормить конфиг natd-у при старте..

MiracleMan ★★★★★
()
Ответ на: комментарий от MiracleMan

natd -n em0 -redirect_port tcp xxx.xxx.xxx.xxx:25 1025 ipfw add 500 divert 8668 tcp from any to me dst-port 1025 via em0 ipfw add 550 divert 8668 ip from xxx.xxx.xxx.xxx to any via em0

не работает

anonymous
()
Ответ на: комментарий от anonymous

Смотри, к примеру:

natd_ext.conf ------------------------------- use_sockets yes same_ports no interface vr0 redirect_port tcp 10.10.100.70:8080 213.170.60.120:11200 --------------------------------

natd_int.conf -------------------------------- use_sockets yes port 8669 same_ports no interface vr1 redirect_port tcp 64.12.164.249:8080 213.170.60.120:9090 --------------------------------

Далее в rc.conf - natd_program="/sbin/natd.sh"

natd.sh -------------------------------- #!/bin/sh # run.natd() { if [ -f /etc/natd_ext.conf -o -f /etc/natd_int.conf ] ; then echo "Starting dual natd....." echo /sbin/natd -f /etc/natd_ext.conf -P /var/run/natd_ext.pid /sbin/natd -f /etc/natd_int.conf -P /var/run/natd_ext.pid fi }

case "$1" in start) run.natd && echo -n ' natd' ;; stop) if [ -f /var/run/natd_exp.pid ]; then kill -TERM `cat /var/run/natd_ext.pid` && \ rm -f /var/run/natd_ext.pid ; echo -n ' ext natd stopped' fi if [ -f /var/run/natd_int.pid ]; then kill -TERM `cat /var/run/natd_int.pid` && \ rm -f /var/run/natd_int.pid ; echo -n ' int natd stopped' fi ;; -[h,?]) echo "Usage: `basename $0` { start | stop | restart }" ;; *) run.natd && echo -n ' natd' ;; esac -----------------------------------------------------------------

И в rc.firewall -

add divert 8669 all from any to any via vr0 add divert 8669 all from any to any via vr1

А далее всё как обычно...

MiracleMan ★★★★★
()
Ответ на: комментарий от anonymous

Смотри, к примеру: 

natd_ext.conf
------------------------------- 
use_sockets yes 
same_ports no 
interface vr0 
redirect_port tcp 10.10.100.70:8080 213.170.60.120:11200 
-------------------------------- 

natd_int.conf 
-------------------------------- 
use_sockets yes 
port 8669 
same_ports no 
interface vr1 
redirect_port tcp 64.12.164.249:8080 213.170.60.120:9090 
-------------------------------- 

Далее в rc.conf - natd_program="/sbin/natd.sh" 

natd.sh 
--------------------------------
#!/bin/sh
#
run.natd()
        {
                if [ -f /etc/natd_ext.conf -o -f /etc/natd_int.conf ] ; then
                        echo "Starting dual natd....."
                        echo
                        /sbin/natd -f /etc/natd_ext.conf -P /var/run/natd_ext.pid
                        /sbin/natd -f /etc/natd_int.conf -P /var/run/natd_ext.pid
                fi
        }

case "$1" in
        start)
                run.natd && echo -n ' natd'
                ;;
        stop)
                if [ -f /var/run/natd_exp.pid ]; then
                        kill -TERM `cat /var/run/natd_ext.pid` && \
                        rm -f /var/run/natd_ext.pid ; echo -n ' ext natd stopped'
                fi
                if [ -f /var/run/natd_int.pid ]; then
                        kill -TERM `cat /var/run/natd_int.pid` && \
                        rm -f /var/run/natd_int.pid ; echo -n ' int natd stopped'
                fi
                ;;
        -[h,?])
                echo "Usage: `basename $0` { start | stop | restart }"
                ;;
        *)
                run.natd && echo -n ' natd'
                ;;
esac
 
--------------------------------
И в rc.firewall - 

add divert 8669 all from any to any via vr0 
add divert 8669 all from any to any via vr1 

А далее всё как обычно... 

MiracleMan ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.