|
Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » FreeBSD - Проброс портов через NAT kernel FreeBSD 7.2 во внутренюю сеть |
|
FreeBSD - Проброс портов через NAT kernel FreeBSD 7.2 во внутренюю сеть
|
Новый участник Сообщения: 2 |
Профиль | Отправить PM | Цитировать Добрый день!
Имеется проблема, не удаётся настроить проброс порта на машину локальной сети. FreeBSD 7.2, firewall_nat, mpd5. Ядро Generic. Провайдер корбина. Соответственно есть внутренняя сеть на интерфейсе re0, сеть прова на интерфейсе em0 (адрес выделяется динамически из привтного диапазона) и Интернет на интерфейсе ng0 (реальный адрес выделяется динамически). ng0 как таковой создается при запуске mpd5. rc.conf hostname="server.local" gateway_enable="YES" defaultrouter="NO" ifconfig_re0="inet 192.168.1.1 netmask 255.255.255.0" ifconfig_em0="DHCP" static_routes="dns1 dns2 vpn l2tp" # corbina" route_dns1="-host 213.234.192.8 10.112.232.1" route_dns2="-host 85.21.192.3 10.112.232.1" route_vpn="-net 85.21.0.0/24 10.112.232.1" route_l2tp="-net 85.21.17.0/24 10.112.232.1" #route_corbina="-net 10.0.0.0/8 10.112.232.1" firewall_enable="YES" firewall_type="OPEN" firewall_logging="YES" firewall_nat_enable="YES" #firewall_nat_flags="redirect_port tcp 192.168.1.2:80 81" firewall_nat_interface="ng0" #natd_enable="NO" #natd_flags="-f /etc/natd.conf" #natd_interface="ng0" mpd_enable="YES" mpd чудно работает, в Интренет локалка ходит. rc.firewall сейчас оригинальный. Есть 2 проблемы: 1. firewall_nat_flags не работает, т.к. на момент применения правил ipfw при старте системы, интерфейс ng0, создаваемый mpd5 отсутствует и ipfw ругается. Пришлось команду ipfw nat 123 config if ng0 same_ports unreg_only redirect_port tcp 192.168.1.2:80 81 выполнять в скрипте сразу после запуска MPD5). Возможноли как то это настроить именнно в rc.conf. В natd это решалось путем добавления опции -dynamic, с ней natd запомнал правила для несозданных mpd интерфесов. 2. ни как не могу настроить проброс порта средствами ipfw_nat и ipfw, мне необходимо 192.168.1.2:80 сделать доступным на ng0:81 (т.е. на динамический_внешний_ip:81). Перечитал маны и примеры, везде примеры описываются в привязке к конкретным ip адресам (внешнего интерфейса), у меня ситуация не такая - внешний адрес может динамически меняться. Есть идеи? |
|
Отправлено: 15:20, 03-06-2009 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Кстати, вот что сейчас в ipfw
server# ipfw list 00050 nat 123 ip4 from any to any via ng0 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 65000 allow ip from any to any 65535 deny ip from any to any server# ipfw nat show config ipfw nat 123 config if ng0 same_ports unreg_only redirect_port tcp 192.168.1.2:80 81 |
Отправлено: 15:37, 03-06-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 4735
|
Профиль | Отправить PM | Цитировать dmitriadis, возможно, посмотри на заголовки скриптов Фри - там в шапке есть зависимости - мне как-то потребовалось в определенном порядке запускать mysql/mpd и еще пару скприктов - помогло курение man rc и man rcorder:
Каждый скрипт из /etc/rc.d для утилиты rcorder должен содержать специальные строчки, особенно строчку с словом "PROVIDE:" обязательную строчку "# KEYWORD: FreeBSD" и если необходимо, то строчки со словами "REQUIRE:" и "BEFORE:". Строчки должны располагаться в виде блока (одна за другой). Формат строчек строго заданный. Каждая специальная строчка должна начинаться с символа '#' за которым следует один символ 'пробел' далее одно из слов PROVIDE:, REQUIRE:, BEFORE:, KEYWORD:, затем снова символ 'пробел' и заканчивается все "обстоятельствами" (conditions). PROVIDE: Задает имя сервиса (демона), которое обслуживает этот скрипт. REQUIRE: Список сервисов (демонов|обстоятельств), необходимых этому скрипту для запуска своего демона (сервиса). BEFORE: Список сервисов (демонов|обстоятельств), зависящих от демона запускаемого этим скриптом. KEYWORD: FreeBSD или NetBSD, также в этой строчке можно написать волшебное слово "nostart" тогда rcorder исключит этот скрипт из своего списка. Обстоятельства (conditions) могут иметь специальные обозначения: NETWORKING SERVERS DAEMON LOGIN NETWORKING: гарантирует запуск основных сетевых служб, за которые отвечают скрипты (network1, network2, network3). SERVERS: гарантирует запуск основных сервисов таких как (NETWORKING, ppp-user, syslogd, and isdnd) которые должны стартовать раньше чем, например named. Ранний запуск служб SERVERS требуется для тех кто определен как DAEMON. DAEMON: контрольная точка перед общими демонами, такими как lpd, ntpd. LOGIN: контрольная точка перед "user login" службами (inetd, sshd). в шапку скрипта после #!bin/sh (bash,tsh и так далее) дописываешь: #PROVIDE: script1 #REQUIRE: script2 командой %rcorder /etc/rc.d/* /usr/local/etc/rc.d/* проверь правильность порядка, если надо - скорректируй (man rcorder). |
------- Отправлено: 21:29, 02-09-2009 | #3 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Router - проброс портов в модеме ZTE 831 II!! | sl1mus | Сетевое оборудование | 1 | 25-06-2010 02:20 | |
[решено] проброс портов, сервер 2003 | Gringo_V_V | Microsoft Windows NT/2000/2003 | 18 | 27-01-2010 01:54 | |
FreeBSD - Проброс портов средствами ядерного NAT | zlx | Общий по FreeBSD | 1 | 05-01-2010 14:11 | |
проброс портов для входа в АД | farlow | Общий по FreeBSD | 5 | 25-07-2007 13:25 | |
проброс портов на Server Exchange 2003 | Sluggard | Microsoft Exchange Server | 2 | 16-09-2006 00:05 |
|