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

Исходное сообщение
"freebsd локальную машину не видно из интернета"

Отправлено morganx , 02-Сен-08 15:39 
проблема заключается в следующем
для выхода в интернет из локальной сети используется машина с фри бсд
на одну их локальных машин необходимо получить доступ из интернет по 213 порту.
используя ipfw
в ipf.rules
pass in quik on sis0 proto tcp from 85.12.20x.xxx to 192.168.0.5 port = 213  flafs S keep state keep frags

и в ipnat.rules
rdr sis0 85.12.20x.xxx port 213 -> 192.168.0.5 port 213 tcp

в итоге происходит доступ по 213 порту только в интернет. на машину в локалке доступа нет.

что может быть не так и как сутуацию можно исправить ?


Содержание

Сообщения в этом обсуждении
"freebsd локальную машину не видно из интернета"
Отправлено бусик , 02-Сен-08 16:46 
>[оверквотинг удален]
>pass in quik on sis0 proto tcp from 85.12.20x.xxx to 192.168.0.5 port
>= 213  flafs S keep state keep frags
>
>и в ipnat.rules
>rdr sis0 85.12.20x.xxx port 213 -> 192.168.0.5 port 213 tcp
>
>в итоге происходит доступ по 213 порту только в интернет. на машину
>в локалке доступа нет.
>
>что может быть не так и как сутуацию можно исправить ?

лично я пользуюсь для этих целей портом rinetd
весьма удобно и практично!


"freebsd локальную машину не видно из интернета"
Отправлено parad , 02-Сен-08 20:25 
Судя по правилам ты используешь не ipfw, а ipf. С этим фаерволлом не работал, но смысл ошибки ясен: когда пакет попадает в фаервол он перенаправляется правилом rdr, изменением в заголовке пакета адреса получателя. При обратной отправке в заголовке пишется отправитель 192.168.0.5. В итоге получается, что гостевая машина отправляет на 85.12.20x.xxx пакет с флагом SYN, а с SYN+ACK получает от 192.168.0.5, в итоге никто никого не понимает. В общем, нужно занатить локальный адрес, чтобы в пакете от 192..., проходя нат, менялся адрес отправителя.

"freebsd локальную машину не видно из интернета"
Отправлено morganx , 02-Сен-08 20:38 
вот сдесь вес ужас ситуации и проявляется в том что от гостевой машины т.е от 192.168.0.5 на 85.12.20x.xxx все приходит отлично.
а наоборот нет=(
утром попробую натом или rinetd...

"freebsd локальную машину не видно из интернета"
Отправлено parad , 02-Сен-08 20:55 
192.168.0.5 - это локальная, гостевая - это та, которая из инета пытается достучаться.

"freebsd локальную машину не видно из интернета"
Отправлено morganx , 02-Сен-08 20:56 
ок. понял. исправлюсь.

"freebsd локальную машину не видно из интернета"
Отправлено parad , 02-Сен-08 20:59 
А насчет rinetd - всегда шли на 3 буквы тех людей, которые принебригают встроенными возможностями ядра и предлагают левые решения в юзер-спейсе, - это всегда менее стабильно и медленее.

"freebsd локальную машину не видно из интернета"
Отправлено morganx , 02-Сен-08 21:06 
т.е мне нужно создать правило в нате разрешающее соединение на локальный адрес из внехи?
а если 192.168.0.5 пустить не через хаб+фаервол, а на вторую сетевую фаервола и сделать демилитаризованную зону типа 172.20.0.2,из нее не проще будет работать?

"freebsd локальную машину не видно из интернета"
Отправлено parad , 02-Сен-08 22:24 
не совсем: тебе необходимо сделать так, чтобы машиана 192.168.0.5 могла выходить в инет, через нат, маскируясь под 85.12.20x.xxx, потом на роутере редиректом перенаправить пакеты, приходящие из инета на 85.12.20x.xxx:213 на 192.168.0.5:213 и все.

для гостевой машины будет казаться, что она общается с 85.12.20x.xxx:213.
краем уха слышал что pf и ipf имеют в какой-то степени взаимозаменяемые правила, поэтому пример:
http://www.openbsd.org/faq/pf/rdr.html#rdrnat - тут наглядно продемонстрировано как это должно быть.


"freebsd локальную машину не видно из интернета"
Отправлено morganx , 03-Сен-08 08:52 
для ее маскировки сделал в ipnat
map sis0 192.168.0.5 -> 85.12.20x.xxx/32 portmap tcp/udp
rdr оставил прежним. сотрудничать отказываетсо

"freebsd локальную машину не видно из интернета"
Отправлено morganx , 03-Сен-08 15:49 
заработало
в ipf.rules добавил
pass in quik on sis0 proto tcp from any to 192.168.0.5 port = 213  flafs S keep state keep frags
pass in quik on sis0 proto tcp from 85.12.20x.xxx to 192.168.0.5 port = 213  flafs S keep state keep frags

и в ipnat.rules
rdr sis0 85.12.20x.xxx port 213 -> 192.168.0.5 port 213 tcp
мистика!


"freebsd локальную машину не видно из интернета"
Отправлено parad , 04-Сен-08 12:44 
без ната не должно было заработать! скорее всего ты из той-же сети что и внутренняя тачка проверял.

"freebsd локальную машину не видно из интернета"
Отправлено morganx , 04-Сен-08 13:02 
темные силы электричества. проверяли из другого города. связь с сервером была установлена и работа с б/д идет(пока) без ошибок.

"freebsd локальную машину не видно из интернета"
Отправлено blackjackchik , 05-Сен-08 10:08 
Почитайте внимательно вот эту статю http://freebsd.org.ua/doc/ru_RU.KOI8-R/books/handbook/networ..., там есть все что вам нужно. У меня так веб и почтовый сервера работают безотказно.