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

Исходное сообщение
"FreeBSD mpd+ipfw+natd winXP клиент"

Отправлено sancho78rus , 21-Авг-08 17:05 
Есть маршрутизатор на FreeBSD 6.2 (шлюз для всех компов нашей локалки 192.168.1.0)
На нем поднят mpd сервер.
Удаленные клиенты WinXP подключаются (им выдается адрес сервера 192.168.100.1 и адрес клиента 192.168.100.2). Адрес сервера пингуется. С маршрутизатора клиент тоже пингуется.

Проблема в том, что из внутренней сетки 192.168.1.0 с любого компа не подключиться к vpn клиенту (нужен rdp, radmin).

fire.sh:
00100 divert 8668 ip from 192.168.1.0/24 to any out xmit rl0
00150 divert 8668 ip from any to {inet_ip} in recv rl0
00200 deny tcp from any to any dst-port 135-139 via rl0
...
00501 allow ip from any to any via ng0
...

rl0 - внешний интерфейс (смотрит в инет)

что не так?


Содержание

Сообщения в этом обсуждении
"FreeBSD mpd+ipfw+natd winXP клиент"
Отправлено universite , 22-Авг-08 03:59 

>что не так?

конфиг и версию mpd в студию

P.S. смотреть в сторону MTU


"FreeBSD mpd+ipfw+natd winXP клиент"
Отправлено sancho78rus , 22-Авг-08 09:18 
>
>>что не так?
>
>конфиг и версию mpd в студию
>
>P.S. смотреть в сторону MTU

#mpd.conf (mpd-4.1)
startup:
        set console port 777
        set console ip 127.0.0.1
        set console user admin admid
        set console open
#     set web port 666
#     set web ip 192.168.13.3
#     set web user admin admin
#     set web open

default:
        load pptp0

pptp0:
        new -i ng0 pptp0 pptp0
        load pptp_all

pptp_all:
        set ipcp ranges 192.168.100.1/24 192.168.100.2/24
        set iface disable on-demand
        set bundle enable multilink
        set link yes acfcomp protocomp
        set link no pap chap
        set link enable chap
        set link keep-alive 60 180
        set ipcp yes vjcomp
        set ipcp dns 192.168.1.2
        set ccp yes mppc
        set ccp yes mpp-e40
        set ccp yes mpp-e56
        set ccp yes mpp-e128
        set bundle enable compression
        set pptp enable incoming
        set pptp disable originate
        set iface enable proxy-arp
        set iface enable tcpmssfix


"FreeBSD mpd+ipfw+natd winXP клиент"
Отправлено universite , 22-Авг-08 18:02 
ставьте mpd5 и понижайте mtu при создании vpn

"FreeBSD mpd+ipfw+natd winXP клиент"
Отправлено German , 24-Авг-08 13:23 
ану покаж mpd.links


"FreeBSD mpd+ipfw+natd winXP клиент"
Отправлено sancho78rus , 25-Авг-08 14:32 
>ану покаж mpd.links

pptp0:
        set link type pptp


"FreeBSD mpd+ipfw+natd winXP клиент"
Отправлено sancho78rus , 26-Авг-08 16:51 
есть у кого-нибудь идеи?

"FreeBSD mpd+ipfw+natd winXP клиент"
Отправлено Maxim , 27-Авг-08 17:41 
>[оверквотинг удален]
>00100 divert 8668 ip from 192.168.1.0/24 to any out xmit rl0
>00150 divert 8668 ip from any to {inet_ip} in recv rl0
>00200 deny tcp from any to any dst-port 135-139 via rl0
>...
>00501 allow ip from any to any via ng0
>...
>
>rl0 - внешний интерфейс (смотрит в инет)
>
>что не так?

Раз удаленному клиенту удается зацепиться у серверу, и он успешно получает IP думаю проблема в настройке фаервола

думаю нужны правилa вроде

deny ip from any to 10.0.0.0/8 via rl0
deny ip from any to 172.16.0.0/12 via rl0
deny ip from any to 192.168.0.0/16 via rl0

allow ip from 192.168.1.0/24 to 192.168.1.0/24



"FreeBSD mpd+ipfw+natd winXP клиент"
Отправлено billybons2006 , 29-Авг-08 15:59 
Я вот в этих правилах совсем не вижу, каким образом клиент (192.168.100.2) будет иметь дело с сетью 192.168.1.0/24. У меня просто вопрос как раз связан с этим, поэтому и спрашиваю.

когда клиент подключен по vpn, на сервере создается интерфейс ng0:

# ifconfig ng0
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1296
        inet 10.9.0.1 --> 10.9.0.3 netmask 0xffffffff

Ок, на клиенте, соответственно, ipconfig (WinXP):
test - PPP адаптер:
        DNS-суффикс этого подключения . . :
        IP-адрес  . . . . . . . . . . . . : 10.9.0.3
        Маска подсети . . . . . . . . . . : 255.255.255.255
        Основной шлюз . . . . . . . . . . : 10.9.0.3

На сервере есть squid на порту 3128, через которого клиент должен выходить в интернет, плюс почтовый сервер на этом же сервере, плюс почтовик в локалке... Моя локальная сеть 192.168.2.0/24, на сервере с mpd настроен ipfw, внешний интерфейс сервера vpn: sk0 (192.168.2.251), nat соответственно, на нем висит.

Что мне настроить в конфигах mpd5, или ipfw, чтобы можно было клиенту обращаться к ресурсам внутренней сети? А то мой клиент (10.9.0.3) только сам себя пинговать и может.


"FreeBSD mpd+ipfw+natd winXP клиент"
Отправлено A Clockwork Orange , 29-Авг-08 16:05 
на основании таких правил ipfw нельзя сказать что не так.



"FreeBSD mpd+ipfw+natd winXP клиент"
Отправлено billybons2006 , 01-Сен-08 10:51 
allow ip from any to any via lo0
allow log logamount 100 ip from any to any via sk0
allow log logamount 100 ip from any to any via tun0

deny ip from any to me dst-port 3306 in via sk0
deny ip from any to me dst-port 3128 in via sk0
deny ip from any to me dst-port 25 in via sk0
deny ip from any to me dst-port 110 in via sk0

allow log logamount 100 udp from any to me dst-port 2093 in via sk0
allow udp from me 2093 to any out via sk0
allow udp from me to 195.5.128.130 out via sk0
allow udp from 195.5.128.130 to me in via sk0

divert 8668 ip from any to any in via sk0
check-state
allow gre from any to any
allow log logamount 100 tcp from 10.8.0.0/24 to me dst-port 1723 via tun0
allow log logamount 100 tcp from any to me dst-port 1723 via sk0
allow log logamount 100 tcp from me 1723 to any via sk0

00206 allow ip from any to any

skipto 5000 log logamount 100 ip from any to any out via sk0 setup keep-state
skipto 5000 log logamount 100 udp from me to any dst-port 53 out via sk0 keep-state
skipto 5000 log logamount 100 udp from any to any dst-port 53 out via sk0 keep-state
deny log logamount 100 tcp from any to any dst-port 53 in via sk0
skipto 5000 tcp from any to any dst-port 25 out via sk0 setup keep-state
skipto 5000 tcp from any to any dst-port 110 out via sk0 setup keep-state
skipto 5000 tcp from any to any dst-port 143 out via sk0 setup keep-state
skipto 5000 tcp from any to any dst-port 995 out via sk0 setup keep-state
skipto 5000 tcp from any to any dst-port 80 out via sk0 setup keep-state
skipto 5000 tcp from any to any dst-port 443 out via sk0 setup keep-state
skipto 5000 tcp from any to any dst-port 2082 out via sk0 setup keep-state
skipto 5000 tcp from me to any out via sk0 setup uid root keep-state
skipto 5000 tcp from any to any dst-port 37 out via sk0 setup keep-state
skipto 5000 tcp from any to any dst-port 43 out via sk0 setup keep-state
skipto 5000 udp from any to any dst-port 123 out via sk0 keep-state

deny ip from 192.168.0.0/16 to any in via sk0
deny ip from 172.16.0.0/12 to any in via sk0
deny ip from 10.0.0.0/8 to any in via sk0
deny ip from 127.0.0.0/8 to any in via sk0
deny ip from 0.0.0.0/8 to any in via sk0
deny ip from 169.254.0.0/16 to any in via sk0
deny ip from 192.0.2.0/24 to any in via sk0
deny ip from 204.152.64.0/23 to any in via sk0
deny ip from 224.0.0.0/3 to any in via sk0
deny tcp from any to any dst-port 113 in via sk0
deny tcp from any to any dst-port 137 in via sk0
deny tcp from any to any dst-port 138 in via sk0
deny tcp from any to any dst-port 139 in via sk0
deny tcp from any to any dst-port 81 in via sk0
deny ip from any to any frag in via sk0
deny tcp from any to any established in via sk0
deny log logamount 100 ip from any to any in via sk0
deny log logamount 100 ip from any to any out via sk0

05000     0       0 divert 8668 ip from any to any out via sk0

allow ip from any to any
deny log logamount 100 ip from any to any
deny ip from any to any

номера правил, кроме 5000, убрал, чтобы не отвлекали,
sk0 - внешний интерфейс,
tun0 - OpenVPN интерфейс,
00206 allow ip from any to any - сейчас все идет через это правило, чтобы не заморачиваться, что не так в настройках ipfw.

сервер:
ifconfig ng0
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1296
        inet 10.9.0.1 --> 10.9.0.3 netmask 0xffffffff
клиент:
test - PPP адаптер:

        DNS-суффикс этого подключения . . :
        IP-адрес  . . . . . . . . . . . . : 10.9.0.3
        Маска подсети . . . . . . . . . . : 255.255.255.255
        Основной шлюз . . . . . . . . . . : 10.9.0.3

Что посоветуете, чтобы клиент мог выходить в интернет и прочее? Хотя бы по максимуму разрешив ему все?


"FreeBSD mpd+ipfw+natd winXP клиент"
Отправлено billybons2006 , 01-Сен-08 11:33 
Слушайте, все работает, только странновато слегонца, но это вопрос времени на тестирование.

Для соединения с почтовым сервером на сервере mpd надо с клиента коннектиться не к 10.9.0.1, а к 10.9.0.3, ведь в данном случае этот ip пробрасывает запросы к серверу, ЛИБО, что вдруг произошло, telnet на 25 порт с клиента

на клиенте то так проходит:
telnet 10.9.0.1 25

то так:
telnet 10.9.0.3 25

Я еще поразбираюсь, странно, т.к. если все работает, то не должно быть таких изменений, тем более спонтанно.

Я тут потестю, потом видно будет, ерунда или нет.