Страница 1 из 1

Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-25 16:32:46
IIIAX
Помогите решить такую проблему!
Необходимо пробросить 7000 порт из внехи на внутрений сервак (навигации). Пробовал всякие конфиги и методы, грешу на фаервол (очень он подозрительно выглядит:) ).

Вот конфа natd

Код: Выделить всё

same_ports yes
use_sockets yes
interface xl0
redirect_port 192.168.13.7:7000 7000

Конфа фаервола

Код: Выделить всё

FwCMD="/sbin/ipfw"        # собственно где лежит бинарник ipfw
LanOut="xl0"              # внешний интерфейс
LanIn="xl1"               # внутренний интерфейс
IpOut="89.222.233.50"     # внешний IP адрес машины
IpIn="192.168.13.3"       # внутренний IP машины
NetInMask="24"            # маска сети (если она разная для внешней
NetOutMask="26"           # и внутренней сети - придётся вводить ещё
NetNaviMask="24"
MyIP="192.168.13.249"
MyP="20-65535"
# одну переменную, но самое забавное, что
# можно и забить - оставить 24 - всё будет
# работать, по крайней мере я пробовал -
# работаало на 4-х машинах, в разных сетях,
# с разными масками - настоящими разными! но -
# это неправильно.)
# Сбрасываем все правила:
${FwCMD} -f flush
# Проверяем - соответствует ли пакет динамическим правилам:
${FwCMD} add check-state
# Разрешаем весь траффик по внутреннему интерфейсу (петле)
# Вообще я во многих местах читал что без него может ничё не заработать вообще
# и прочие страшилки. Работает - почта, апач, .... А вот squid - не работает :)
# так что без него и правда - никуда.
${FwCMD} add allow log ip from any to any via lo0
# рубим попытки lo0 куда-то лезть и откуда-то лезть на lo0 (вот честно - ни
# одного пакета по этим правилам не зарубилось за всё время... Может в этом
# моё счастье? :))
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any
# Вводим запреты:
# режем частные сети на внешнем интерфейсе - по легенде он у нас
# смотрит в интернет, а значит пакетам этим браться неоткуда на нём.
# рубим частные сeти
${FwCMD} add deny ip from any to 10.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 172.16.0.0/12 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 0.0.0.0/8 in via ${LanOut}
# рубим автоконфигуреную частную сеть
${FwCMD} add deny ip from any to 169.254.0.0/16 in via ${LanOut}
# рубаем мультикастовые рассылки
${FwCMD} add deny ip from any to 240.0.0.0/4 in via ${LanOut}
# рубим фрагментированные icmp
${FwCMD} add deny icmp from any to any frag
# рубим широковещательные icmp на внешнем интерфейсе
${FwCMD} add deny icmp from any to 255.255.255.255 in via ${LanOut}
${FwCMD} add deny icmp from any to 255.255.255.255 out via ${LanOut}
# а тут собственно файрволл и начался:
# отправляем всех на squid (в данном случае - прокси прозрачный)
${FwCMD} add fwd 127.0.0.1,80 tcp from ${NetIn}/${NetInMask} to any 80 via ${LanOut}
# пропускаем траффик через трансляцию сетевых адресов (NAT)
# САМОЕ ГЛАВНОЕ ПРАВИЛО ЗАПРЕЩАЕМ ДИАПАЗОНЫ ПОРТОВ ПЕРЕД ВКЛЮЧЕНИЕМ NAT
${FwCMD} add deny log tcp from 192.168.13.0/24 to any 0-20,22-24,26,109,111-221,223-539,541-6999,7001-65535 via ${LanOut} #25 110 540
${FwCMD} add divert natd ip from ${NetIn}/${NetInMask} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}
# рубим траффик к частным сетям через внешний интерфейс
# заметтьте - эти правила отличаются от тех что были выше!
${FwCMD} add deny ip from 10.0.0.0/8 to any out via ${LanOut}
${FwCMD} add deny ip from 172.16.0.0/12 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 0.0.0.0/8 to any out via ${LanOut}
# рубим автоконфигуреную частную сеть
${FwCMD} add deny ip from 169.254.0.0/16 to any out via ${LanOut}
# рубаем мультикастовые рассылки
${FwCMD} add deny ip from 224.0.0.0/4 to any out via ${LanOut}
# рубаем мультикастовые рассылки
${FwCMD} add deny ip from 240.0.0.0/4 to any out via ${LanOut}
# разрешаем все установленные соединения (если они установились -
# значит по каким-то правилам они проходили.)
${FwCMD} add allow tcp from any to any established
# разрешаем весь исходящий траффик (серверу-то в инет можно? :))
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}
# разрешаем DNS снаружи (нам же надо узнавать IP по именам машин?)
${FwCMD} add allow udp from any 53 to any via ${LanOut}
# разрешаем UDP (для синхронизации времени - 123 порт)
${FwCMD} add allow udp from any to any 123 via ${LanOut}
# разрешаем ftp снаружи (оба правила - для пасивного режима)
# для узнавания портранджа по которому будет работать, лезем в
#/usr/home/lissyara/>sysctl net.inet.ip.portrange.first
# net.inet.ip.portrange.first: 49152
# /usr/home/lissyara/>sysctl net.inet.ip.portrange.last
# net.inet.ip.portrange.last: 65535
#Можно изгалиться примерно так, если есть желание, но я предпочитаю руками
#${FwCMD} add allow tcp from any to ${IpOut} \
#`sysctl net.inet.ip.portrange.first | awk '{print $2}'`-\
#`sysctl net.inet.ip.portrange.last | awk '{print $2}'` via ${LanOut}
#${FwCMD} add allow tcp from any to ${IpOut} 49152-65535 via ${LanOut}
# разрешаем некоторые типы ICMP траффика - эхо-запрос,
# эхо-ответ и время жизни пакета истекло
${FwCMD} add allow icmp from any to any icmptypes 0,8,11
# открываем снаружи 80 порт - если у нас есть WWW сервер на машине
#${FwCMD} add allow tcp from any to ${IpOut} 80 via ${LanOut}
# открываем снаружи 25 порт (SMTP) если на машине крутится почта
#${FwCMD} add allow tcp from any to ${IpOut} 25 via ${LanOut}
# открываем снаружи 22 порт - если надо будет ходить на машину по ssh
###########${FwCMD} add allow tcp from any to ${IpOut} 22 via ${LanOut}
# открываем снаружи 143 порт(если надо смотреть почту снаружи по IMAP)
#${FwCMD} add allow tcp from any to ${IpOut} 143 via ${LanOut}
# открываем снаружи 110 порт(если надо смотреть почту снаружи по POP)
#${FwCMD} add allow tcp from any to ${IpOut} 110 via ${LanOut}
# по поводу следующих трёх правил, для tcp, udp и icmp - их можно
# заменить одним правилом:
#${FwCMD} add allow ip from any to any via ${LanIn}
# но для удобства наладки и контроля происходящего я предпочитаю три отдельных
# правила, хотя могут быть грабли - например протокол gre не пройдёт -
# придётся стругать отдельное правило для него, типа
#${FwCMD} add allow gre from any to any via ${LanIn}
# итак:
# разрешаем весь tcp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow tcp from any to any via ${LanIn}
# разрешаем весь udp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow udp from any to any via ${LanIn}
# разрешаем весь icmp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow icmp from any to any via ${LanIn}
# запрещаем всё и всем. Если тип файрволла не open то это правило добавится
# автоматически, но всё-же ну его. Лучше сам. Надёжней.
${FwCMD} add deny all from ${NetIn}/${NetInMask} to any via ${LanOut}
${FwCMD} add deny all from any to any via ${LanOut}

Конфа rc.conf

Код: Выделить всё

# -- sysinstall generated deltas -- # Fri Sep 12 01:31:27 2008
# Created: Fri Sep 12 01:31:27 2008
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
defaultrouter="89.222.233.1"
gateway_enable="YES"
hostname="gate.sab.local"
named_enable="YES"
ifconfig_xl0="inet 89.222.233.50  netmask 255.255.255.192"
ifconfig_xl1="inet 192.168.13.3  netmask 255.255.255.0"
sendmail_enable="NO"
inetd_enable="YES"
inetd_interface="xl0"
rpcbind_enable="YES"
natd_enable="YES"
natd_interface="xl0"
natd_flags="-f /etc/natd.conf"
keymap="ru.koi8-r"
named_enable="YES"
firewall_enable="YES"
firewall_script="/etc/firewall.sh"
firewall_quiet="NO"
firewall_type="OPEN"
ntpdate_enable="YES"
ntpdate_flags="ru.pool.ntp.org"
router="/sbin/routed"
router_enable="YES"
router_flags="-q"
sshd_enable="YES"
winbindd_enable="YES"
winbindd_flags="-d 3"
squid_enable="YES"
apache22_enable="YES"
mysql_enable="YES"
samsd_enable="YES"
mpd_enable="YES"
mpd_flags="-b"
Помогите чем сможите! Другие средства применять нет желания...

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-25 17:50:07
schizoid
вообще-то лучше в логи фаера смотреть
я на вскидку не увидел разрешения на этот самый 7000-й порт

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-25 20:40:24
IIIAX
schizoid писал(а):вообще-то лучше в логи фаера смотреть
я на вскидку не увидел разрешения на этот самый 7000-й порт

Вот в этом и трудности! С фаерволом плохо знаком((. Еле-еле его работать заставил пришлось рисовать правило

Код: Выделить всё

${FwCMD} add deny log tcp from 192.168.13.0/24 to any 0-20,22-24,26,109,111-221,223-539,541-6999,7001-65535 via ${LanOut} #25 110 540
Без него все открыто....

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-26 0:11:17
princeps
Ни хрена себе ты правило придумал. И смысл его было ставить перед правилами НАТ? У тебя в конфиге то же самое, только закомментировано
По поводу твоей проблемы попробуй так, наверное:

Код: Выделить всё

${FwCMD} add allow tcp from any to ${Внешний ип} 7000 via ${Внешний интерфейс}

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-26 5:14:24
IIIAX
princeps писал(а):Ни хрена себе ты правило придумал. И смысл его было ставить перед правилами НАТ? У тебя в конфиге то же самое, только закомментировано
По поводу твоей проблемы попробуй так, наверное:
${FwCMD} add allow tcp from any to ${Внешний ип} 7000 via ${Внешний интерфейс}

:no: Не канает ваще никак :st:

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-26 9:18:05
princeps
Потому что его надо поставить ДО твоего безумного правила :)

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-26 9:24:44
schizoid
еще разрешить на внутренний интерфейс
и еще в обратную сторону разрешить
а вообще лучше почитать про фаервол

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-26 10:27:56
IIIAX
schizoid писал(а):еще разрешить на внутренний интерфейс
и еще в обратную сторону разрешить
а вообще лучше почитать про фаервол

Я понимаю что фаервол криво настроен, и не то что я ленюсь сидеть и читать про него, просто очень нужно проброс сделать... Ты не можеш конфу написать (хотябы диверты и разрешения на открытые порты в моем "волшебном" правиле)?
:oops:

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-26 10:29:37
schizoid
может тут глянь, быстрее будет. а потом разберешься

http://forum.lissyara.su/viewtopic.php?f=8&t=11148

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-26 10:42:41
IIIAX
schizoid писал(а):может тут глянь, быстрее будет. а потом разберешься

http://forum.lissyara.su/viewtopic.php?f=8&t=11148

Её уже пробовал, но не пускает и все((. Уже даже киску пытался настраивать(но в этом я ваще полный ноль) там ничего не вышло,даж пинги не ижут до циски из все. Вопщем премия моя за этот месяц быстро теряет проценты

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-26 11:01:51
schizoid
мдя...вам не кажется , что вы не на своем месте?

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-26 11:05:36
~>cerber<~
судя по вашей подписи вы не на той должности, не тем занемаетесь.

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-26 12:05:37
IIIAX
НАРОД!!!Я просил не это, а помоч разобраться с пробросом портов.... :sorry:

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-27 9:10:39
zingel

Код: Выделить всё

/etc/natd.conf
redirect_port tcp 192.168.13.3:7000 7000

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-29 5:03:08
IIIAX
zingel писал(а):

Код: Выделить всё

/etc/natd.conf
redirect_port tcp 192.168.13.3:7000 7000

Дак а мне на адрес 192.168.13.7 надо же пробросить! Зачем проброс делать от роутера до роутера?

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-29 8:29:36
HRonik
поставь rinetd, очень удобная штука для проброса портов.

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-29 8:33:30
zingel
поставь любой натный демон и пробрось куда нужно.

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-30 9:49:28
IIIAX
Все разобрался тема больше не актуальна!!! Косяк в правилах фаера был(я поновой сам конфу прописал без моего волшебного правила).А проброс советую всем делать через rinetd.Очень удобная штука не требуящая №;%ств с системой

Re: Проброс порта 7000 из вне на внутр машину

Добавлено: 2008-09-30 10:02:13
paradox
написал бы кто статью
как пробросить порт Н-надцатью способами в фриибсд
и +- каждого способа

к примеру natd юзать значит иметь ввиду и заморачиваться с divert
итд