Страница 1 из 2
маршрутизация+vpn freebsd
Добавлено: 2012-05-02 16:45:29
yrkrus
Доброго дня!
В общем суть проблемы:
Есть freebsd, выступает в роли шлюза, так же настроена на нем клиентская часть openvpn, freebsd успешно подключается по vpn и удаленная подсеть пингуется, но к сожалению клиенты за шлюзом не видят удаленную подсеть. а нужно что бы видели, где то я на грабли наступаю, подскаите в чем проблема.
ifconfig
Код: Выделить всё
Код: em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
ether 38:60:77:2d:f8:dd
inet 172.33.0.6 netmask 0xffffff00 broadcast 172.33.0.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=82808<VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
ether 1c:af:f7:6b:8e:57
inet 62.141.xx.xx netmask 0xfffffffc broadcast 62.141.100.11
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
options=80000<LINKSTATE>
inet 10.8.1.125 --> 10.8.1.126 netmask 0xffffffff
Opened by PID 85500
netstat
Код: Выделить всё
Код: Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 62.141.xx.9 UGS 199 1324080 vr0
10.8.0.1/32 10.8.1.126 UGS 0 0 tun0
10.8.1.125 link#5 UHS 0 0 lo0
10.8.1.126 link#5 UH 0 0 tun0
62.141.xx.x/30 link#2 U 0 0 vr0
62.141.xx.xx link#2 UHS 0 0 lo0
127.0.0.1 link#4 UH 0 0 lo0
172.16.0.0/16 10.8.1.126 UGS 0 20906 tun0
172.33.0.0/24 link#1 U 6 664421 em0
172.33.0.6 link#1 UHS 0 161 lo0
rc.conf
Код: Выделить всё
ifconfig_em0="172.33.0.6 netmask 255.255.255.0"
ifconfig_vr0="62.141.xx.x netmask 255.255.255.252"
defaultrouter="62.141.xx.9"
openvpn_enable="YES"
openvpn_if="tun"
openvpn_configfile="/usr/local/etc/openvpn/investprom.conf"
openvpn_dir="/usr/local/etc/openvpn"
gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"
#firewall_script="/etc/firewall.conf"
natd_enable="YES"
natd_interface="vr0"
natd_flags="-f /etc/natd.conf"
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 17:30:34
ChihPih
А на маршрутизаторе удаленной сети прописаны нужные маршруты?
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 17:48:28
yrkrus
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 17:51:57
ChihPih
tcpdump,ом ловите пакеты, куда идут. тогда ясно станет, где косяк.
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 18:04:19
yrkrus
Код: Выделить всё
gw# tcpdump -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type NULL (BSD loopback), capture size 96 bytes
19:02:48.322040 IP 62.141.xxx.x > 172.16.251.16: ICMP echo request, id 2, seq 24040, length 40
19:02:53.194524 IP 62.141.xxx.x > 172.16.251.16: ICMP echo request, id 2, seq 24041, length 40
19:02:58.194260 IP 62.141.xxx.x > 172.16.251.16: ICMP echo request, id 2, seq 24042, length 40
19:03:03.194351 IP 62.141.xxx.x > 172.16.251.16: ICMP echo request, id 2, seq 24043, length 40
19:03:08.195221 IP 62.141.xxx.x > 172.16.251.16: ICMP echo request, id 2, seq 24044, length 40
19:03:13.195365 IP 62.141.xxx.x > 172.16.251.16: ICMP echo request, id 2, seq 24045, length 40
19:03:23.455615 IP 62.141.xxx.x > 172.16.251.16: ICMP echo request, id 2, seq 2
Код: Выделить всё
C:\Users\admin>ping 172.16.251.16 -t
Обмен пакетами с 172.16.251.16 по с 32 байтами данных:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Статистика Ping для 172.16.251.16:
Пакетов: отправлено = 5, получено = 0, потеряно = 5
(100% потерь)
Control-C
^C
C:\Users\admin>tracert 172.16.251.16
Трассировка маршрута к 172.16.251.16 с максимальным числом прыжков 30
1 <1 мс <1 мс <1 мс gw.alfavlg.local [172.33.0.6]
2 * * * Превышен интервал ожидания для запроса.
3 ^C
C:\Users\admin>
Косяк на самом шлюзе...но где именно?
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 18:07:15
ChihPih
Косяк в том, что айпи неверный подставляется в виде 62.141.xxx.x . Походу NAT у вас отрабатывает.
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 18:09:18
yrkrus
отлично, и как в этой ситуации быть?
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 18:11:51
ChihPih
Правильно настроить NAT, что бы он при отправке в удаленную сеть не подменял исходный IP адрес на IP вашего шлюза (62.141.xxx.x), который используется для выхода в интернет.
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 18:13:23
ChihPih
Для начала можно просто его выключить и посмотреть как будет.
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 18:18:09
yrkrus
еще бы знать как его правильно настроить, с фрей 3 месяца знаком... пойду курить manы
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 18:48:32
ChihPih
Судя по конфигу у вас используется natd (man natd). Конфиг его лежит тут - /etc/natd.conf.
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 18:52:27
yrkrus
ну это да, при выкл нат, ничего не работает.
вот natd.conf
Код: Выделить всё
gw# cat /etc/natd.conf
interface vr0
same_ports yes
use_sockets yes
dynamic yes
#unregistered_only yes
redirect_port tcp 172.33.0.101:667 667
redirect_port udp 172.33.0.101:667 667
redirect_port tcp 172.33.0.111:10001 10001
redirect_port tcp 172.33.0.3:3389 3389
redirect_port udp 172.33.0.3:3389 3389
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 18:58:14
ChihPih
Вообще ничего не работает?
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 18:59:08
yrkrus
у клиентов не работает совсем, а сервер не может по vpn подключиться и ну и инет тоже не работает на шлюзе
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 19:05:25
ChihPih
Так при отключенном нате инет только у машин за шлюзом должен отвалиться. Сам же шлюз должен хоть как в интернет выходить и подрубаться по vpn. Притом при выключенном нате должен был появиться пинг до удаленной сети, или хотя бы адреса должны были перестать натиться (что нужно увидеть в tcpdump).
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 19:06:08
ChihPih
ipfw show че выводит?
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 19:15:57
yrkrus
Код: Выделить всё
gw# ipfw show
00100 4 240 deny ip from table(25) to me dst-port 22
00100 0 0 allow ip from any to any via lo0
00200 0 0 check-state
00300 0 0 deny ip from any to 127.0.0.0/8
00400 0 0 deny ip from 127.0.0.0/8 to any
00500 0 0 deny ip from any to 240.0.0.0/4 in via vr0
00600 4 176 deny icmp from any to any frag
00700 6630 3719655 divert 8668 ip from 172.33.0.0/24 to any out via vr0
00800 8130 3067266 divert 8668 ip from any to 62.141.xx.xx in via vr0
00900 8955 4490348 divert 8668 ip from any to me
01000 506 30360 divert 8668 ip from 172.33.0.0/24 to any out via tun0
01100 0 0 divert 8668 ip from any to 10.8.1.125 in via tun0
01200 38195 18029257 allow tcp from any to any established
01300 761 87252 allow udp from me to 195.151.214.xx dst-port 1194 via vr0
01400 209 17370 allow udp from 195.151.214.xx 1194 to me via vr0
01500 903 67601 allow ip from 62.141.xx.xx to any out xmit vr0
01600 0 0 allow ip from 172.33.0.0/24 to any out xmit tun0
01700 224 34177 allow udp from any 53 to any via vr0
01800 1019 61164 allow icmp from any to any icmptypes 0,8,11
01900 0 0 allow tcp from any to 62.141.xx.xx dst-port 22 via vr0
02000 0 0 allow udp from 172.33.0.4 to 195.151.214.xx dst-port 1194 via vr0
02100 192 16531 allow udp from 195.151.214.xx 1194 to 172.33.0.4 via vr0
02200 0 0 allow udp from 172.33.0.49 to 81.22.3.130 dst-port 87 via vr0
02300 0 0 allow udp from 81.22.3.130 87 to 172.33.0.49 via vr0
02400 329 15932 allow tcp from any to any via em0
02500 1354 136360 allow udp from any to any via em0
02600 5 904 allow icmp from any to any via em0
02700 0 0 allow tcp from any to 172.33.0.111 dst-port 10001 via vr0
02800 0 0 allow tcp from any to 172.33.0.101 dst-port 667 via vr0
02900 26 1340 allow tcp from any to 172.33.0.3 dst-port 3389 via vr0
03000 0 0 allow udp from any to 172.33.0.3 dst-port 3389 via vr0
03100 0 0 deny ip from 190.145.24.147 to me
03200 0 0 deny ip from 182.48.23.246 to me
03300 0 0 deny ip from 46.20.44.76 to me
03400 0 0 deny ip from 186.233.149.81 to me
03500 0 0 deny ip from 212.156.126.210 to me
03600 0 0 deny ip from 213.131.102.39 to me
03700 0 0 deny ip from 211.232.114.100 to me
03800 0 0 deny ip from 82.165.138.24 to me
65535 29610 2374219 deny ip from any to any
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 19:20:29
ChihPih
Вот правила с номерами 1000 и 1100 и натят адреса через tun.
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 19:26:32
yrkrus
а пинг то не проходит, все равно ...
Код: Выделить всё
gw# cat /etc/firewall.conf
......
#setevaya karta smotryaschaya v inet
LanOut="vr0"
#vpn
LanVPN="tun0"
#IP vpn
IPVPN="10.8.1.125"
#Maska podseti
Mask="24"
#Local podset
NetIn="172.33.0.0"
.....
#NAT
${fwcmd} add divert natd ip from ${NetIn}/${Mask} to any out via ${LanOut}
${fwcmd} add divert natd ip from any to ${IpOut} in via ${LanOut}
${fwcmd} add divert natd all from any to me
${fwcmd} add divert natd ip from ${NetIn}/${Mask} to any out via ${LanVPN}
${fwcmd} add divert natd ip from any to ${IPVPN} in via ${LanVPN}
.....
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 19:31:32
ChihPih
Попробовать вырубить фаер - ipfw disable firewall (включить обратно так ipfw enable firewall). При вырубленном файере:
1. отвалится интернет у всех, кроме шлюза
2. шлюз как имел доступ к нету так и будет, соединение впн так же не должно отваливаться
3. пропинговать удаленную сеть
4. если пинга нет (что врядли), то вывод tcpdump при выключенном фаере сюда.
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 19:39:11
yrkrus
Код: Выделить всё
gw# tcpdump -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type NULL (BSD loopback), capture size 96 bytes
20:39:04.245247 IP 172.33.0.73 > 172.16.251.16: ICMP echo request, id 1, seq 666, length 40
20:39:09.243442 IP 172.33.0.73 > 172.16.251.16: ICMP echo request, id 1, seq 667, length 40
20:39:14.250452 IP 172.33.0.73 > 172.16.251.16: ICMP echo request, id 1, seq 668, length 40
20:39:19.247752 IP 172.33.0.73 > 172.16.251.16: ICMP echo request, id 1, seq 669, length 40
20:39:24.245297 IP 172.33.0.73 > 172.16.251.16: ICMP echo request, id 1, seq 670, length 40
20:39:29.244580 IP 172.33.0.73 > 172.16.251.16: ICMP echo request, id 1, seq 671, length 40
20:39:56.133296 IP 172.33.0.73 > 172.16.251.16: ICMP echo request, id 1, seq 672, length 40
20:40:00.750515 IP 172.33.0.73 > 172.16.251.16: ICMP echo request, id 1, seq 673, length 40
^C
8 packets captured
8 packets received by filter
0 packets dropped by kernel
gw#
выключил firewall, пинг пошел с машины откуда пингуем, но по прежнему не отвечает удаленный хост
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 19:41:13
ChihPih
Теперь хоть адрес не занатился!!! Вот теперь вылезла проблема на удаленном маршрутизаторе - либо с маршрутами, либо все с тем же натом.
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 19:49:12
yrkrus
ага, но не буду же я с отключенным файрволом сидеть.
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-02 19:59:21
ChihPih
Поэтому надо прально настроить фаер и маршруты на обоих машинах, тогда все заработает.
Re: маршрутизация+vpn freebsd
Добавлено: 2012-05-03 7:37:52
yrkrus
правильно это как?