Проблемы установки, настройки и работы Правильной Операционной Системы
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
andy3000
- рядовой
- Сообщения: 12
- Зарегистрирован: 2007-03-13 13:16:26
- Откуда: Питер
Непрочитанное сообщение
andy3000 » 2007-03-23 18:14:52
вощем эпопея с редиректом портов продолжается, кучу манов перечитал, весь форум, делал как написано, сам принцип работы natd понимаю что к чему, ничего сложного....
Ну не хочет редирект портов делать и все тут. В чем затык не пойму.
OS FREEBSD 6.2
natd висит на внешнем интерфейсе rl0
rc.cofig:
Код: Выделить всё
gateway_enable="YES"
keymap="ru.koi8-r.shift"
natd_enable="YES"
natd_flags="-f /etc/natd.conf"
sshd_enable="YES"
firewall_enable="YES"
firewall_script="/script/rc.firewall"
inetd_enable="YES"
natd.conf
Код: Выделить всё
unregistered_only yes
use_sockets yes
deny_incoming no
same_ports yes
interface rl0
redirect_port tcp 192.168.0.10:25 25
rc.firewall:
Код: Выделить всё
${fwcmd} add divert natd all from any to any via rl0
${fwcmd} add allow all from any to any
natd стартует нормально. При попытке с удаленной машины зайти через telnet на 25 порт идет отлуп...
вообщем мозг ужо сломал
, все настройки снятся по ночам, проброс не выходит и все тут
andy3000
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
Dmitriy.A
- ст. сержант
- Сообщения: 383
- Зарегистрирован: 2006-12-15 17:09:14
- Откуда: Москва
Непрочитанное сообщение
Dmitriy.A » 2007-03-23 21:12:21
Забей на нат установи ballance
и прокидывай порты по человечески.
Dmitriy.A
-
Гость
- проходил мимо
Непрочитанное сообщение
Гость » 2007-03-23 22:01:04
Забей на нат установи ballance и прокидывай порты по человечески.
а что он умеет, дел в том что мне необходимо заменить комп с Иса 2004 на freebsd причем все опубликованные сервера с исы над перебросить на freebsd это ( виндовый VPN сервак расположенный внутри сети, почтарь...) главное вопрос с ВПН , сея прога кроме редиректа портов протокол 47 редиректит на внутреннюю машину?
Гость
-
abanamat
- сержант
- Сообщения: 255
- Зарегистрирован: 2007-03-15 11:24:26
- Откуда: Питер
-
Контактная информация:
Непрочитанное сообщение
abanamat » 2007-03-23 22:21:07
вот мой типовой клиентский фиревол. Внутре локалки обычно AD на win2003,
на нем exchange и vpn сервер. В данном случае 25 порт прокидывается программой
rinetd. Вот ее конфиг:
ну и собсна, фиревол:
cat firewall.conf
Код: Выделить всё
fwcmd="/sbin/ipfw -q"
ngcmd="/usr/sbin/ngctl"
ifin="xl1"
ipin="192.168.1.240"
ifout="xl0"
ipout="11.11.11.11"
w2kip="192.168.1.100"
cat firewall.sh
Код: Выделить всё
#!/usr/local/bin/bash
workdir=`dirname $0`; mainconf="$workdir/firewall.conf"
if [ ! -s "$mainconf" ]; then
echo "Ошибка: не могу найти конфигурационный файл!" && exit 1
fi
. ${mainconf}
#-------------------------------------------------- functions ------------------------------------
function load_ngnat {
#----------------------------# main nat #--------------------------------------#
${ngcmd} mkpeer ipfw: nat 60 out
${ngcmd} name ipfw:60 nat
${ngcmd} connect ipfw: nat: 61 in
${ngcmd} msg nat: setaliasaddr ${ipout}
#------------------------------------------------------------------------------#
}
function load_natd {
/sbin/natd -n ${ifout} \
-redirect_port tcp ${w2kip}:1723 ${ipout}:1723 \
-redirect_proto gre ${w2kip} ${ipout}
}
function load_tables {
for tubnum in 0 1 2 3; do ${fwcmd} table ${tubnum} flush; done
#---------------------------- RFC1918 nets ------------------------------------#
${fwcmd} table 0 add 10.0.0.0/8
${fwcmd} table 0 add 172.16.0.0/12
${fwcmd} table 0 add 192.168.0.0/16
${fwcmd} table 0 add 169.254.0.0/16
#----------------------------- customers --------------------------------------#
${fwcmd} table 1 add 192.168.1.0/24
#---------------------------- smtp ready --------------------------------------#
${fwcmd} table 2 add 192.168.1.100 # mail srv
${fwcmd} table 2 add 192.168.1.17 # buhgalter
#------------------------------------------------------------------------------#
${fwcmd} table 3 add 192.168.1.49
#------------------------------------------------------------------------------#
}
function load_shaper {
${fwcmd} -f pipe flush; ${fwcmd} -f queue flush
#---------------------------# set dummynet #-------------------------------------------------------
${fwcmd} pipe 1 config bw 768Kbit/s queue 10KBytes # tx pipe
${fwcmd} queue 1 config pipe 1 weight 50 queue 100KBytes gred 0.002/20/50/0.1 mask src-ip 0xffffffff # tx queue
${fwcmd} pipe 2 config bw 768Kbit/s queue 10KBytes # rx pipe
${fwcmd} queue 2 config pipe 2 weight 50 queue 100KBytes gred 0.002/20/50/0.1 mask dst-ip 0xffffffff # rx queue
${fwcmd} pipe 3 config bw 64Kbit/s queue 10KBytes # tx pipe
${fwcmd} queue 3 config pipe 3 weight 50 queue 180KBytes gred 0.002/20/90/0.1 mask src-ip 0xffffffff # tx queue
${fwcmd} pipe 4 config bw 64Kbit/s queue 10KBytes # rx pipe
${fwcmd} queue 4 config pipe 4 weight 50 queue 180KBytes gred 0.002/20/90/0.1 mask dst-ip 0xffffffff # rx queue
#---------------------------------------------------------------------------------------------------------
}
function load_firewall {
${fwcmd} flush; load_shaper; load_tables
#-------------------------------------------------- d e n y ---------------------------------------------
${fwcmd} add 1 reject icmp from any to any icmptypes 5,9,13,14,15,16,17 # deny bad icmp
${fwcmd} add 2 deny udp from any to any 137,138 in # deny bad udp
${fwcmd} add 3 reset tcp from any to me 139,445 in # deny bad tcp
${fwcmd} add 4 deny ip from any to 255.255.255.255 # deny broadcast
${fwcmd} add 5 reject ip from table\(0\) to any in via ${ifout} # reject RFC1918 nets
#-------------------------------------------------- m u s t ---------------------------------------------
${fwcmd} add 10 allow ip from any to any via lo0 # allow loopback
${fwcmd} add 12 allow ip from me to any # allow ip from me
${fwcmd} add 13 allow tcp from any to me 4446 in # allow ssh from any
#------------------------------------------------- inet to me ------------------------------------------
${fwcmd} add 20 allow tcp from any to ${ipout} 25 setup limit src-addr 8 # allow smtp
#----------------------------------------------- locnet to me -----------------------------------------
${fwcmd} add 30 allow ip4 from table\(1\) to me in via ${ifin} # local net to me
#------------------------------------------------- n a t d -----------------------------------------------
${fwcmd} add 31 divert 8668 tcp from not me to ${ipout} 1723 in via ${ifout} # tcp 1723 to me
${fwcmd} add 32 allow tcp from not me to ${w2kip} 1723 diverted # tcp 1723 to w2k
${fwcmd} add 33 divert 8668 tcp from ${w2kip} 1723 to not me in via ${ifin} # tcp 1723 from w2k
${fwcmd} add 34 divert 8668 gre from not me to ${ipout} in via ${ifout} # gre to me
${fwcmd} add 35 allow gre from not me to ${w2kip} # gre to w2k
${fwcmd} add 36 divert 8668 gre from ${w2kip} to not me in via ${ifin} # gre from w2k
#---------------------------------------------- before shaper ----------------------------------------
${fwcmd} add 43 netgraph 60 tcp from table\(1\) to any 5190 in via ${ifin} # local net to icq
${fwcmd} add 44 allow tcp from any 5190 to table\(1\) out # icq to local net come back
${fwcmd} add 45 netgraph 60 tcp from table\(2\) to not me 25 in via ${ifin} # local mailserver to any
${fwcmd} add 46 allow tcp from not me 25 to table\(2\) out # from any to local mailserver
#---------------------------------------------- shape services ---------------------------------------
${fwcmd} add 50 reset tcp from table\(3\) to not me 25 in via ${ifin} # reset smtp to inet
${fwcmd} add 51 queue 3 tcp from table\(1\) to not me 25 in via ${ifin} # shape smtp to inet
${fwcmd} add 52 queue 4 tcp from not me 25 to table\(1\) out # shape smtp to local net
#---------------------------------------------- shape localnet ---------------------------------------
${fwcmd} add 55 queue 1 ip4 from table\(1\) to not me in via ${ifin} # shape to inet
${fwcmd} add 56 queue 2 ip4 from not me to table\(1\) out # shape from inet
#----------------------------------------------- nat localnet ------------------------------------------
${fwcmd} add 60 netgraph 60 ip4 from table\(1\) to not me out # nat localnet to inet
${fwcmd} add 61 netgraph 61 ip4 from any to ${ipout} in via ${ifout} # nat inet to mainip
#---------------------------------------------------------------------------------------------------------
}
#--------------------------------------------------- w o r k --------------------------------------------
case "$*" in
all)
load_ngnat && load_firewall && load_natd
;;
fir)
load_firewall
;;
tbl)
load_tables
;;
ntd)
load_natd
;;
*)
cat << EOF
Использование: $0 (tbl|ntd|fir|all)
tbl -- Перезагрузка таблиц
ntd -- Запуск natd
fir -- Перезагрузка фаервола
all -- Использовать только при старте системы!
EOF
;;
esac
exit 0
Опции ядра такие:
Код: Выделить всё
options DEVICE_POLLING
options DUMMYNET
options HZ=1000
options IPDIVERT
options IPFIREWALL
options IPFIREWALL_FORWARD
options LIBALIAS
options NETGRAPH
options NETGRAPH_IPFW
options NETGRAPH_NAT
options NETGRAPH_NETFLOW
options NETGRAPH_ETHER
options NETGRAPH_SPLIT
options NETGRAPH_KSOCKET
options PANIC_REBOOT_WAIT_TIME=16
Вотъ..
P.S. как-то все расползлось... или это у меня во фре в опере?
abanamat
-
andy3000
- рядовой
- Сообщения: 12
- Зарегистрирован: 2007-03-13 13:16:26
- Откуда: Питер
Непрочитанное сообщение
andy3000 » 2007-03-23 23:04:27
по поводу rinetd я в курсе, прога настраивается проще некуда, сам пробывал 25 порт перекидывается без проблем.
Вопрос в natd, почему пакеты приходящие на внешний интерфейс не идут дальше в локальную сеть, по логике вещей все настроено верно пробывал даже с командной строки запускать NATD c необходимыми параметрами, все без проблем стартует, но опять же не помагает пакеты далее внешнего интерфейса не уходят. Причем в IPFW даю всего два самых простейших правила для проверки работоспособности редиректа:
Код: Выделить всё
${fwcmd} add divert natd all from any to any via rl0
${fwcmd} add allow all from any to any
причем при логировании первого правила в логе регистрируется следующее
Код: Выделить всё
Mar 23 13:13:02 inet kernel: ipfw: 100 Divert 8668 TCP 81.208.14.250:54426 83.52.96.182:25 in via rl0
и все, тоесть как я понимаю на внешний интерфейс с удаленной машины на нужный порт все приходит , а вот потом тишина...
andy3000
-
Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2007-03-23 23:33:17
не учите людей плохому, и переучивайтесь сами.
скрипты пишутся ТОЛЬКО на шелле.
иначе будут грабли в сопровождении, и проблемы при передаче.
======
когда огребёте в наследство жутко ответственный сервак с кучей скриптов на какомнить редком шелле - поймёте
Убей их всех! Бог потом рассортирует...
Alex Keda
-
abanamat
- сержант
- Сообщения: 255
- Зарегистрирован: 2007-03-15 11:24:26
- Откуда: Питер
-
Контактная информация:
Непрочитанное сообщение
abanamat » 2007-03-23 23:38:40
lissyara писал(а):
не учите людей плохому, и переучивайтесь сами.
скрипты пишутся ТОЛЬКО на шелле.
иначе будут грабли в сопровождении, и проблемы при передаче.
======
когда огребёте в наследство жутко ответственный сервак с кучей скриптов на какомнить редком шелле - поймёте
? не согласен. какая разница на чем писать. хоть на перле.
мне нравиццо на баше. Ну вот нравится и все тут. Кроме того, я в нем сижу. И мне нравится, когда крон отрабатывает скрипт так же, как он отрабатывается когда я его ручками запускаю.
Грабли в сопровождении - это что такое?
Проблемы при передаче? Передаче чего? И кому? Сервака другому админу?
Серавно другой админ все сломает и сделает по-своему.
когда огребёте в наследство жутко ответственный сервак с кучей скриптов на какомнить редком шелле - поймёте
[классический секс] и не раз. Последний раз был перл. Сплошняком. Все сломал и переделал на баше.
ПыСы: попахивает религией.
abanamat
-
Гость
- проходил мимо
Непрочитанное сообщение
Гость » 2007-03-24 10:00:57
natd -d?
этот параметр прописал в конфиге natd.conf не помогает, такое впечатление, что что-то лочит дальнейшее прохождение пакетов...
Гость
-
Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2007-03-24 10:09:11
всё ломать и переделывать - дикость.
надо делать так, чтобы не приходилось ломать.
Ибо делать только под себя - эгоизм. Дома, можно делать на чём хошь а вот на работе - нет.
============
случай из жизни знакомого - крупная контора, на серверах есть список установленного софта.
Скрипты пишутся только на шелле. Такова внутренняя политика. Ничего иного - нету. Есть на линуксах баш, но внутренним распорядком его запрещено использовать, лишь как симлинк на шелл.
===============
из моей жизни - было приятно, когда все мои скрипты завелись на линухе.
===============
сам думай. И - это не религия...
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Гость
- проходил мимо
Непрочитанное сообщение
Гость » 2007-03-24 13:02:50
Редирект портов через natd - достаточно беспроблемная вещь. Просто надо помнить что пакету придется вернуться обратно
Хост, на который производится редирект, должен иметь доступ в интернет, причем через этот же сервер и этот же интерфейс (это если простым языком).
Проще всего посмотреть tcpdump-ом на внутреннем интерфейсе.
А вот так, кстати, я пробрасываю pptp vpn:
redirect_port tcp 192.168.200.1:pptp pptp
redirect_proto gre 192.168.200.1
Гость
-
alex3
- лейтенант
- Сообщения: 872
- Зарегистрирован: 2006-11-20 16:47:56
- Откуда: Переславль
-
Контактная информация:
Непрочитанное сообщение
alex3 » 2007-03-24 19:31:40
ух ты, а я и не знал, что можно гре пробрасывать... в манах токо тисипи и удипи.
Если ipfw можно считать речью обычного человека, то pf - речь политика. За каждой ошибкой -ядерный песец.
alex3
-
dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
-
Контактная информация:
Непрочитанное сообщение
dikens3 » 2007-03-26 10:47:38
andy3000 писал(а):по поводу rinetd я в курсе, прога настраивается проще некуда, сам пробывал 25 порт перекидывается без проблем.
Вопрос в natd, почему пакеты приходящие на внешний интерфейс не идут дальше в локальную сеть, по логике вещей все настроено верно пробывал даже с командной строки запускать NATD c необходимыми параметрами, все без проблем стартует, но опять же не помагает пакеты далее внешнего интерфейса не уходят. Причем в IPFW даю всего два самых простейших правила для проверки работоспособности редиректа:
Код: Выделить всё
${fwcmd} add divert natd all from any to any via rl0
${fwcmd} add allow all from any to any
причем при логировании первого правила в логе регистрируется следующее
Код: Выделить всё
Mar 23 13:13:02 inet kernel: ipfw: 100 Divert 8668 TCP 81.208.14.250:54426 83.52.96.182:25 in via rl0
и все, тоесть как я понимаю на внешний интерфейс с удаленной машины на нужный порт все приходит , а вот потом тишина...
Я так понял с правилами всё allow.
1. Тогда Default'овый шлюз прописан на компе с почтовым сервером?
2. tcdump -n -i
внутренний интерфейс host 81.208.14.250
И посмотреть, принимаются/отправляются пакеты через Внутр. интерфейс?
3. Что в логах почтовика? Может он сам всех отсылает за хлебом?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
dikens3
-
dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
-
Контактная информация:
Непрочитанное сообщение
dikens3 » 2007-03-27 13:57:55
andy3000 писал(а):пасиб всем огромное, вопрос решился
Чем вылечил? Рассказывай.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
dikens3
-
andy3000
- рядовой
- Сообщения: 12
- Зарегистрирован: 2007-03-13 13:16:26
- Откуда: Питер
Непрочитанное сообщение
andy3000 » 2007-03-27 20:16:27
обычная невнимательность, присем при том, что имею два канала интернет просто забыл в настройках TCP/IP сервера, на который пробрасывал порт поменять шлюз, как только прописал новый все зашуршало, еще раз спасибо за дельные советы: dikens3 и Гость
andy3000