URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 63925
[ Назад ]

Исходное сообщение
"FreeBSD6.0 _ ipfw + vpn"

Отправлено Artful , 06-Фев-06 13:25 
Имеем:
Сервер на FreeBSD 6.0 + ipfw
на нем стоит два интерфейса xl0-192.168.10.200/24 - Локалка
и rl0 - 195.131.22.33/24 - смотрит в интернет
Шлюз 195.131.22.1

Что необходимо:
Клиент в локальной сети создает VPN соединение с определенным узлом.
При этом соединение происходит, идет проверка логина и пароля и на этом моменте все долго думает и вываливает ошибку 619: "Не удается подключиться к удаленному компьютеру, поэтому порт подключения закрыт."

Если запрещаю доступ данному клиенту в интернет то в файле
/var/log/security
пишется вот такая запись
Feb  6 13:07:20 server kernel: ipfw: 9600 Deny TCP 192.168.10.1:4882 83.102.227.32:1723 in via xl0
при этом до проверки логина и пароля не доходит.
Если включаю инет
(add allow tcp from 192.168.10.1 to any setup keep-state)
то в логах ничего не пишется и висим...
Кто знает что делать?

При разрешенном интерфейсе стал смотреть что происходит по трафику
server# tethereal -ixl0 | grep 83.102.227.32
Capturing on xl0
198   4.546142 192.168.10.1 -> 83.102.227.32 TCP 4891 > pptp [SYN] Seq=0 Ack=0 Win=65535 Len=0 MSS=1460
  4.703361 83.102.227.32 -> 192.168.10.1 TCP pptp > 4891 [SYN, ACK] Seq=0 Ack=1 Win=4128 Len=0 MSS=536
  4.703574 192.168.10.1 -> 83.102.227.32 PPTP Start-Control-Connection-Request
  4.759577 83.102.227.32 -> 192.168.10.1 PPTP Start-Control-Connection-Reply
  4.759802 192.168.10.1 -> 83.102.227.32 PPTP Outgoing-Call-Request
  4.810472 83.102.227.32 -> 192.168.10.1 TCP pptp > 4891 [ACK] Seq=157 Ack=325 Win=3804 Len=0
  4.813639 83.102.227.32 -> 192.168.10.1 PPTP Outgoing-Call-Reply
  4.832542 192.168.10.1 -> 83.102.227.32 PPTP Set-Link-Info
  4.838640 192.168.10.1 -> 83.102.227.32 PPP LCP Configuration Request
  5.071054 83.102.227.32 -> 192.168.10.1 TCP pptp > 4891 [ACK] Seq=189 Ack=349 Win=3780 Len=0
315   6.838192 192.168.10.1 -> 83.102.227.32 PPP LCP Configuration Request
508   9.838188 192.168.10.1 -> 83.102.227.32 PPP LCP Configuration Request
702  13.838187 192.168.10.1 -> 83.102.227.32 PPP LCP Configuration Request
974  17.838180 192.168.10.1 -> 83.102.227.32 PPP LCP Configuration Request
1200  21.838201 192.168.10.1 -> 83.102.227.32 PPP LCP Configuration Request
1430  25.838219 192.168.10.1 -> 83.102.227.32 PPP LCP Configuration Request
1469  26.986683 83.102.227.32 -> 192.168.10.1 PPTP Call-Disconnect-Notify
26.986879 192.168.10.1 -> 83.102.227.32 PPTP Stop-Control-Connection-Request
26.990011 83.102.227.32 -> 192.168.10.1 PPTP Stop-Control-Connection-Request
27.030713 83.102.227.32 -> 192.168.10.1 TCP pptp > 4891 [ACK] Seq=353 Ack=365 Win=3764 Len=0
27.031820 192.168.10.1 -> 83.102.227.32 TCP 4891 > pptp [FIN, ACK] Seq=365 Ack=353 Win=65183 Len=0
27.034132 83.102.227.32 -> 192.168.10.1 PPTP Stop-Control-Connection-Reply
27.037114 83.102.227.32 -> 192.168.10.1 TCP pptp > 4891 [FIN, PSH, ACK] Seq=369 Ack=365 Win=3764 Len=0
27.037255 192.168.10.1 -> 83.102.227.32 TCP 4891 > pptp [ACK] Seq=366 Ack=370 Win=65167 Len=0
27.074087 83.102.227.32 -> 192.168.10.1 TCP pptp > 4891 [ACK] Seq=370 Ack=366 Win=3764 Len=0
27.075365 192.168.10.1 -> 83.102.227.32 TCP 4891 > pptp [RST, ACK] Seq=366 Ack=370 Win=0 Len=0
1618 ^C
server#


server# tethereal -irl0 | grep 83.102.227.32
Capturing on rl0
124   1.443478 195.131.22.33 -> 83.102.227.32 TCP 4894 > pptp [SYN] Seq=0 Ack=0 Win=65535 Len=0 MSS=1460
  1.482539 83.102.227.32 -> 195.131.22.33 TCP pptp > 4894 [SYN, ACK] Seq=0 Ack=1 Win=4128 Len=0 MSS=536
  1.482886 195.131.22.33 -> 83.102.227.32 PPTP Start-Control-Connection-Request
166   1.635065 83.102.227.32 -> 195.131.22.33 PPTP Start-Control-Connection-Reply
  1.635520 195.131.22.33 -> 83.102.227.32 PPTP Outgoing-Call-Request
  1.684065 83.102.227.32 -> 195.131.22.33 TCP pptp > 4894 [ACK] Seq=157 Ack=325 Win=3804 Len=0
  1.687948 83.102.227.32 -> 195.131.22.33 PPTP Outgoing-Call-Reply
  1.726526 195.131.22.33 -> 83.102.227.32 PPTP Set-Link-Info
  1.778698 83.102.227.32 -> 195.131.22.33 TCP pptp > 4894 [ACK] Seq=189 Ack=349 Win=3780 Len=0
286   3.686669 83.102.227.32 -> 195.131.22.33 PPP LCP Configuration Request
443   5.702603 83.102.227.32 -> 195.131.22.33 PPP LCP Configuration Request
600   7.717793 83.102.227.32 -> 195.131.22.33 PPP LCP Configuration Request
761   9.733477 83.102.227.32 -> 195.131.22.33 PPP LCP Configuration Request
956  11.753332 83.102.227.32 -> 195.131.22.33 PPP LCP Configuration Request
1114  13.765095 83.102.227.32 -> 195.131.22.33 PPP LCP Configuration Request
1271  15.782013 83.102.227.32 -> 195.131.22.33 PPP LCP Configuration Request
1427  17.799175 83.102.227.32 -> 195.131.22.33 PPP LCP Configuration Request
1584  19.813634 83.102.227.32 -> 195.131.22.33 PPP LCP Configuration Request
1781  21.831756 83.102.227.32 -> 195.131.22.33 PPP LCP Configuration Request
1901  23.845070 83.102.227.32 -> 195.131.22.33 PPP LCP Termination Request
23.853871 83.102.227.32 -> 195.131.22.33 PPTP Call-Disconnect-Notify
23.854314 195.131.22.33 -> 83.102.227.32 PPTP Stop-Control-Connection-Request
23.856796 83.102.227.32 -> 195.131.22.33 PPTP Stop-Control-Connection-Request
23.857061 195.131.22.33 -> 83.102.227.32 PPTP Stop-Control-Connection-Reply
1940  23.897481 83.102.227.32 -> 195.131.22.33 TCP pptp > 4894 [ACK] Seq=353 Ack=365 Win=3764 Len=0
23.900417 83.102.227.32 -> 195.131.22.33 PPTP Stop-Control-Connection-Reply
23.903893 83.102.227.32 -> 195.131.22.33 TCP pptp > 4894 [FIN, PSH, ACK] Seq=369 Ack=365 Win=3764 Len=0
23.904161 195.131.22.33 -> 83.102.227.32 TCP 4894 > pptp [FIN, ACK] Seq=381 Ack=370 Win=65167 Len=0
23.907346 83.102.227.32 -> 195.131.22.33 TCP pptp > 4894 [RST] Seq=353 Ack=4036771447 Win=3764 Len=0
23.963536 83.102.227.32 -> 195.131.22.33 TCP pptp > 4894 [RST] Seq=370 Ack=4036771447 Win=0 Len=0
2045 ^C
server#


Содержание

Сообщения в этом обсуждении
"FreeBSD6.0 _ ipfw + vpn"
Отправлено Artful , 07-Фев-06 08:55 
Победил данную проблемму.
Может кому будет интересно:

ipfw="/sbin/ipfw -q"
eif="rl0"
eip="195.131.22.33"
egw="195.131.22.1"
iif="xl0"
iip="192.168.10.200"
inet="192.168.10.0/24"

#NAT
${ipfw} add divert natd ip from ${inet} to not ${inet} out via ${eif}
${ipfw} add divert natd ip from any to ${eip} in via ${eif}

#VNP
${ipfw} add allow gre from ${eip} to any via ${eif}
${ipfw} add allow tcp from ${eip} to any dst-port 1723 via ${eif} setup keep-state
${ipfw} add allow gre from ${inet} to 83.102.227.32
${ipfw} add allow gre from 83.102.227.32 to ${inet}


Первые два правила общие в VPN
Следующие два разрешат работать только с определенным VPN сервером из
всей локальной сети.
PS. Не забудте что не обхадимо создать правила для разрешения самого доступа в интернет, эти правила будут работать только если человек имеет право доступа в интернет по TCP порту 1723
У меня далее идет:
${ipfw} add fwd 127.0.0.1,3128 tcp from 192.168.10.1 to any 80,8080
${ipfw} add allow tcp              from 192.168.10.1 to any setup keep-state
${ipfw} add allow udp              from 192.168.10.1 to any keep-state

${ipfw} add allow tcp from any to any established


"FreeBSD6.0 _ ipfw + vpn"
Отправлено tor , 14-Фев-06 04:54 
Не в тему но pptp vpn с их mmpe шифрованием вскрываю ...
Так что будьте бдительны ...
Рекомендую openvpn ...