Jump to content

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


Recommended Posts

Всем привет! Есть сервак на 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


Link to post
Share on other sites

Стоит 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

 

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

Link to post
Share on other sites

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

 

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

Link to post
Share on other sites

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

 

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

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

ipfw add 3 allow all from any to any

 

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

ipfw 3 delete

Link to post
Share on other sites

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

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

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

Link to post
Share on other sites

самый простой способ поставить из портов rinetd. Конфигурация проще некуда.

самое оно, сам через него делал

Link to post
Share on other sites

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

 

Ставим

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 имеет глубокий смысл только тогда когда нужно "вжжжжжж" и унести процес в кернелспейс.

Link to post
Share on other sites
  • 2 weeks later...

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

Link to post
Share on other sites

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

rinetd !!!

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

Link to post
Share on other sites

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

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

 

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

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

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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...