Существует два провайдера у первого внешний IP 89.109.236.21 шлюз 89.109.236.20 у второго IP 89.222.212.74 шлюз 89.222.212.65 + диапазон внешних адресов 89.222.212.241-89.222.212.246
кроме того есть локальный веб сервер x.x.x.x который надо отразить и дать доступ на удаленный рабочий стол по внешнему IP второго провайдера 89.222.212.74проблемы:
1 как не пробовал не получается cделать доступ на удаленный рабочий стол на WIN. все попытки останавливались на том что просто виснет подключение к удаленному рабочему столу на прогресс баре. (форумы читал)2 неполучается сделать проброс на внешние ip адреса 89.222.212.242-89.222.212.246 второго провайдера на машины подключенные "локально" к 89.222.212.241 ip адресу freebsd, звоним второму провайдеру - оо freebsd, да со шлюза все работает а пользователи интернета ничего не видят смотрите свои настройки мы тут не причем. (пробовал подключать два ната с обеих сторон, пробовал просто мост делать, без моста, пробовал просто с имитировать все это из подручных системников, все работает, на шлюзе второго провайдера глухо)
На WIN ISA все работает, кроме маршрутов ниче нет!сейчас:
b1----а1*win isa*a2---b2,b3,b4 - все пашет
***********a4---b6,b7,b8надо сделать:
b1----а1*********a2---b2,b3,b4 - rinet nat ipfw
b5----a3*freebsd*a4---b6,b7,b8b1 - 89.222.212.65
b5 - 89.109.236.20
b2,b4 - 89.222.212.241-89.222.212.246
b6,b7,b8 - локалка + web
a1 - 89.222.212.74
a2 - 89.222.212.241
a3 - 89.109.236.21
a4 - локальный адресПодскажите че делать?
вот основные настройки ipfwipfw add 99 allow all from any to 127.0.0.1
ipfw add 99 allow all from 127.0.0.1 to anyipfw add 100 divert "nat port" all from 192.168.220.1/24, 89.222.224.241/28, 192.168.208.0/22, 172.16.10.0/24, 192.168.3.0/24 to any out via em0
ipfw add 101 divert "nat port" all from any to 89.109.236.21 in via em0ipfw add 120 allow all from 89.109.236.21 to any via em0
ipfw add 121 allow all from any to 89.109.236.21 via em0
ipfw add 122 allow all from 89.222.224.241 to any via em4
ipfw add 123 allow all from any to 89.222.224.241 via em4
ipfw add 124 allow all from 89.222.212.74 to any via em5
ipfw add 125 allow all from any to 89.222.212.74 via em5далее раздача инета пользователям ну или allow from any to any
Policy Based Routing
а это что за?:
ipfw add 100 divert nat all from 192.168.220.1/24, 89.222.224.241/28, 192.168.208.0/22, 172.16.10.0/24, 192.168.3.0/24 to any out via em0P.S.
диопазон
как не пробовал
четал
зделать
не причем
с иметировать
IMHO, если такие проблемы с русским языком, ipfw+natd не осилитьP.P.S. IMHO, natd - прошлый век в буквальном смысле: ipfw имеет средства обойтись без него почти той же конфигурацией в подавляющем большинстве случаев, если не совсем во всех
ipfw add 100 divert nat all from 192.168.220.1/24, 89.222.224.241/28, 192.168.208.0/22, 172.16.10.0/24, 192.168.3.0/24 to any out via em0
ipfw add 101 divert nat all from any to 89.109.236.21 in via em0
обратите внимание на "divert nat":
nat, в данном случае, должно обозначать номер порта, в данном случае по имени
соответствие задается в /etc/services
так вот.
записи nat там нет, разве что, natd
nat - ужо так скомпилилось особо думать было некогда. а если диверта нету не факт что без ната!
извяняйте шо не так, самя мы не местьные
пс. люди если кроме исправления ошибок нет ни каких своих предложений идите в ...
помощь же нужна уже запарился видите сами как колбасит.
большое спасибо за просвещение, а то вот шлюз на 100 человек уже как два месяца работает, а я с ИСОй никак немогу разобратся, и проблема та вся оказывается в том что я на форуме D в NAT не написал... ну и тд.
> большое спасибо за просвещение, а то вот шлюз на 100 человек уже
> как два месяца работает, а я с ИСОй никак немогу разобратся,
> и проблема та вся оказывается в том что я на форуме
> D в NAT не написал... ну и тд.а теперь объясни, откуда мы знаем, что ты именно на форуме эту ошибку допустил (natd -> nat), а не скопипастил свой конфиг?
> а теперь объясни, откуда мы знаем, что ты именно на форуме эту
> ошибку допустил (natd -> nat), а не скопипастил свой конфиг?ну наверно тогда бы я как тупой ламер спросил: - а какого хрена правило на диверт не создается?
> nat - ужо так скомпилилось особо думать было некогда. а если диверта
> нету не факт что без ната!
> извяняйте шо не так, самя мы не местьные
> пс. люди если кроме исправления ошибок нет ни каких своих предложений идите
> в ...
> помощь же нужна уже запарился видите сами как колбасит.мы с удовольствием пойдем в ...
а ты сиди и мучайся сам
> мы с удовольствием пойдем в ...
> а ты сиди и мучайся самвот я и мучАюсь! присоединяйтесь!
>[оверквотинг удален]
> 172.16.10.0/24, 192.168.3.0/24 to any out via em0
> ipfw add 101 divert "nat port" all from any to 89.109.236.21 in
> via em0
> ipfw add 120 allow all from 89.109.236.21 to any via em0
> ipfw add 121 allow all from any to 89.109.236.21 via em0
> ipfw add 122 allow all from 89.222.224.241 to any via em4
> ipfw add 123 allow all from any to 89.222.224.241 via em4
> ipfw add 124 allow all from 89.222.212.74 to any via em5
> ipfw add 125 allow all from any to 89.222.212.74 via em5
> далее раздача инета пользователям ну или allow from any to anyПервое - упорно учить русский язык (разделы грамматика и орфография).
Второе - курить man ipfw до наступления полного просветления.
Третье - не забыть последней строкой добавить в конфиг
ipfw add 65535 allow all from any to any
> Первое - упорно учить русский язык (разделы грамматика и орфография).
> Второе - курить man ipfw до наступления полного просветления.
> Третье - не забыть последней строкой добавить в конфиг
> ipfw add 65535 allow all from any to anyСпасибо пойду к начальнику скажу что я незнаю как настроить сервер потому что читать и писать не умею. (стебная тема получилась)
Появилась следующая проблема: не работают pipe, пересобрал ядро с
options IPFIREWALL_NAT
options ROUTETABLES=4
после перезапуска перестали работать, все что попадает в pipe работает аналогично deny.
> Появилась следующая проблема: не работают pipe, пересобрал ядро с
> options IPFIREWALL_NAT
> options ROUTETABLES=4
> после перезапуска перестали работать, все что попадает в pipe работает аналогично deny.а сами pipe описаны?
> а сами pipe описаны?23052 pipe 23052 ip from 192.168.210.221 to any
23053 pipe 23053 ip from any to 192.168.210.22123052: 10.240 Mbit/s 0 ms burst 0
q154124 1000 KB 0 flows (1 buckets) sched 88588 weight 0 lmax 0 pri 0 droptail
sched 88588 type FIFO flags 0x0 0 buckets 0 active
23053: 10.240 Mbit/s 0 ms burst 0
q154125 1000 KB 0 flows (1 buckets) sched 88589 weight 0 lmax 0 pri 0 droptail
sched 88589 type FIFO flags 0x0 0 buckets 0 active
вот мой конфиг. Ни на что не претендую, просто показываю как работает у меня. Конфиг взят lissyara.su
Перенаправляю rdp порт 3389. Конфиг без natd.
Не забыть добавить в rc.conf
firewall_nat_enable="YES"
#!/bin/sh#tcp 22, 25, 993, 80
#udp 2000,ipfwc="/sbin/ipfw -q"
ifext="rl0"
ifint="vr0"
ifvpn="tap0"
iplan="192.168.0.1"
ipwan="xx.xx.xx.xx"
ippan=""
netlan="192.168.0.0/16"${ipfwc} -f flush
${ipfwc} add check-state
#${ipfwc} add nat 123 all from any to any
#${ipfwc} nat 123 config ip ${ipwan} log same_ports${ipfwc} nat 1 config ip ${ipwan} log redirect_port tcp 192.168.0.2:3389 3389
${ipfwc} add nat 1 ip from ${netlan} to any out xmit ${ifext}
${ipfwc} add nat 1 ip from any to ${ipwan} in recv ${ifext}#${ipfwc} redirect_port tcp 192.168.0.2:3389 3389
${ipfwc} add allow ip from any to any via lo0
${ipfwc} add deny ip from any to 127.0.0.0/8
${ipfwc} add deny ip from 127.0.0.0/8 to any${ipfwc} add deny ip from any to 10.0.0.0/8 in via ${ifext}
${ipfwc} add deny ip from any to 172.16.0.0/12 in via ${ifext}
${ipfwc} add deny ip from any to 192.168.0.0/16 in via ${ifext}
${ipfwc} add deny ip from any to 0.0.0.0/8 in via ${ifext}
# рубим автоконфигуреную частную сеть
${ipfwc} add deny ip from any to 169.254.0.0/16 in via ${ifext}
# рубаем мультикастовые рассылки
${ipfwc} add deny ip from any to 240.0.0.0/4 in via ${ifext}
# рубим фрагментированные icmp
${ipfwc} add deny icmp from any to any frag
# рубим широковещательные icmp на внешнем интерфейсе
${ipfwc} add deny log icmp from any to 255.255.255.255 in via ${ifext}
${ipfwc} add deny log icmp from any to 255.255.255.255 out via ${ifext}# разрешаем все установленные соединения (если они установились -
# значит по каким-то правилам они проходили.)
${ipfwc} add allow tcp from any to any established
# разрешаем весь исходящий траффик (серверу-то в инет можно? :))
${ipfwc} add allow ip from ${ipwan} to any out xmit ${ifext}
${ipfwc} add allow udp from any to any 53 via ${ifext}
${ipfwc} add allow udp from any to any 123 via ${ifext}
${ipfwc} add allow udp from any to any 2000 via ${ifext}
${ipfwc} add allow icmp from any to ${ipwan} 5060 via ${ifext}
${ipfwc} add allow tcp from any to ${ipwan} 80 via ${ifext}
${ipfwc} add allow tcp from any to ${ipwan} 25 via ${ifext}
${ipfwc} add allow tcp from any to ${ipwan} 22 via ${ifext}
${ipfwc} add allow tcp from any to ${ipwan} 993 via ${ifext}${ipfwc} add allow tcp from any to any via ${ifint}
${ipfwc} add allow udp from any to any via ${ifint}
${ipfwc} add allow icmp from any to any via ${ifint}${ipfwc} add allow tcp from any to any via ${ifvpn}
${ipfwc} add allow udp from any to any via ${ifvpn}
${ipfwc} add allow icmp from any to any via ${ifvpn}
${ipfwc} add deny ip from any to any
ну принцип понятен но моих багов не решает, глюки можно сказать на пустом месте, фг знает может где "галочку" забыл поставить...
В опциях ядра нашел следующее. Может ли netgraph тут быть помехой если в rc.conf не включен?options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_NAT
options ROUTETABLES=4
options IPDIVERT
options DUMMYNET
options IPFIREWALL_FORWARD
options NETGRAPH
options NETGRAPH_IPFW
options NETGRAPH_NAT
options NETGRAPH_NETFLOW
options NETGRAPH_SPLIT
options NETGRAPH_KSOCKET
options NETGRAPH_SOCKET
options NETGRAPH_BPF
options NETGRAPH_IFACE
options NETGRAPH_MPPC_ENCRYPTION
options NETGRAPH_PPP
options NETGRAPH_PPTPGRE
options NETGRAPH_TCPMSS
options NETGRAPH_VJC
options NETGRAPH_TEE
options NETGRAPH_CAR
переконфигурил и посмотрел sysctl one_pass pipe вроде работает но редирект порта через nat не получается.вот конфиг
ipfw add 50 add allow ip from any to any via lo0
ipfw add 51 allow all from any to 127.0.0.1/8
ipfw add 52 allow all from 127.0.0.1/8 to anyipfw add 60 allow all from 192.168.208.0/22 to 192.168.208.0/22 via em1
ipfw add 61 allow all from 172.16.10.0/24 to 172.16.10.0/24 via em2
ipfw add 62 allow all from 192.168.3.0/24 to 192.168.3.0/24 via em3
ipfw add 63 allow all from 192.168.220.0/24 to 192.168.220.0/24 via em423278 pipe 23278 ip from 192.168.220.2 to any in - работает и получает интернет
23279 pipe 23279 ip from any to 192.168.220.2 out - работает и получает интернетipfw add 64000 divert 8668 all from 192.168.220.1/24, 192.168.208.0/22, 172.16.10.0/24, 192.168.3.0/24 to any out via em0
ipfw add 64001 allow all from 89.109.236.21 to any out via em0
ipfw add 64002 divert 8668 all from any to 89.109.236.21 in via em0
ipfw add 64003 allow all from any to 192.168.220.1/24, 192.168.208.0/22, 172.16.10.0/24, 192.168.3.0/24 in via em0
ipfw add 64004 allow all from any to 89.109.236.21 in via em0запуск nat:
natd -n em0 -redirect_port 192.168.220.2:80 89.109.236.21:80
поправка! redirect_port работает но только из внешней сети. ну жно чтобы редиректил и из внутреннейполучается что обращение из локальной сети на 89.109.236.21 или диверт в локальную сеть неработает??? какиенибудь мануалы бы на эту тему...
> поправка! redirect_port работает но только из внешней сети. ну жно чтобы редиректил
> и из внутренней
> получается что обращение из локальной сети на 89.109.236.21 или диверт в локальную
> сеть неработает??? какиенибудь мануалы бы на эту тему...смотрите по какому пути ответ идет
> смотрите по какому пути ответ идетя так подозреваю что запрос до внешнего интерфейса недоходит и в правило диверта не попадает, нужно на внутреннем интерфейсе тоже нат с перенаправлением на правило from any to 89.109.236.21 вешать
>> смотрите по какому пути ответ идет
> я так подозреваю что запрос до внешнего интерфейса недоходит и в правило
> диверта не попадает, нужно на внутреннем интерфейсе тоже нат с перенаправлением
> на правило from any to 89.109.236.21 вешатьнужно не подозревать, а запустить tcpdump и посмотреть что приходит и уходит ли
> нужно не подозревать, а запустить tcpdump и посмотреть что приходит и уходит
> линичего!
>> нужно не подозревать, а запустить tcpdump и посмотреть что приходит и уходит
>> ли
> ничего!что ничего? и входящих нет? на каком интерфейсе смотрите?
запускайте на интерфейсе который смотрит на клиента и на интерфейсе который смотрит на машину куда пробрасываете. делайте обращение с клиента и смотрите что где будет
> что ничего? и входящих нет? на каком интерфейсе смотрите?
> запускайте на интерфейсе который смотрит на клиента и на интерфейсе который смотрит
> на машину куда пробрасываете. делайте обращение с клиента и смотрите что
> где будетНу в принципе так и делаю много всего проходит куча пользователей ломится, как только пытаюсь отсечь по Ip ничего. Я так понимаю Ip для интерфейсов прописываются в нутри операционной (грубо говоря "lo0"), а не на интерфейсе, и поскольку действие правил рассматривается как граница между внешним адресным пространствои и ОС, то пакеты направленные на IP адрес другого интерфейса (em0) до него не доходят, потому как достигают цели уже на своем интерфейсе (em4) а следовательно и не попадают в правило другого интерфейса (em0).
для этого необходимо
ipfw add 200 divert 8668 all from 192.168.208.0/22 to 89.109.236.21 in via em1
ipfw add 201 divert 8668 all from 172.16.10.0/24 to 89.109.236.21 in via em2
ipfw add 202 divert 8668 all from 192.168.3.0/24 to 89.109.236.21 in via em3
ipfw add 203 divert 8668 all from 192.168.220.0/24 to 89.109.236.21 via em4
ipfw add 204 divert 8668 all from 192.168.220.2 to 192.168.208.0/22,172.16.10.0/24,192.168.3.0/24,192.168.220.0/24 in via em4
>[оверквотинг удален]
>> на машину куда пробрасываете. делайте обращение с клиента и смотрите что
>> где будет
> Ну в принципе так и делаю много всего проходит куча пользователей ломится,
> как только пытаюсь отсечь по Ip ничего. Я так понимаю Ip
> для интерфейсов прописываются в нутри операционной (грубо говоря "lo0"), а не
> на интерфейсе, и поскольку действие правил рассматривается как граница между внешним
> адресным пространствои и ОС, то пакеты направленные на IP адрес другого
> интерфейса (em0) до него не доходят, потому как достигают цели уже
> на своем интерфейсе (em4) а следовательно и не попадают в правило
> другого интерфейса (em0).пакет адресованный em0, но пришедший через em4 вы на em0 не увидите попав в ядро он будет там и обработан, но и правила работают не в сетевой карте.
если вы не видите даже входящих на внутреннем интерфейсе, то сначала разберитесь куда они ушли.
так и быть завтро попробую
добавил вот такие два правила и на одном интерфейсе все зароботалоipfw add 200 divert 8668 all from 192.168.208.0/22 to 89.109.236.21 in via em1
ipfw add 201 divert 8668 all from 192.168.220.2 to 192.168.208.0/22 out via em1замечу что второе правило на em4 не работает как in!
ipfw add 201 divert 8668 all from 192.168.220.2 to 192.168.208.0/22 in via em4
> поправка! redirect_port работает но только из внешней сети. ну жно чтобы редиректил
> и из внутренней
> получается что обращение из локальной сети на 89.109.236.21 или диверт в локальную
> сеть неработает??? какиенибудь мануалы бы на эту тему...в конфиге или параметрах командной строки natd что?
> в конфиге или параметрах командной строки natd что?у меня написанно для командной строки, так же и в скрипте можно запускать если хочешь, но я что то не вижу разници, зависит от того как ты хочешь это использовать я думаю! В rc.d у меня тоже самое написанно и в конфигурации для ядерного nat теже самые циферки прописываю, можно еще эти параметры в *.conf прописать. если тебя синтаксис интересует то я думаю это так пишется:
rc.d:
natd_enable="YES"
natd_flags="-n em0 -f /etc/nat.conf"
(redirect_port 192.168.220.2:80 89.109.236.21:80 > /etc/nat.conf)или
natd_enable="YES"
natd_flags="-n em0 -redirect_port 192.168.220.2:80 89.109.236.21:80"
>[оверквотинг удален]
> у меня тоже самое написанно и в конфигурации для ядерного nat
> теже самые циферки прописываю, можно еще эти параметры в *.conf прописать.
> если тебя синтаксис интересует то я думаю это так пишется:
> rc.d:
> natd_enable="YES"
> natd_flags="-n em0 -f /etc/nat.conf"
> (redirect_port 192.168.220.2:80 89.109.236.21:80 > /etc/nat.conf)
> или
> natd_enable="YES"
> natd_flags="-n em0 -redirect_port 192.168.220.2:80 89.109.236.21:80"я не для себя спросил, сам уже не помню, когда последний раз natd запускал, с ipfw+natd перешел на ipfilter, потом вернулся на ipfw+kernel nat
> я не для себя спросил, сам уже не помню, когда последний раз
> natd запускал, с ipfw+natd перешел на ipfilter, потом вернулся на ipfw+kernel
> natтеперь тоже на ipfw+kernel nat
Для более удобной и быстрой настройки сети хотелосьбы не бегать по пользователям при введении новых, а также устранении некорректных настроек сети. Так вот отсюда вопрос: есть ли кроме DHCP возможность изменять удаленно настройки не только ip шлюз dns но и настройки прокси в браузерах и прочих приложениях? есть ли что либо подобное и как это называется?
на двух внешних интерфейсах 10.10.10.10 и 20.20.20.20 стоит NAT с редиректом портов на внутренний ip 192.168.10.3 когда захожу на первый внешний интерфейс редирект работает нормально когда захожу на второй ответы приходят через первыйipfw nat 123 config if em0 redirect_port tcp 192.168.10.3:80 10.10.10.10:80
ipfw nat 456 config if em1 redirect_port tcp 192.168.10.3:80 20.20.20.20:80ipfw add 2000 allow ip from 192.168.10.0/24 to any in
ipfw add 2001 allow ip from any to 192.168.10.0/24 outipfw add 64000 nat 123 ip from 192.168.10.0/24 to any out via em0
ipfw add 64001 allow ip from 10.10.10.10 to any out via em0
ipfw add 64002 nat 123 ip from any to 10.10.10.10 in via em0
ipfw add 64003 allow ip from any to 192.168.10.0/24 in via em0
ipfw add 64004 allow ip from any to 10.10.10.10 in via em0ipfw add 64010 nat 456 ip from 192.168.10.0/24 to any out via em1
ipfw add 64011 allow ip from 20.20.20.20 to any out via em1
ipfw add 64012 nat 456 ip from any to 20.20.20.20 in via em1
ipfw add 64013 allow ip from any to 192.168.10.0/24 in via em1
ipfw add 64014 allow ip from any to 20.20.20.20 in via em1я так понимаю что это происходит из за 64000 правила, как это обойти?
зделал через setfib defaultroute, но работает только на один порт.ipfw add 13 setfib 1 ip from 192.168.10.3 to any - для второго
ipfw add 19 setfib 0 ip from 192.168.10.3 to any - для первого
как сделать что бы ответы на пакеты идущие из второго порта попадали на setfib 1, а из первого на setfib 0