Перекидывание портов FreeBSD 7.3 (NATd, Rinetd, IPFW)

Операционки на базе Unix
Ответить
Аватара пользователя
zaka
Эникейщик
Эникейщик
Сообщения: 461
Зарегистрирован: 19 май 2010, 08:52

Перекидывание портов FreeBSD 7.3 (NATd, Rinetd, IPFW)

Сообщение zaka » 05 мар 2011, 11:11

Перекидывание портов FreeBSD 7.3 (NATd, Rinetid, IPFW)
Есть IP: XXX.XXX.XXX.XX (Freebsd)
Надо сделать так чтобы фрюха автоматический перекидывала порты на локалку ну например на 192.168.0.16
Порты:
5100 видео наблюдение
4899 Radmin
3389 remont desktop

Решил проблему:
Скачиваем ПО Rinetd.tar.gz
Сылка:

Код: Выделить всё

lynx http://download.files.namba.kg/files/185254

скачать (D), сохранить на HDD
Распаковаем архив и ставим:

Код: Выделить всё

tar -vxf rinetd.tar.gz
cd rinetd
cat README (читаем)
su (ввести пароль рута по запросу)
make install && clean  (сатвим ПО)

Правим его конфиг, у меня примерно так выглядит:

Код: Выделить всё

ee /usr/local/etc/rinetd.conf
#IP_Wan port IP_Lan port
XXX.XXX.XXX.XX 3389 192.168.0.16 3389 #rabichi stol
XXX.XXX.XXX.XX 4899 192.168.0.16 4899 #radmin
XXX.XXX.XXX.XX 5100 192.168.0.16 5100 #DVR
Добавляем его в rc.conf и стартуем:

Код: Выделить всё

mc -e /etc/rc.conf
rinetd_enable="YES"
Запускаем ПО

Код: Выделить всё

/usr/local/etc/rc.d/rinetd start

или

Код: Выделить всё

shutdown -r now

Вот и все набираем ip шлюза (FreeBSD) из паутины mstsc XXX.XXX.XXX.XX и я попадаю на
LAN WinXP 192.168.0.16
Все супер!
Перенесен из форума http://disel.elcat.kg (Автор: zaka)
Последний раз редактировалось zaka 05 мар 2011, 12:01, всего редактировалось 2 раза.
Помни прошлое, живи настоящим и думай о будущем.
Изображение
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Re: Перекидывание портов FreeBSD 7.3

Сообщение Raven » 05 мар 2011, 11:41

А также такое возможно силами штатных средств FreeBSD:

NATd:
/etc/rc.conf

Код: Выделить всё

natd_enable="YES"
natd_flags="-f /etc/nard.conf"
/etc/natd.conf

Код: Выделить всё

#rl0 - "внешний" интерфейс сервера FreeBSD
interface rl0
same_ports
unregistered_only
redirect_port tcp 192.168.0.10:3389 3389
redirect_port tcp 192.168.0.11:3389 3390
правила для фаервола:
/

Код: Выделить всё

sbin/ipfw add allow tcp from any to 192.168.0.10 3389 via rl0
/sbin/ipfw add allow tcp from any to 192.168.0.11 3389 via rl0
pf:

Код: Выделить всё

#### VAR 
ext_if = "rl1" 
int_if = "rl0" 
lan_net = "192.168.1.0/24" 
server = "192.168.1.3" 
radmin = "{хх.ххх.ххх.ххх}" 

rdr on $ext_if proto tcp from $radmin to $ext_if port 1400-> $server port 4899 

#### ALLOW RADMIN 
   
pass in on $ext_if inet proto tcp from $radmin to $ext_if port 1400 
pass in on $ext_if inet proto tcp from $radmin to $server port 4899 
pass out on $int_if inet proto tcp from $radmin to $server port 4899
Я не злопамятный, я просто часто ковыряю логи
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Re: Перекидывание портов FreeBSD 7.3

Сообщение Raven » 05 мар 2011, 11:49

IPFW:
В ядро:

Код: Выделить всё

options IPFIREWALL
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_FORWARD
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=50
options IPFIREWALL_NAT
options LIBALIAS
В /etc/rc.conf добавляем

Код: Выделить всё

firewall_enable=«YES»
firewall_nat_enable=«YES»
firewall_type=»/etc/firewall»
gateway_enable=«YES»
В /etc/sysctl.conf добавить:

Код: Выделить всё

net.inet.ip.fw.one_pass=1
em0 – внешний интерфейс

Пример:

Код: Выделить всё

nat 1 config log if em0 reset same_ports deny_in \
redirect_port tcp 1.2.3.4:6881 6881 \
redirect_port udp 1.2.3.4:4444 4444 \
redirect_port tcp 192.168.1.24:25 25

add 10160 nat 1 ip from any to any via em0
Я не злопамятный, я просто часто ковыряю логи
Ответить

Вернуться в «Unix»