Перейти до

Проброс портов из интернета в локалку (FreeBSD)


Рекомендованные сообщения

Всем привет! Есть сервак на FreeBSD 8.2. Настроен ipfw. Хочу с внещнего IP заходить в локалку 172.16.Х.Х конкретно на устройства Ubiquiti и Mikrotik. Подскажите как настроить, проброс портов не делал ни разу, и боюсь положить сервак, далеко ехать потом восстанавливать настройки.

 

/etc/rc.conf

 

gateway_enable="YES"
keymap="ru.koi8-r"
sshd_enable="YES"
ifconfig_rl0="inet 172.16.1.1 netmask 255.255.255.0"
ifconfig_rl1="DHCP"
mpd_enable="YES"
mysql_enable="YES"
apache22_enable="YES"
hostname="server.billing"
firewall_enable="YES"
pf_enable="YES"
ipcad_enable="YES"
ipguard_enable="YES"
ipguard_interface="rl0"
ipguard_flags="-u 300 -zx -f /usr/local/nodeny/mac.conf"
dhcpd_enable="YES"
dhcpd_conf="/usr/local/etc/dhcpd.conf"
dhcpd_ifaces="rl0"
named_enable="YES"
webmin_enable="YES"

 

 

ipfw show

00050 5908 567389 allow tcp from any to me dst-port 22
00051 4959 1075544 allow tcp from me 22 to any
00100 23 1156 deny tcp from any to any dst-port 445
00110 71204 4627906 allow ip from any to any via lo0
00120 702 274941 skipto 1000 ip from me to any
00130 0 0 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
00140 0 0 deny ip from any to table(120)
00150 0 0 deny ip from table(120) to any
00160 680 188712 skipto 2000 ip from any to me
00200 0 0 skipto 500 ip from any to any via ng0
00211 0 0 fwd 127.0.0.1,81 tcp from table(35) to not me dst-port 80
00212 0 0 fwd 127.0.0.1,8080 tcp from not table(0) to not me dst-port 80
00300 68419 5874272 skipto 4500 ip from any to any in
00400 0 0 skipto 450 ip from any to any recv ng0
00420 0 0 divert 1 ip from any to any
00450 0 0 divert 2 ip from any to any
00490 0 0 allow ip from any to any
00500 0 0 skipto 32500 ip from any to any in
00510 0 0 divert 1 ip from any to any
00540 0 0 allow ip from any to any
01000 0 0 allow udp from any 53,7723 to any
01010 0 0 allow tcp from any to any setup keep-state
01020 752 180862 allow udp from any to any keep-state
01100 321 246094 allow ip from any to any
02000 0 0 check-state
02010 5 324 allow icmp from any to any
02020 266 33177 allow tcp from any to any dst-port 80,443
02050 33 2806 deny ip from any to any via ng0
02060 0 0 allow udp from any to any dst-port 53,7723
02100 5 390 deny ip from any to any
05000 68389 5871914 deny ip from not table(0) to any
05001 0 0 skipto 5010 ip from table(127) to table(126)
05002 0 0 skipto 5030 ip from any to not table(2)
05003 0 0 deny ip from any to not table(1)
05004 0 0 pipe tablearg ip from table(21) to any
05005 0 0 deny ip from any to any
05010 0 0 pipe tablearg ip from table(127) to any
05030 0 0 deny tcp from table(15) to any dst-port 25
05400 0 0 pipe tablearg ip from table(11) to any
32000 0 0 deny ip from any to any
32490 14 1385 deny ip from any to any
33000 0 0 pipe tablearg ip from table(126) to table(127)
33001 0 0 skipto 33010 ip from not table(2) to any
33002 0 0 pipe tablearg ip from any to table(20)
33003 0 0 deny ip from any to any
33400 0 0 pipe tablearg ip from any to table(10)
65535 0 0 deny ip from any to any


Ссылка на сообщение
Поделиться на других сайтах

Стоит PF

Сделал так:

rdr on ng0 proto tcp from any to 100.100.100.100 port 80 -> 172.16.1.2 port 80

 

где:

ng0 - интерфейс РРРоЕ на котором внешний, постоянный IP

100.100.100.100 - внешний, постоянный IP

172.16.1.2 - адрес Nanostation

 

не работает.....

Ссылка на сообщение
Поделиться на других сайтах

Если подключаешься через PPPoE - возможно и не будет работать. Тоесть проброс портов будет работать, но к Ubiquiti не сможешь подключиться. PPPoE дописывает свои заголовки, и иногда возникает проблема, когда стороны не могут согласовать размер mss. У меня такое бывало при подключении через PPTP. Не получалось подключиться к некоторым железякам, где "корявый" веб-сервер.

 

С помощью tcpdump смотри, отрабатывается ли проброс портов, или нет.

Ссылка на сообщение
Поделиться на других сайтах

Пробовал только что через VPN подключиться к Nanostation - подключается без проблем.

 

Кста... возможно проблема в файрволе. Просматривать все правила как-то неохота.

Попробуй на время теста установить такое правило.

ipfw add 3 allow all from any to any

 

После проверки уберешь:

ipfw 3 delete

Ссылка на сообщение
Поделиться на других сайтах

Да загвоздка в фаерволе. Правило

 ${f} add 39 allow ip from any to any

пропустило на UBNT. Подскажите в какое место и какое правило добавить? И еще, как сделать чтобы не на каждый адрес давать разрешение, а на всю подсеть например? Или это небезопасно?

Ссылка на сообщение
Поделиться на других сайтах

Как блин все сложно у вас :)

 

Ставим

cd /usr/ports/net/portfwd && make install

 

Строим

#cat /usr/local/etc/portfwd.cfg
tcp {
9090 {=> вашаубикютя:80}
}

 

Пускаем

portfwd -c /usr/local/etc/portfwd.cfg

 

ЗЫ Бросаться портами через ipfw/ipfw nat имеет глубокий смысл только тогда когда нужно "вжжжжжж" и унести процес в кернелспейс.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...

В общем то понял что все это гемор! Уже 19 устройств в сети к которым периодически нужен доступ и с пробросом тут не справится. Какой есть выход из ситуации? Слышал что можно включить функцию vlan и настроить vlan на серваке. Что и где почитать об этом и как настроить?

Ссылка на сообщение
Поделиться на других сайтах

В общем то понял что все это гемор! Уже 19 устройств в сети к которым периодически нужен доступ и с пробросом тут не справится. Какой есть выход из ситуации? Слышал что можно включить функцию vlan и настроить vlan на серваке. Что и где почитать об этом и как настроить?

rinetd !!!

ставится из портов.

Ссылка на сообщение
Поделиться на других сайтах

Подыми у себя VPN-сервер на маршрутизаторе. Если нужен доступ к устройству внутри сети, то подключаешься по ВПН-у и видишь всю сеть...

Статья по настройке ВПН-сервера на маршрутизаторе под управлением FreeBSD.

 

По поводу VLAN - даже и не знаю, каким боком "прицепить" их к пробросу портов:

Описание основ работы VLAN, принципы построения сетей с использованием VLAN.

Описание реализации VLAN на FreeBSD.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...