The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"PF фаервол"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на сервере (Public)
Изначальное сообщение [ Отслеживать ]

"PF фаервол"  +/
Сообщение от cart3r (ok) on 13-Янв-10, 16:24 
Здравствуйте. Помогите пробросить пор в PF. Стоит freebsd 7.2 настроен PF. Хочю пробросить порт на почтовый сервер который находится в сети за PF -ом.
Пробовал таким способом:
rdr on $ext_if proto tcp from any to $external_addr/32 port 25 -> 10.10.0.211 port 25
не получается, И таким способом:
nat on $ext_if proto tcp from any to $int_if port 25 -> 10.10.0.211 port 25 тоже не получается.

Вот конфиг:

#<----->$FreeBSD: src/etc/pf.conf,v 1.2.2.1 2006/04/04 20:31:20 mlaier Exp $
#<----->$OpenBSD: pf.conf,v 1.21 2003/09/02 20:38:44 david Exp $
#
# See pf.conf(5) and /usr/share/examples/pf for syntax and examples.
# Required order: options, normalization, queueing, translation, filtering.
# Macros and tables may be defined and used anywhere.
# Note that translation rules are first match while filter rules are last match.

# Macros: define common values, so they can be referenced and changed easily.
ext_if="rl0"<--># replace with actual external interface name i.e., dc0
int_if="re0"<--># replace with actual internal interface name i.e., dc1
internal_net="10.10.0.1/24"
external_addr="109.86.3.1"
proxy_if="re0"
proxy_port="3128"
https="443"

#servers
mypc="10.10.0.5"
ftpserver="10.10.0.2"
mail="10.10.0.3"
sidserver="10.10.0.4"

# Tables: similar to macros, but more flexible for many addresses.

table <servers> const { $mail }
table <ftpusers> const { $mail, $mypc }

#table <foo> { 10.0.0.0/8, !10.1.0.0/16, 192.168.0.0/24, 192.168.1.18 }
table <sshguard> persist
#table <ua-ix> persist file "/etc/ua-networks.txt"

# Options: tune the behavior of pf, default values are given.
set timeout { interval 10, frag 30 }
set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 }
set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 }
set timeout { udp.first 60, udp.single 30, udp.multiple 60 }
set timeout { icmp.first 20, icmp.error 10 }
set timeout { other.first 60, other.single 30, other.multiple 60 }
set timeout { adaptive.start 0, adaptive.end 0 }
set limit { states 10000, frags 5000 }
set loginterface $ext_if
set optimization normal
set block-policy drop
set require-order yes
set fingerprints "/etc/pf.os"

# Normalization: reassemble fragments and resolve or reduce traffic ambiguities.
scrub in all

# Queueing: rule-based bandwidth control.
#altq on $ext_if bandwidth 2Mb cbq queue { dflt, developers, marketing }
#queue dflt bandwidth 5% cbq(default)
#queue developers bandwidth 80%
#queue marketing  bandwidth 15%

# Translation: specify how addresses are to be mapped or redirected.
# nat: packets going out through $ext_if with source address $internal_net will
# get translated as coming from the address of $ext_if, a state is created for
# such packets, and incoming packets will be redirected to the internal address.
# NAT всех разрешенных портов, кроме www
nat on $ext_if from $int_if:network to any port { ntp, nntp, domain } -> $ext_if
# www завернем на прокси
rdr on $int_if proto tcp from $int_if:network to any port $https -> $proxy_if port $proxy_port
rdr on $int_if proto tcp from $int_if:network to any port www -> $proxy_if port $proxy_port
# пробросим порт RDP внутрь нашей сети, на комп WinPeak (комп менеджера)
rdr on $ext_if proto tcp from any to $ext_if port rdp -> $mypc port rdp

##nat on $ext_if from $internal_net to any -> ($ext_if)
#nat on $ext_if proto tcp from any to $int_if port 12345 -> 10.10.0.108
#nat on $ext_if proto udp from any to $int_if port 12345 -> 10.10.0.108
nat on $ext_if proto tcp from any to $int_if port 25 -> 10.10.0.3 port 25

#rdr on $ext_if proto tcp from any to $external_addr/32 port 4661 -> 10.0.0.55 port 4661
#rdr on $ext_if proto udp from any to $external_addr/32 port 4671 -> 10.0.0.55 port 4671
rdr on $ext_if proto tcp from any to $external_addr/32 port 38613 -> 10.10.0.5 port 38613
rdr on $ext_if proto tcp from any to $external_addr/32 port 25 -> 10.10.0.3 port 25

nat-anchor "ftp-proxy/*"
rdr-anchor "ftp-proxy/*"
rdr on $int_if proto tcp from any to !(self) port ftp -> 127.0.0.1 port 8021
anchor "ftp-proxy/*"

# rdr: packets coming in on $ext_if with destination $external_addr:1234 will
# be redirected to 10.1.1.1:5678. A state is created for such packets, and
# outgoing packets will be translated as coming from the external address.
#rdr on $ext_if proto tcp from any to $external_addr/32 port 8021 -> 192.168.1.2 port 21

# rdr outgoing FTP requests to the ftp-proxy
#rdr on $int_if proto tcp from any to any port ftp -> 127.0.0.1 port 8021

# spamd-setup puts addresses to be redirected into table <spamd>.
#table <spamd> persist
#no rdr on { lo0, lo1 } from any to any
#rdr inet proto tcp from <spamd> to any port smtp -> 127.0.0.1 port 8025
#rdr on $ext_if proto tcp from any to $external_addr/32 port 8021 -> 192.168.1.2 port 21

# Filtering: the implicit first two rules are
pass in all
pass out all

###.
block in  quick on $ext_if inet from {127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8, 169.254.0.0/16, 240.0.0.0/4 255.255.255.255} to any
block out quick on $ext_if inet from any to {127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8, 169.254.0.0/16, 240.0.0.0/4 255.255.255.255}

block in quick on $ext_if proto tcp from <sshguard> to any port 22 label "ssh bruteforce"
#pass in quick on $ext_if proto tcp from <ua-ix> to any port 21 label "ua-ix"

#pass in quick on $ext_if proto tcp from <ua-ix> to $external_addr/32 port {22, 389, 2628}
#pass in quick on $ext_if proto udp from <ua-ix> to $external_addr/32 port {22, 389, 2628}
#block in quick on $ext_if proto tcp from any to $external_addr/32 port {22, 67, 68, 135, 136, 137, 138, 139, 389, 445, 901, 1434, 2049, 2628, 3306, 5999}
#block in quick on $ext_if proto udp from any to $external_addr/32 port {22, 67, 68, 135, 136, 137, 138, 139, 389, 445, 901, 1434, 2049, 2628, 3306, 5999}

# block all incoming packets but allow ssh, pass all outgoing tcp and udp
# connections and keep state, logging blocked packets.
#block in log all
#pass  in  on $ext_if proto tcp from any to $ext_if port 22 keep state
#pass  out on $ext_if proto { tcp, udp } all keep state
# pass incoming packets destined to the addresses given in table <foo>.
#pass in on $ext_if proto { tcp, udp } from any to <foo> port 80 keep state

# pass incoming ports for ftp-proxy
#pass in on $ext_if inet proto tcp from any to $ext_if port > 49151 keep state
#pass in on $ext_if inet proto tcp from any to $ext_if port > 3128 keep state

# Alternate rule to pass incoming ports for ftp-proxy
# NOTE: Please see pf.conf(5) BUGS section before using user/group rules.
#pass in on $ext_if inet proto tcp from any to $ext_if user proxy keep state

# assign packets to a queue.
#pass out on $ext_if from 192.168.0.0/24 to any keep state queue developers
#pass out on $ext_if from 192.168.1.0/24 to any keep state queue marketing

## Разрешаем доверенным хостам соединяться с www серверами в обход прокси
#pass in on $int_if inet proto tcp from <servers> to any port www keep state

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

  • PF фаервол, de_mone, 18:14 , 13-Янв-10, (1)  
    • PF фаервол, cart3r, 18:38 , 14-Янв-10, (2)  
      • PF фаервол, genok, 16:55 , 22-Янв-10, (3)  
        • PF фаервол, aler, 08:23 , 27-Янв-10, (4)  

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


1. "PF фаервол"  +/
Сообщение от de_mone (??) on 13-Янв-10, 18:14 
>Здравствуйте. Помогите пробросить пор в PF. Стоит freebsd 7.2 настроен PF. Хочю
>пробросить порт на почтовый сервер который находится в сети за PF
>-ом.
>Пробовал таким способом:
>rdr on $ext_if proto tcp from any to $external_addr/32 port 25 -> 10.10.0.211 port 25
>не получается, И таким способом:
>nat on $ext_if proto tcp from any to $int_if port 25 -> 10.10.0.211 port 25 тоже не получается.
>

rdr on $ext_if proto { tcp, udp } from any to $external_addr port 80 -> 10.10.0.211 port 25
nat on $ext_if proto { tcp, udp } from 10.10.0.211 to any -> $external_addr

Первое правило - внутрь, второе обратно (NAT).И нужны они ОБА ;)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "PF фаервол"  +/
Сообщение от cart3r (ok) on 14-Янв-10, 18:38 
>[оверквотинг удален]
>>Пробовал таким способом:
>>rdr on $ext_if proto tcp from any to $external_addr/32 port 25 -> 10.10.0.211 port 25
>>не получается, И таким способом:
>>nat on $ext_if proto tcp from any to $int_if port 25 -> 10.10.0.211 port 25 тоже не получается.
>>
>
>rdr on $ext_if proto { tcp, udp } from any to $external_addr port 80 -> 10.10.0.211 port 25
>nat on $ext_if proto { tcp, udp } from 10.10.0.211 to any -> $external_addr
>
>Первое правило - внутрь, второе обратно (NAT).И нужны они ОБА ;)

Пробовал пропросить порт радмина (4899) не получилось.
Делал как написано
rdr on $ext_if proto { tcp, udp } from any to $external_addr port 4899 -> 10.10.0.211 port 4899
nat on $ext_if proto { tcp, udp } from 10.10.0.211 to any -> $external_addr

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "PF фаервол"  +/
Сообщение от genok on 22-Янв-10, 16:55 
>[оверквотинг удален]
>>
>>rdr on $ext_if proto { tcp, udp } from any to $external_addr port 80 -> 10.10.0.211 port 25
>>nat on $ext_if proto { tcp, udp } from 10.10.0.211 to any -> $external_addr
>>
>>Первое правило - внутрь, второе обратно (NAT).И нужны они ОБА ;)
>
>Пробовал пропросить порт радмина (4899) не получилось.
>Делал как написано
>rdr on $ext_if proto { tcp, udp } from any to $external_addr port 4899 -> 10.10.0.211 port 4899
>nat on $ext_if proto { tcp, udp } from 10.10.0.211 to any -> $external_addr

rdr pass on $ext_if inet proto tcp from any to port 4899 -> 10.10.0.211 port 4899

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "PF фаервол"  +/
Сообщение от aler (ok) on 27-Янв-10, 08:23 
шлюзом у 10.10.0.211 должен этот комп с pf
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

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

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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