URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 31463
[ Назад ]

Исходное сообщение
"Помогите настроить редирект на внутренний веб-сервер"

Отправлено afts , 26-Июн-03 11:45 
Нужно подключить 80 порт внутреннего веб-сервера на внешний 81 порт за натом. Никак не получается. Параметры конфигурационных файлов ниже. На внешнем 80 порту уже есть веб-сервер, нат работает фаервол тоже, а порт не мапится никак :( Мб дело в последовательности правил ipfw? Помогите плиз разобраться.

В /etc/rc.conf добавил строку
________________________________
natd_flags="-f /etc/natd.conf"
________________________________

В /etc/natd.conf
________________________________
log yes
verbose no
use_sockets yes
same_ports yes
unregistered_only yes

# Redirect WEB psckets to the IIS (Exchange Server)

redirect_port tcp 192.168.100.5:80 81
________________________________

В /etc/rc.firewall
________________________________

${fwcmd} add pass tcp from any to ${oip} 81 setup
________________________________


Содержание

Сообщения в этом обсуждении
"Помогите настроить редирект на внутренний веб-сервер"
Отправлено denb , 26-Июн-03 12:04 
>Нужно подключить 80 порт внутреннего веб-сервера на внешний 81 порт за натом.
>Никак не получается. Параметры конфигурационных файлов ниже. На внешнем 80 порту
>уже есть веб-сервер, нат работает фаервол тоже, а порт не мапится
>никак :( Мб дело в последовательности правил ipfw? Помогите плиз разобраться.
>
>
>В /etc/rc.conf добавил строку
>________________________________
>natd_flags="-f /etc/natd.conf"
>________________________________
>
>В /etc/natd.conf
>________________________________
>log yes
>verbose no
>use_sockets yes
>same_ports yes
>unregistered_only yes
>
># Redirect WEB psckets to the IIS (Exchange Server)
>
>redirect_port tcp 192.168.100.5:80 81
>________________________________
>
>В /etc/rc.firewall
>________________________________
>
>${fwcmd} add pass tcp from any to ${oip} 81 setup
>________________________________

А кто пакеты на твой natd заворачивать будет?

#ipfw add divert 7777 tcp from 192.168.100.5 80 to any out
#ipfw add divert 6666 tcp from any to <твой внешний ip> 81 in
#natd -u -m -a <твой внешний ip> -i 6666 -o 7777 -redirect_port tcp 192.168.100.5:80 81

Ну и соответсвенно разреши этому трафику по сети ходить.

P.S. А вообще это уже 100 раз по форуму проходило



"Помогите настроить редирект на внутренний веб-сервер"
Отправлено afts , 26-Июн-03 12:44 
Не работает :( Мб есть какойнибудь трабылшутинг по этому вопросу?
Какая последовательность шагов чтобы найти где ошибка?

"Помогите настроить редирект на внутренний веб-сервер"
Отправлено denb , 26-Июн-03 13:26 
>Не работает :( Мб есть какойнибудь трабылшутинг по этому вопросу?
>Какая последовательность шагов чтобы найти где ошибка?

Ты разрешил на файерволе ?
${fwcmd} add pass tcp from any to ${oip} 81 setup

#natd -v -u -m -a <твой внешний ip> -i 6666 -o 7777 -redirect_port tcp 192.168.100.5:80 81

это запустит natd в отладочном режиме, и смотри если на экране ниче не появится, значит не настроил firewall.


"Помогите настроить редирект на внутренний веб-сервер"
Отправлено afts , 26-Июн-03 13:40 
>Ты разрешил на файерволе ?
>${fwcmd} add pass tcp from any to ${oip} 81 setup

Да, это я разрешил см выше.

>
>#natd -v -u -m -a <твой внешний ip> -i 6666 -o 7777 -redirect_port tcp 192.168.100.5:80 81
>
>это запустит natd в отладочном режиме, и смотри если на экране ниче
>не появится, значит не настроил firewall.

Вот и я говорю, мб дело в последовательности правил? Потому что если я например закоментирую правило
${fwcmd} add pass tcp from any to ${oip} 25 setup
то на 25 порт извне я уже подключиться не могу.
Выходит фаервол работает.

Такой вопрос, если я скажу ipfw flush дам команду
natd -v -u -m -a <твой внешний ip> -i 6666 -o 7777 -redirect_port tcp 192.168.100.5:80 81
должно работать?


"Помогите настроить редирект на внутренний веб-сервер"
Отправлено Grey , 26-Июн-03 13:51 
>>Ты разрешил на файерволе ?
>>${fwcmd} add pass tcp from any to ${oip} 81 setup
>
>Да, это я разрешил см выше.
>
>>
>>#natd -v -u -m -a <твой внешний ip> -i 6666 -o 7777 -redirect_port tcp 192.168.100.5:80 81
>>
>>это запустит natd в отладочном режиме, и смотри если на экране ниче
>>не появится, значит не настроил firewall.
>
>Вот и я говорю, мб дело в последовательности правил? Потому что если
>я например закоментирую правило
>${fwcmd} add pass tcp from any to ${oip} 25 setup
>то на 25 порт извне я уже подключиться не могу.
>Выходит фаервол работает.
>
>Такой вопрос, если я скажу ipfw flush дам команду
>natd -v -u -m -a <твой внешний ip> -i 6666 -o 7777 -redirect_port tcp 192.168.100.5:80 81
>должно работать?

а въеб сервер вообще какой порт слушает? :)


"Помогите настроить редирект на внутренний веб-сервер"
Отправлено denb , 26-Июн-03 14:05 
>>Ты разрешил на файерволе ?
>>${fwcmd} add pass tcp from any to ${oip} 81 setup
>
>Да, это я разрешил см выше.
>
>>
>>#natd -v -u -m -a <твой внешний ip> -i 6666 -o 7777 -redirect_port tcp 192.168.100.5:80 81
>>
>>это запустит natd в отладочном режиме, и смотри если на экране ниче
>>не появится, значит не настроил firewall.
>
>Вот и я говорю, мб дело в последовательности правил? Потому что если
>я например закоментирую правило
>${fwcmd} add pass tcp from any to ${oip} 25 setup
>то на 25 порт извне я уже подключиться не могу.
>Выходит фаервол работает.
>
>Такой вопрос, если я скажу ipfw flush дам команду
>natd -v -u -m -a <твой внешний ip> -i 6666 -o 7777 -redirect_port tcp 192.168.100.5:80 81
>должно работать?

Нет. Кто будет тогда на natd пакеты заворачивать? Какие правила?

Порядок такой:
1. Сначала пишешь правила для заварачивания(divert)
2. Потом разрешающие правила
3. потом запускаешь natd

http://www.opennet.me/base/net/redirect.txt.html
http://www.opennet.me/base/net/divert.txt.html
http://www.opennet.me/base/net/nat_jump.txt.html


"Помогите настроить редирект на внутренний веб-сервер"
Отправлено afts , 26-Июн-03 15:34 
1. Я взял за основу файл /etc/rc.firewall, скопировал в /etc/rc.myfirewall
2. Внес изменения в раздел SIMPLE
3. В rc.conf - прописал:

firewall_enable="YES"
firewall_type="SIMPLE"
firewall_script="/etc/rc.myfirewall"
natd_enable="YES"
natd_interface="bge0"
natd_flags="-f /etc/natd.conf"

В файле /etc/rc.myfirewall есть такой раздел:

case ${natd_enable} in
  [Yy][Ee][Ss])
       if [ -n "${natd_interface}" ]; then
          ${fwcmd} add divert natd all from any to any via ${natd_
       fi
                ;;
esac
Как я понял он какраз для ната. Нат у меня работает, файл /etc/natd.conf я приводил выше.

Если я убиваю процесс ната и запускаю так:
natd -v -u -m -a <твой внешний ip> -i 6666 -o 7777 -redirect_port tcp 192.168.100.5:80 81
То ничего не работает :( И строки по экрану не бегут.
Если запускаю нат так:
/sbin/natd -f /etc/natd.conf -n bge0
То все работает.
Правила фаервола перезапускаю так:
ipfw flush
sh /etc/rc.myfirewall
Есть еще идеи? Мб список правил показать?


"Помогите настроить редирект на внутренний веб-сервер"
Отправлено afts , 26-Июн-03 15:39 
Вот список правил по ipfw list:
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00400 deny ip from 192.168.100.0/24 to any in via bge0
00500 deny ip from 62.117.81.2:255.255.255.135 to any in via bge1
00600 deny ip from any to 10.0.0.0/8 via bge0
00700 deny ip from any to 172.16.0.0/12 via bge0
00800 deny ip from any to 192.168.0.0/16 via bge0
00900 deny ip from any to 0.0.0.0/8 via bge0
01000 deny ip from any to 169.254.0.0/16 via bge0
01100 deny ip from any to 192.0.2.0/24 via bge0
01200 deny ip from any to 224.0.0.0/4 via bge0
01300 deny ip from any to 240.0.0.0/4 via bge0
01400 divert 8668 ip from any to any via bge0
01500 deny ip from 10.0.0.0/8 to any via bge0
01600 deny ip from 172.16.0.0/12 to any via bge0
01700 deny ip from 192.168.0.0/16 to any via bge0
01800 deny ip from 0.0.0.0/8 to any via bge0
01900 deny ip from 169.254.0.0/16 to any via bge0
02000 deny ip from 192.0.2.0/24 to any via bge0
02100 deny ip from 224.0.0.0/4 to any via bge0
02200 deny ip from 240.0.0.0/4 to any via bge0
02300 allow tcp from any to any established
02400 allow ip from any to any frag
02500 allow tcp from any to [имя_интерфейса_наружу] dst-port 25 setup
02600 allow tcp from any to [имя_интерфейса_наружу] dst-port 53 setup
02700 allow udp from any to [имя_интерфейса_наружу] dst-port 53
02800 allow udp from [имя_интерфейса_наружу] 53 to any
02900 allow tcp from any to [имя_интерфейса_наружу] dst-port 80 setup
03000 allow tcp from any to [имя_интерфейса_наружу] dst-port 20 setup
03100 allow tcp from any to [имя_интерфейса_наружу] dst-port 21 setup
03200 allow tcp from any to [имя_интерфейса_наружу] dst-port 22 setup
00200 fwd 127.0.0.1,3128 tcp from any to any dst-port 80,8080,8081 in recv bge1
03300 deny log tcp from any to any in via bge0 setup
03400 allow tcp from any to any setup
03500 allow udp from [имя_интерфейса_наружу] to any dst-port 53 keep-state
03600 allow udp from [имя_интерфейса_наружу] to any dst-port 123 keep-state

"Помогите настроить редирект на внутренний веб-сервер"
Отправлено denb , 26-Июн-03 16:18 
>Вот список правил по ipfw list:
>00100 allow ip from any to any via lo0
>00200 deny ip from any to 127.0.0.0/8
>00300 deny ip from 127.0.0.0/8 to any
>00400 deny ip from 192.168.100.0/24 to any in via bge0
>00500 deny ip from 62.117.81.2:255.255.255.135 to any in via bge1
>00600 deny ip from any to 10.0.0.0/8 via bge0
>00700 deny ip from any to 172.16.0.0/12 via bge0
>00800 deny ip from any to 192.168.0.0/16 via bge0
>00900 deny ip from any to 0.0.0.0/8 via bge0
>01000 deny ip from any to 169.254.0.0/16 via bge0
>01100 deny ip from any to 192.0.2.0/24 via bge0
>01200 deny ip from any to 224.0.0.0/4 via bge0
>01300 deny ip from any to 240.0.0.0/4 via bge0
>01400 divert 8668 ip from any to any via bge0
>01500 deny ip from 10.0.0.0/8 to any via bge0
>01600 deny ip from 172.16.0.0/12 to any via bge0
>01700 deny ip from 192.168.0.0/16 to any via bge0
>01800 deny ip from 0.0.0.0/8 to any via bge0
>01900 deny ip from 169.254.0.0/16 to any via bge0
>02000 deny ip from 192.0.2.0/24 to any via bge0
>02100 deny ip from 224.0.0.0/4 to any via bge0
>02200 deny ip from 240.0.0.0/4 to any via bge0
>02300 allow tcp from any to any established
>02400 allow ip from any to any frag
>02500 allow tcp from any to [имя_интерфейса_наружу] dst-port 25 setup
>02600 allow tcp from any to [имя_интерфейса_наружу] dst-port 53 setup
>02700 allow udp from any to [имя_интерфейса_наружу] dst-port 53
>02800 allow udp from [имя_интерфейса_наружу] 53 to any
>02900 allow tcp from any to [имя_интерфейса_наружу] dst-port 80 setup
>03000 allow tcp from any to [имя_интерфейса_наружу] dst-port 20 setup
>03100 allow tcp from any to [имя_интерфейса_наружу] dst-port 21 setup
>03200 allow tcp from any to [имя_интерфейса_наружу] dst-port 22 setup
>00200 fwd 127.0.0.1,3128 tcp from any to any dst-port 80,8080,8081 in recv
>bge1
>03300 deny log tcp from any to any in via bge0 setup
>
>03400 allow tcp from any to any setup
>03500 allow udp from [имя_интерфейса_наружу] to any dst-port 53 keep-state
>03600 allow udp from [имя_интерфейса_наружу] to any dst-port 123 keep-state

Тебе лучше почитать поподробнее на тему ipfw, а то ты очень плохо представляешь себе это, разберись с порядком правил.

поэксперементируй так:
#ipfw flush
чтобы очисть правила

#ipfw add 100 divert 7777 tcp from 192.168.100.5 80 to any out
#ipfw add 200 divert 6666 tcp from any to <твой внешний ip> 81 in
#natd -u -m -a <твой внешний ip> -i 6666 -o 7777 -redirect_port tcp 192.168.100.5:80 81