The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Проброс 22 порта через FreeBCD на Linux"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT)
Изначальное сообщение [ Отслеживать ]

"Проброс 22 порта через FreeBCD на Linux"  +/
Сообщение от dd654 (ok), 31-Янв-20, 10:28 
Добрый день, Уважаемые.
Есть локалка, огорожена забором на FreeBSD 12.1, внутри кроме стандартных MS компов, есть машинка на Линуксе, на которой MySQL база, с которой работают локальные граждане и которая вместе с компом на Линуксе не моя, а внешних подрядчиков. Черный ящик для меня, вообщем. Обычно подрядчики/программисты клиентскую часть обновляли, например, через ТимВьювер, на тестовом MS-компе, а потом я уже этого клиента разносил по локальным гражданам по MS-компам. А тут они попросили сделать им прямой доступ к их серваку на Линуксе, по 22 и 3306 портам. А проброс портов у меня работал, RDP, например, WWW. Щас сделаю, говорю, трубочку не кладите, проверим. Ага...
Не вышел каменный цветок у Данилы мастера. Коннекшен рефьюзед, однако.
Вообщем, раньше был у меня natD, а тут на "ядрЁный" нат решил перейти. И затык с пробросом портов через фрю на линух. На мs - проброс работает. Есть ещё ньюанс, отличия в работе натД и ядерного. Но это чуть позже.
Вообщем, Уважаемые, подскажите, в какую сторону копать, и хде сЦобакен порылся?

Конфиги:
FreeBCD_12.1 ядро собрано с опциями:

options        IPFIREWALL
options        IPFIREWALL_VERBOSE
options        IPFIREWALL_VERBOSE_LIMIT=10
options        IPDIVERT

#Просмотр и выполнение правил IPFW по порядку:
#sysctl net.inet.ip.fw.one_pass: 1


#IPFIREWALL
#Забор
oif="re0"
oip="X.X.X.X"
onet="X.X.X.X/29"

#Огород
iif="re1"
iip="192.168.16.3"
inet="192.168.16.0/24"

# определяем пакеты через NAT
${ipfw} add nat 1 all from "table(0)"  to any out via ${oif}
${ipfw} add nat 1 all from any to ${oip} in via ${oif}

# проброс портов
${ipfw} nat 1 config if ${oif} \
redirect_port tcp 192.168.16.1:22 22 \  -> попытка проброса порта на Linux - коннект рефьюзед
redirect_port tcp 192.168.16.1:3306 3306 \ -> попытка проброса порта на Linux - коннект рефьюзед
redirect_port tcp 192.168.16.33:3389 3389 \ -> коннектится влёт. RDP
redirect_port tcp 192.168.16.12:8888 8888    -> коннектится влёт. WWW

#Заворачиваем всё, что проходит через внешний интерфейс в нат
${ipfw} add nat 1 ip from any to any via ${oif}

# разрешаем входящие  TCP и UDP на те IP, которые имеют доступ в инет
#${ipfw} add allow udp from any to "table(0)" in via ${oif}
#${ipfw} add allow tcp from any to "table(0)" in via ${oif}

# разрешаем все установленные соединения
${ipfw} add allow tcp from any to any established

# разрешаем трафик внутренней сети на внутреннем ифейсе
${ipfw} add allow ip from ${inet} to any via ${iif}
${ipfw} add allow ip from any to ${inet} via ${iif}

# запрещаем всё остальное  и пишем в лог
${ipfw} add 65534 deny log all from any to any

И про ньюанс, в отличие работы натД от ядерного. Есть у меня пара правил по безопасности, например, это на натД отсекало все входящие и пробрасываемые соединения для всех, кроме доверенных айпи. Например, мой домашний внешний айпишник, или программиста 1С тоже домашний. Портов и айпи сюда добавить нужных без проблем:

# Входящие/проброс через калитку в заборе, только для себя, любимого, порт 22
${ipfw} add pass tcp from мой.домашний.айпи to ${oip} 22 in via ${oif}
${ipfw} add pass tcp from ${oip} 22 to мой.домашний.айпи out via ${oif}
#Common Rules for SSH
#${ipfw} add allow tcp from any to ${oip} 22 in via ${oif}
${ipfw} add allow log tcp from any to me 22

А ньюанс в том, что сейчас у меня на "ядрЁном" нате, это правило работает только для входящих на фрю, например, а пробрасываемые идут, увы, мимо - не фильтруются. Почему?
Вот и вопрос, куда копать, чтобы через фрю пробросить порты на линукс? - из локалки этот линукс 100% доступен по нужным портам, да и фильтровать по айпи пробрасываемые соединения хотелось бы.
Может, подскажет кто, в чем беда, почему каменный цветочек не выходит?


  

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Проброс 22 порта через FreeBCD на Linux"  +/
Сообщение от Аноним (1), 31-Янв-20, 10:52 
> Не вышел каменный цветок у Данилы мастера. Коннекшен рефьюзед, однако.
> redirect_port tcp 192.168.16.1:22 22 \  -> попытка проброса порта на Linux
> - коннект рефьюзед
> redirect_port tcp 192.168.16.1:3306 3306 \ -> попытка проброса порта на Linux -
> коннект рефьюзед
> redirect_port tcp 192.168.16.33:3389 3389 \ -> коннектится влёт. RDP
> redirect_port tcp 192.168.16.12:8888 8888    -> коннектится влёт. WWW

ssh с Фри на Линукс - работает или опять "Коннекшен рефьюзед"?

Ответить | Правка | Наверх | Cообщить модератору

2. "Проброс 22 порта через FreeBCD на Linux"  +/
Сообщение от Сергей (??), 31-Янв-20, 11:23 
>> Не вышел каменный цветок у Данилы мастера. Коннекшен рефьюзед, однако.
>> redirect_port tcp 192.168.16.1:22 22 \  -> попытка проброса порта на Linux
>> - коннект рефьюзед
>> redirect_port tcp 192.168.16.1:3306 3306 \ -> попытка проброса порта на Linux -
>> коннект рефьюзед

Дык наверное потому что там уже сидят слушатели... на фришке ssh точно слушает, ну и mysql наверное тоже есть, как часть почтовика к примеру... вы номера портов попробуйте поменять...

Ответить | Правка | Наверх | Cообщить модератору

3. "Проброс 22 порта через FreeBCD на Linux"  +/
Сообщение от Бывалый (?), 31-Янв-20, 12:51 
>>> Не вышел каменный цветок у Данилы мастера. Коннекшен рефьюзед, однако.
>>> redirect_port tcp 192.168.16.1:22 22 \  -> попытка проброса порта на Linux
>>> - коннект рефьюзед
>>> redirect_port tcp 192.168.16.1:3306 3306 \ -> попытка проброса порта на Linux -
>>> коннект рефьюзед
>  Дык наверное потому что там уже сидят слушатели... на фришке ssh
> точно слушает, ну и mysql наверное тоже есть, как часть почтовика
> к примеру... вы номера портов попробуйте поменять...

192.168.16.1:22 22

А какой ip у машины на linux? Ты неверный ip адрес ввел.
Как пример - посмотри у себя на проброс рдп и www.
Удачи!

Ответить | Правка | Наверх | Cообщить модератору

7. "Проброс 22 порта через FreeBCD на Linux"  +/
Сообщение от dd654 (ok), 31-Янв-20, 15:26 
>[оверквотинг удален]
>>>> - коннект рефьюзед
>>>> redirect_port tcp 192.168.16.1:3306 3306 \ -> попытка проброса порта на Linux -
>>>> коннект рефьюзед
>>  Дык наверное потому что там уже сидят слушатели... на фришке ssh
>> точно слушает, ну и mysql наверное тоже есть, как часть почтовика
>> к примеру... вы номера портов попробуйте поменять...
> 192.168.16.1:22 22
> А какой ip у машины на linux? Ты неверный ip адрес ввел.
> Как пример - посмотри у себя на проброс рдп и www.
> Удачи!

Не, айпишник линукса правильный - 192.168.16.1. А 192.168.16.33 это моя виндовская машина, пробросы на неё для проверки/примера привел.

Ответить | Правка | Наверх | Cообщить модератору

6. "Проброс 22 порта через FreeBCD на Linux"  +/
Сообщение от dd654 (ok), 31-Янв-20, 15:23 
>>> Не вышел каменный цветок у Данилы мастера. Коннекшен рефьюзед, однако.
>>> redirect_port tcp 192.168.16.1:22 22 \  -> попытка проброса порта на Linux
>>> - коннект рефьюзед
>>> redirect_port tcp 192.168.16.1:3306 3306 \ -> попытка проброса порта на Linux -
>>> коннект рефьюзед
>  Дык наверное потому что там уже сидят слушатели... на фришке ssh
> точно слушает, ну и mysql наверное тоже есть, как часть почтовика
> к примеру... вы номера портов попробуйте поменять...

На фре своей сразу, во время установки, 22 порт перебил на другой, что бы впредь неповадно другим любопытным было, итак, с середины декабря прошлого года уже страниц больше десятка таких любознательных айпишников в хост.дени накопилось. Могу этот список выложить, если интересно.
А скуль, вообще да, наверно клиенты на локальных компах слушают этот порт. Но ведь это не должно мешать приконнектится? Хотя, где я и где скуль... Не знаю, вообщем.


Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

5. "Проброс 22 порта через FreeBCD на Linux"  +/
Сообщение от dd654 (ok), 31-Янв-20, 15:16 
>> Не вышел каменный цветок у Данилы мастера. Коннекшен рефьюзед, однако.
>> redirect_port tcp 192.168.16.1:22 22 \  -> попытка проброса порта на Linux
>> - коннект рефьюзед
>> redirect_port tcp 192.168.16.1:3306 3306 \ -> попытка проброса порта на Linux -
>> коннект рефьюзед
>> redirect_port tcp 192.168.16.33:3389 3389 \ -> коннектится влёт. RDP
>> redirect_port tcp 192.168.16.12:8888 8888    -> коннектится влёт. WWW
> ssh с Фри на Линукс - работает или опять "Коннекшен рефьюзед"?

- да, работает. В МС выбираешь ssh, вводишь, например, user@192.168.16.1 ->есть коннект. Работает. Вообщем, из локалки линукс доступен 100%.


Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

4. "Проброс 22 порта через FreeBCD на Linux"  +/
Сообщение от Ann None (?), 31-Янв-20, 14:48 
ага. перенаправь 22й порт и отруби себе ноги. делай им снаружи нестандартные порты.
Ответить | Правка | Наверх | Cообщить модератору

8. "Проброс 22 порта через FreeBCD на Linux"  +/
Сообщение от dd654 (ok), 31-Янв-20, 15:33 
> ага. перенаправь 22й порт и отруби себе ноги. делай им снаружи нестандартные
> порты.

Не понял, Уважаемый. На фре своей я сразу 22 порт перебил на другой, чтоб враги не догадались /шучу/.
Так что ноги целы. Это на линуксе я не могу 22 порт поменять - правов не имею, это не мой мопед, а подрядчиков. Вот и думаю, почему? и как?

Ответить | Правка | Наверх | Cообщить модератору

10. "Проброс 22 порта через FreeBCD на Linux"  +1 +/
Сообщение от Сергей (??), 31-Янв-20, 16:30 
>> ага. перенаправь 22й порт и отруби себе ноги. делай им снаружи нестандартные
>> порты.
> Не понял, Уважаемый. На фре своей я сразу 22 порт перебил на
> другой, чтоб враги не догадались /шучу/.
> Так что ноги целы. Это на линуксе я не могу 22 порт
> поменять - правов не имею, это не мой мопед, а подрядчиков.
> Вот и думаю, почему? и как?

Да сделайте редирект с нестандартного порта на стандартный, а ребятишкам скажите по какому порту им лазать, и вообще, если уж у вас нет доступа на их сервак, находящийся в вашей локалке, что подразумевает, что они могут делать в вашей локалке все что душа их желает, то поднимите для них vpn, хотя бы на базе mpd...

Ответить | Правка | Наверх | Cообщить модератору

12. "Проброс 22 порта через FreeBCD на Linux"  +/
Сообщение от dd654 (ok), 31-Янв-20, 17:53 
>  Да сделайте редирект с нестандартного порта на стандартный, а ребятишкам скажите
> по какому порту им лазать,

- это как? в правиле редиректа указать порт от балды, например, 1234, и редиректнуть его на реальный 22?
А что, надо попробовать.

> и вообще, если уж у вас
> нет доступа на их сервак, находящийся в вашей локалке, что подразумевает,
> что они могут делать в вашей локалке все что душа их
> желает, то поднимите для них vpn, хотя бы на базе mpd...

- ставил себе лет несколько назад на 8_ой фре мпд. Вот и сейчас думаю тоже, а не поставить ли снова? Только вот тогда они точно всю мою локалку облазить смогут, при их желании, без проблем. Хотя, скрывать мне нечего,
и не думаю, что в той конторе программистов все сплошь хакеры и на моих компах будут биткойны майнить, или мне троянов сажать.
Не, я наверно опять на натД вернусь, контора небольшая, порнофильмов не смотрят, - хватит его по тырнету лазать. Если с ядрЁным не разберусь.


Ответить | Правка | Наверх | Cообщить модератору

13. "Проброс 22 порта через FreeBCD на Linux"  +/
Сообщение от Сергей (??), 31-Янв-20, 20:14 
>[оверквотинг удален]
>> и вообще, если уж у вас
>> нет доступа на их сервак, находящийся в вашей локалке, что подразумевает,
>> что они могут делать в вашей локалке все что душа их
>> желает, то поднимите для них vpn, хотя бы на базе mpd...
>  - ставил себе лет несколько назад на 8_ой фре мпд. Вот
> и сейчас думаю тоже, а не поставить ли снова? Только вот
> тогда они точно всю мою локалку облазить смогут, при их желании,
> без проблем. Хотя, скрывать мне нечего,
> и не думаю, что в той конторе программистов все сплошь хакеры и
> на моих компах будут биткойны майнить, или мне троянов сажать.

   а разве по ssh ничего на линукс нельзя закачать, чтобы потом с этим пойти по вашей сети...
   Можете выдать клиенту конкретный ip, и правилами файера разрешите доступ с этого ip только к линуксу, а в остальном с него и на него вигвам
> Не, я наверно опять на натД вернусь, контора небольшая, порнофильмов не смотрят,
> - хватит его по тырнету лазать. Если с ядрЁным не разберусь

  Можно подумать, что между ними есть большая разница


Ответить | Правка | Наверх | Cообщить модератору

16. "Проброс 22 порта через FreeBCD на Linux"  +/
Сообщение от Ann None (?), 31-Янв-20, 21:58 
>   Можно подумать, что между ними есть большая разница

Как раз между ними - очень большая разница. Natd юзерспейсный.
А вот из кернелспейсных есть еще ng_nat.

Ответить | Правка | Наверх | Cообщить модератору

17. "Проброс 22 порта через FreeBCD на Linux"  +/
Сообщение от Сергей (??), 01-Фев-20, 16:27 
>>   Можно подумать, что между ними есть большая разница
> Как раз между ними - очень большая разница. Natd юзерспейсный.
> А вот из кернелспейсных есть еще ng_nat.

  В смысле быстродействия, да большая, а в остальном...

Ответить | Правка | Наверх | Cообщить модератору

9. "Проброс 22 порта через FreeBCD на Linux"  +/
Сообщение от arachnidemail (ok), 31-Янв-20, 16:27 
а поделитесь выводом ipfw show и ipfw nat show config - а то бывает, что в файлах конфигурации мы пишем одно, а по выполнению оных - не совсем тот результат, который хотели
Ответить | Правка | Наверх | Cообщить модератору

11. "Проброс 22 порта через FreeBCD на Linux"  +/
Сообщение от dd654 (ok), 31-Янв-20, 17:19 
> а поделитесь выводом ipfw show и ipfw nat show config - а
> то бывает, что в файлах конфигурации мы пишем одно, а по
> выполнению оных - не совсем тот результат, который хотели

- выкладываю:
00100       0          0 check-state :default
00200      74       4818 allow ip from any to any via lo0
00300       0          0 deny ip from any to 127.0.0.0/8
00400       0          0 deny ip from 127.0.0.0/8 to any
00500       0          0 deny ip from any to 10.0.0.0/8 in via re0
00600       0          0 deny ip from any to 172.0.0.0/12 in via re0
00700       0          0 deny ip from any to 0.0.0.0/8 in via re0
00800       0          0 deny ip from any to 169.254.0.0/16 in via re0
00900       0          0 deny ip from any to 240.0.0.0/4 in via re0
01000       0          0 deny icmp from any to any frag
01100       0          0 deny icmp from any to 255.255.255.255 in via re0
01200       0          0 deny icmp from any to 255.255.255.255 out via re0
01300     185      13562 deny icmp from any to мой.рабочий.айпи in via re0 icmptypes 3,8,11
01400     514      89776 allow icmp from any to any via re0 icmptypes 0,3,4,8,11,12
01500     105      12383 allow tcp from мой.домашний.айпи to мой.рабочий.айпи 22,3306,50220 in via re0
01600      68      10774 allow tcp from мой.рабочий.айпи 22,3306,50220 to мой.домашний.айпи out via re0
01700    1607     163539 allow log logamount 10 tcp from any to me 50220
01800 2961369  624762819 nat 1 ip from table(0) to any out via re0
01900 5293166 6343203599 nat 1 ip from any to мой.рабочий.айпи in via re0
02000    4080     178341 nat 1 ip from any to any via re0
02100 7834456 6694529406 allow tcp from any to any established
02200  221318   19547809 allow ip from 192.168.16.0/24 to any via re1
02300  224048  257086506 allow ip from any to 192.168.16.0/24 via re1
65534     103      34364 deny log logamount 10 ip from any to any
65535       0          0 deny ip from any to any

где мой рабочий айпи, это айпи моей фри, забор то есть.

ipfw nat 1 config if re0 redirect_port tcp 192.168.16.33:8888 8888 -> имитатор WWW на моей MS-машине, вынь7.
redirect_port tcp 192.168.16.33:50389 50389 -> перебитый порт MS RDP, на моём компе.
redirect_port tcp 192.168.16.1:3306 3306 -> а это линукс, MySQL
redirect_port tcp 192.168.16.1:22 22  -> тоже линукс SSH

кстати, рекомендую правило:
01300     185      13562 deny icmp from any to мой.рабочий.айпи in via re0 icmptypes 3,8,11
01400     514      89776 allow icmp from any to any via re0 icmptypes 0,3,4,8,11,12
- это запрет на пинги себя, любимого, а самому пинговать разрешено.

/мда, выложил свой реальный рабочий айпи. Но хоть отредактировать успел. Дважды...

Ответить | Правка | Наверх | Cообщить модератору

14. "Проброс 22 порта через FreeBCD на Linux"  +/
Сообщение от DHCPep (?), 31-Янв-20, 21:19 
Может на линуксе самом блокируется?

1. Инет на линуксе есть? Шлюз по умолчанию на нём - это фря?

2.
01500     105      12383 allow tcp from мой.домашний.айпи to мой.рабочий.айпи 22,3306,50220 in via re0
01600      68      10774 allow tcp from мой.рабочий.айпи 22,3306,50220 to мой.домашний.айпи out via re0

Эти два правила разрешают пакеты, и получается что если ты стучишься извне на ssh порт, то эти правила отрабатывют и всё, до ната уже не доходит дело. Проверь?

3. tcpdump'ом погляди что происходит на фре когда долбишься извне на ssh.

Ответить | Правка | Наверх | Cообщить модератору

15. "Проброс 22 порта через FreeBCD на Linux"  +1 +/
Сообщение от dd654 (ok), 31-Янв-20, 21:47 

Шлюз по умолчанию на нём - это
> фря?

!!! - ТОЧНО !!!! - вот жеж я, блин,  совсем про это забыл! Я же сам микротик убрал, что до меня стоял, и вместо него фрю поставил, с заменой айпи и шлюза и днс. Привык, что остальным по днср раздается, а про линукс и не подумал, там наверняка статика прописана изначально, а клиенты по айпи к скульной базе цепляются, им шлюз и днс пофиг.
Точно, поэтому проброс и рефьюзит, потому как, ответ отправляется по айпи старого шлюза, а там нет ничего.
Точно! - Благодарствую, Уважаемый, многих Вам лет и доброй охоты!
Удачи Вам!


Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру