вот весь конфиг PF:ext_if_a = "em0"
int_if = "fxp0"
ext_gw_a = "87.224.151.1"
tcp_svc = "ssh smtp domain"
udp_svc = "domain"
tcp_rdr = "http 8085 3724 rdp"
host_rdr = "172.100.100.10"set loginterface em0
nat on $ext_if_a from $host_rdr -> $ext_if_a
rdr on $ext_if_a proto tcp from ($ext_if_a:network) to port { $tcp_rdr } -> $host_rdr
rdr on $ext_if_a proto tcp to port { $tcp_rdr } tag EXT_IF_A -> $host_rdr# WOW
table <kabinet_nets> { 87.224.128.0/17, 90.157.0.0/17, 195.58.26.6}
block in log on $ext_if_a proto tcp from any to any port 8085
block in log on $ext_if_a proto tcp from any to any port 3724
pass in log on $ext_if_a proto tcp from <kabinet_nets> to any port 8085
pass in log on $ext_if_a proto tcp from <kabinet_nets> to any port 3724На внутреннем серваке сеть 172.100.100.10, и есть еще одна сетевуха (обе встроеные, гигабитные) мать S5000PLS Intel (ОС Винда)
на винде:
одна сетевуха 192.168.250.10 шлюз на 192.168.250.1 (рутер 1 FreeBSD 6.1)
вторая 172.100.100.10 шлюз 172.100.100.1 (рутер 2 FreeBSD 6.1)
т.е. на винде два дефолтных шлюза, может в этом проблема, что падает периодически НАТ?на обоих рутерах все настроено для работы PF
все открыто, ничто ничего не запрещает.. но периодически пропадает работоспособность самого НАТа и редиректов, т.е. на рутер зайти можно, и с рутера видна внутренняя сеть и сервер и порты робят, а вот редирект перестает работать..
такое ощущение как буд-то что то на рутерах переполняется, заполняется, засоряется и все. т.е. PF типа не выдерживает. но зачем тогда ПФ если он не может работать.
появлялись watchdog time out или как там, сменили сетевухи на Intel пропали, больше не появляются. постоянно ядро кидает:
...
arplookup x.y.x.a failed: host is not on local network
arplookup x.y.a.a failed: host is not on local network
arplookup x.y.s.g failed: host is not on local network
arplookup x.y.d.f failed: host is not on local network
...видимо из-за редиректов.
подскажите куда копать в данной проблеме?
ЗЫ: проблема - отключается НАТ и редирект в PF периодически.
Когда зависает пишет:self tcp 172.100.100.10:80 <- 87.224.151.16:80 <- 87.224.180.36:3142 CLOSED:SYN_SENT
self tcp 172.100.100.10:80 <- 87.224.151.16:80 <- 87.224.180.36:3144 CLOSED:SYN_SENT
self tcp 172.100.100.10:80 <- 87.224.151.16:80 <- 87.224.211.36:2837 CLOSED:SYN_SENT
self tcp 172.100.100.10:80 <- 87.224.151.16:80 <- 87.224.211.36:2839 CLOSED:SYN_SENTа вот когда все в порядке:
self tcp 172.100.100.10:80 <- 87.224.151.16:80 <- 66.249.72.197:54076 FIN_WAIT_2:FIN_WAIT_2
self tcp 172.100.100.10:80 <- 87.224.151.16:80 <- 66.249.72.197:60000 FIN_WAIT_2:FIN_WAIT_2
self tcp 172.100.100.10:80 <- 87.224.151.16:80 <- 66.249.72.197:56422 FIN_WAIT_2:FIN_WAIT_2
может проблема не в рутере?? а в том как настроена Винда, из-за двух гетвеев на ней?Ethernet adapter Lan2(151.109):
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) PRO/1000 EB Network Connection with I/O Acceleration #2
IP Address. . . . . . . . . . . . : 172.100.100.10
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 172.100.100.1Ethernet adapter Lan1(151.16;Sky;Insis):
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) PRO/1000 EB Network Connection with I/O Acceleration
IP Address. . . . . . . . . . . . : 192.168.250.10
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.250.1
Отключин на внутреннем сервере вторую сетевуху, что бы был всего 1 гетвей - заработало. проблема с маршрутизацией.вопрос другой, как правильно настроить маршрутизацию так чтобы данные с одного канала 192.168.250.1 попадая на сетевую внутреннего сервера 192.168.250.10 уходили по этому же каналу
а данные с другого канала 172.100.100.1 попадая на сетевую внутреннего сервера 172.100.100.10 уходили по этому
на компе 2 встроеные сетевухи.
схема такая:
Сервер внутри (192.168.250.10, 172.100.100.10) выход на 2 рутера (2 компа с FreeBSD 6.1) - оба выходят в интернет по разным каналам
>Отключин на внутреннем сервере вторую сетевуху, что бы был всего 1 гетвей
>- заработало. проблема с маршрутизацией.
>
>вопрос другой, как правильно настроить маршрутизацию так чтобы данные с одного канала
>192.168.250.1 попадая на сетевую внутреннего сервера 192.168.250.10 уходили по этому же
>каналу
>
>а данные с другого канала 172.100.100.1 попадая на сетевую внутреннего сервера 172.100.100.10
>уходили по этому
>
man pf.confобратите внимание на
route-to
Сейчас правила такие:ext_if_a = "bfe0"
int_if = "re0"
ext_gw_a = "87.224.151.1"
tcp_svc = "ssh smtp domain"
udp_svc = "domain"
tcp_rdr = "http ftp rdp ircd mysqld 50000:50020 8021"
host_rdr = "192.168.250.10"scrub in
nat on $ext_if_a from 192.168.250.10 -> $ext_if_a
rdr pass on $ext_if_a proto tcp from 87.224.151.16 to port { $tcp_rdr } -> 192.168.250.10
rdr on $ext_if_a proto tcp to port { $tcp_rdr } tag EXT_IF_A -> 192.168.250.10# Защита от IP spoofing.
pass quick on { lo $int_if }
antispoof quick for { lo $int_if }# По умолчанию блокировать входящий трафик на внешних интерфейсах.
# Для TCP соединений возвращать RST.block in on { $ext_if_a }
block return-rst in on { $ext_if_a } proto tcp# Направить исходящие пакеты в канал, соответствующий адресу источника.
pass out route-to ($ext_if_a $ext_gw_a) from ($ext_if_a) to !(self:network) keep state
# Установить маршрут для ответа на входящие пакеты для переадресованных
# TCP сервисов.pass in reply-to ($ext_if_a $ext_gw_a) proto tcp flags S/SA tagged EXT_IF_A keep state
# Разрешить входящие ICMP ping пакеты, обслуживаемые UDP и TCP сервисы.
pass in on $ext_if_a reply-to ($ext_if_a $ext_gw_a) inet proto icmp icmp-type echoreq code 0 keep state
pass in on $ext_if_a inet proto icmp from ($ext_if_a:network) icmp-type echoreq code 0 keep state
pass in on $ext_if_a reply-to ($ext_if_a $ext_gw_a) proto udp to port { $udp_svc } keep state
pass in on $ext_if_a proto udp from ($ext_if_a:network) to port { $udp_svc } keep state
pass in on $ext_if_a reply-to ($ext_if_a $ext_gw_a) proto tcp to port { $tcp_svc } flags S/SA keep state
pass in on $ext_if_a proto tcp from ($ext_if_a:network) to port { $tcp_svc } flags S/SA keep stateнастройка сети на сервере в локалке такая:
Windows IP Configuration
Host Name . . . . . . . . . . . . : xeon
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : Yes
WINS Proxy Enabled. . . . . . . . : NoEthernet adapter Lan1(151.16;Sky;Insis):
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) PRO/1000 EB Network Connection with I/O Acceleration
Physical Address. . . . . . . . . : 00-15-17-0E-EB-46
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.250.10
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
DNS Servers . . . . . . . . . . . : 87.224.213.1Ethernet adapter Lan2(151.109):
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) PRO/1000 EB Network Connection with I/O Acceleration #2
Physical Address. . . . . . . . . : 00-15-17-0E-EB-47
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 172.100.100.10
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 172.100.100.1Таблица маршрутизации на винде:
IPv4 Route Table
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x80004 ...00 15 17 0e eb 47 ...... Intel(R) PRO/1000 EB Network Connection with I/O Acceleration #2
0x90003 ...00 15 17 0e eb 46 ...... Intel(R) PRO/1000 EB Network Connection with I/O Acceleration
===========================================================================
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 172.100.100.1 172.100.100.10 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
172.100.100.0 255.255.255.0 172.100.100.10 172.100.100.10 1
172.100.100.0 255.255.255.0 172.100.100.1 172.100.100.10 1
172.100.100.10 255.255.255.255 127.0.0.1 127.0.0.1 1
172.100.255.255 255.255.255.255 172.100.100.10 172.100.100.10 1
192.168.250.0 255.255.255.0 192.168.250.10 192.168.250.10 1
192.168.250.0 255.255.255.0 192.168.250.1 192.168.250.10 1
192.168.250.10 255.255.255.255 127.0.0.1 127.0.0.1 1
192.168.250.255 255.255.255.255 192.168.250.10 192.168.250.10 1
224.0.0.0 240.0.0.0 172.100.100.10 172.100.100.10 1
224.0.0.0 240.0.0.0 192.168.250.10 192.168.250.10 1
255.255.255.255 255.255.255.255 172.100.100.10 172.100.100.10 1
255.255.255.255 255.255.255.255 192.168.250.10 192.168.250.10 1
Default Gateway: 172.100.100.1
===========================================================================
Persistent Routes:
Network Address Netmask Gateway Address Metric
192.168.250.0 255.255.255.0 192.168.250.1 1
172.100.100.0 255.255.255.0 172.100.100.1 1причем, в таком случае роутов - маршрут идет все равно через дефолтный.
надо еще прописывать
маршрут до внешнего интервейса на рутере данной сети.
Цитата:
Persistent Routes:
Network Address Netmask Gateway Address Metric
192.168.250.0 255.255.255.0 192.168.250.1 1
172.100.100.0 255.255.255.0 172.100.100.1 1
87.224.151.R1 255.255.255.255 192.168.250.1 1
87.224.151.R2 255.255.255.255 172.100.100.1 1
пытаюсь зайти с работы:Код:
self tcp 192.168.250.10:80 <- 87.224.151.16:80 <- 82.193.139.2:2730 CLOSED:SYN_SENT82.193.139.2 - я
вобщем поднл RAS На винде. пока тестирую. вроде работает как надо