Здравствуйте.Сушествует проблема с IPSec Opens\Wan,нужно соеденить две локальный сети через интернет по шифрованному каналу.На обоих машина стоит Slackware 10.2, ядро 2.4.32 с наложенными патчами ipsec.Интерфейсы поднимаются соединение устанавливается,но пинги не ходят!Если кто знает в чём может быть проблема подкажите пажайлуста!Ниже привожу выводы ifconfig,netstat -nr,ipsec verify,ipsec --initiate --name one,ipsec auto --status,конфиг ipsec.Все ip адреса изменены.Конфиг на двух машинах одинаковый.Помогите пажайлуста, очень срочно нада решить проблему!ifconfig
eth0 Link encap:Ethernet HWaddr 00:13:D3:62:92:6C
inet addr:8.20.16.18 Bcast:8.20.16.183 Mask:255.255.255.248
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4382 errors:0 dropped:0 overruns:0 frame:0
TX packets:5483 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1122212 (1.0 Mb) TX bytes:546887 (534.0 Kb)
Interrupt:5 Base address:0xa400eth1 Link encap:Ethernet HWaddr 00:11:95:F7:F6:E6
inet addr:192.168.0.111 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3135 errors:0 dropped:0 overruns:0 frame:0
TX packets:1685 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:291276 (284.4 Kb) TX bytes:324255 (316.6 Kb)
Interrupt:10ipsec0 Link encap:Ethernet HWaddr 00:13:D3:62:92:6C
inet addr:8.20.16.18 Mask:255.255.255.248
UP RUNNING NOARP MTU:16260 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:432 errors:0 dropped:143 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:0 (0.0 b) TX bytes:73352 (71.6 Kb)lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
8.20.16.176 0.0.0.0 255.255.255.248 U 0 0 0 eth0
8.20.16.176 0.0.0.0 255.255.255.248 U 0 0 0 ipsec0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.99.0 8.20.16.177 255.255.255.0 UG 0 0 0 ipsec0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 8.20.16.177 0.0.0.0 UG 0 0 0 eth0ipsec verify
Checking your system to see if IPsec got installed and started correctly:
Version check and ipsec on-path [OK]
Linux Openswan cvs2002Mar12_03:19:03 (klips)
Checking for IPsec support in kernel [OK]
Checking for RSA private key (/etc/ipsec.secrets) [OK]
Checking that pluto is running [OK]
Two or more interfaces found, checking IP forwarding [OK]
Checking NAT and MASQUERADEing [OK]
Checking for 'ip' command [OK]
Checking for 'iptables' command [OK]
Opportunistic Encryption Support [DISABLED]ipsec whack --initiate --name one
002 "one" #4: initiating Quick Mode RSASIG+ENCRYPT+AUTHENTICATE+TUNNEL+PFS+UP {using isakmp#1}
117 "one" #4: STATE_QUICK_I1: initiate
002 "one" #4: transition from state STATE_QUICK_I1 to state STATE_QUICK_I2
004 "one" #4: STATE_QUICK_I2: sent QI2, IPsec SA established {ESP=>0x976ae219 <0xa44ae1df xfrm=3DES_0- AH=>0x976ae218 <0xa44ae1de NATD=21.3.4.170:500 DPD=none}ipsec auto --status
000 interface ipsec0/eth0 8.20.16.18
000 interface ipsec0/eth0 8.20.16.18
000 %myid = (none)
000 debug raw+crypt+parsing+emitting+control+lifecycle+klips+dns+oppo+controlmore+pfkey+nattraversal+x509
000
000 algorithm ESP encrypt: id=3, name=ESP_3DES, ivlen=64, keysizemin=192, keysizemax=192
000 algorithm ESP encrypt: id=12, name=ESP_AES, ivlen=128, keysizemin=128, keysizemax=256
000 algorithm ESP auth attr: id=1, name=AUTH_ALGORITHM_HMAC_MD5, keysizemin=128, keysizemax=128
000 algorithm ESP auth attr: id=2, name=AUTH_ALGORITHM_HMAC_SHA1, keysizemin=160, keysizemax=160
000 algorithm ESP auth attr: id=9, name=AUTH_ALGORITHM_AES_CBC, keysizemin=128, keysizemax=128
000
000 algorithm IKE encrypt: id=5, name=OAKLEY_3DES_CBC, blocksize=8, keydeflen=192
000 algorithm IKE encrypt: id=7, name=OAKLEY_AES_CBC, blocksize=16, keydeflen=128
000 algorithm IKE hash: id=1, name=OAKLEY_MD5, hashsize=16
000 algorithm IKE hash: id=2, name=OAKLEY_SHA1, hashsize=20
000 algorithm IKE dh group: id=2, name=OAKLEY_GROUP_MODP1024, bits=1024
000 algorithm IKE dh group: id=5, name=OAKLEY_GROUP_MODP1536, bits=1536
000 algorithm IKE dh group: id=14, name=OAKLEY_GROUP_MODP2048, bits=2048
000 algorithm IKE dh group: id=15, name=OAKLEY_GROUP_MODP3072, bits=3072
000 algorithm IKE dh group: id=16, name=OAKLEY_GROUP_MODP4096, bits=4096
000 algorithm IKE dh group: id=17, name=OAKLEY_GROUP_MODP6144, bits=6144
000 algorithm IKE dh group: id=18, name=OAKLEY_GROUP_MODP8192, bits=8192
000
000 stats db_ops.c: {curr_cnt, total_cnt, maxsz} :context={0,0,0} trans={0,0,0} attrs={0,0,0}
000
000 "one": 192.168.0.0/24===8.20.16.18---8.20.16.177...8.20.16.177---21.3.4.170===192.168.99.0/24; erouted; eroute owner: #3
000 "one": srcip=unset; dstip=unset; srcup=ipsec _updown; dstup=ipsec _updown;
000 "one": ike_life: 3600s; ipsec_life: 28800s; rekey_margin: 540s; rekey_fuzz: 100%; keyingtries: 0
000 "one": policy: RSASIG+ENCRYPT+AUTHENTICATE+TUNNEL+PFS+UP; prio: 24,24; interface: eth0;
000 "one": newest ISAKMP SA: #1; newest IPsec SA: #3;
000 "one": IKE algorithm newest: 3DES_CBC_192-MD5-MODP1536
000
000 #3: "one":500 STATE_QUICK_I2 (sent QI2, IPsec SA established); EVENT_SA_REPLACE in 27845s; newest IPSEC; eroute owner
000 #3: "one" ah.976ae216@21.3.4.170 ah.a44ae1dc@8.20.16.18 esp.976ae217@21.3.4.170 esp.a44ae1dd@8.20.16.18 tun.1004@21.3.4.170 tun.1003@8.20.16.18
000 #2: "one":500 STATE_QUICK_I2 (sent QI2, IPsec SA established); EVENT_SA_REPLACE in 27472s
000 #2: "one" ah.976ae214@21.3.4.170 ah.a44ae1da@8.20.16.18 esp.976ae215@21.3.4.170 esp.a44ae1db@8.20.16.18 tun.1002@21.3.4.170 tun.1001@8.20.16.18
000 #1: "one":500 STATE_MAIN_I4 (ISAKMP SA established); EVENT_SA_REPLACE in 2449s; newest ISAKMP; lastdpd=-1s(seq in:0 out:0)
000ipsec.conf
# /etc/ipsec.conf - Openswan IPsec configuration file
# RCSID $Id: ipsec.conf.in,v 1.15.2.2 2005/11/14 20:10:27 paul Exp $# This file: /usr/local/share/doc/openswan/ipsec.conf-sample
#
# Manual: ipsec.conf.5
version 2.0 # conforms to second version of ipsec.conf specification# basic configuration
config setup
# plutodebug / klipsdebug = "all", "none" or a combation from below:
# "raw crypt parsing emitting control klips pfkey natt x509 private"
# eg:
plutodebug=all
nat_traversal=yes
forwardcontrol=yes
klipsdebug=none
# virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%4:172.16.0.0/12# Add connections here
# sample VPN connection
conn one
type=tunnel
left=82.204.162.18
leftsubnet=192.168.0.0/24
leftnexthop=чfaultroute
right=21.3.4.170
rightsubnet=192.168.99.0/24
rightnexthop=чfaultroute
auth=esp
authby=rsasig
auto=start
rightrsasigkey=0sAQPMZT+...
leftrsasigkey=0sAQOShN8gY6VLUVc...
include /etc/ipsec.d/examples/no_oe.conf
Была такая фишка, сервера не пингуются, а подсеи - нормально. Нужно было править правила файрвола, вроде как не в тот интрефейс пакет шел... Точно не помню. Короче проверь, пингуются ли сети...
>Была такая фишка, сервера не пингуются, а подсеи - нормально. Нужно было
>править правила файрвола, вроде как не в тот интрефейс пакет шел...
>Точно не помню. Короче проверь, пингуются ли сети...
Проблема в том, что сервера в качестве source ip указывают адрес интерфейса ipsec0 (8.20.16.18). Нужно с помощью iproute2 "заставить" их использовать адрес eth1 (192.168.0.111). После чего связь будет и между ipsec-серверами.
>Была такая фишка, сервера не пингуются, а подсеи - нормально. Нужно было
>править правила файрвола, вроде как не в тот интрефейс пакет шел...
>Точно не помню. Короче проверь, пингуются ли сети...
Дело всё в том что сети тоже не пингуются!
>Дело всё в том что сети тоже не пингуются!
Маршруты, файерволл.
>>Дело всё в том что сети тоже не пингуются!
>Маршруты, файерволл.
Таблицу роутинга я привёл, файерволл пуст.
>Таблицу роутинга я привёл, файерволл пуст.
А таблица/файервол на другом сервере ipsec (21.3.4.170)?
>>Таблицу роутинга я привёл, файерволл пуст.
>А таблица/файервол на другом сервере ipsec (21.3.4.170)?
фаерволл везде отключён.netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
21.3.4.168 0.0.0.0 255.255.255.248 U 0 0 0 eth0
21.3.4.168 0.0.0.0 255.255.255.248 U 0 0 0 ipsec0
192.168.0.0 21.3.4.169 255.255.255.0 UG 0 0 0 ipsec0
192.168.99.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 21.3.4.169 0.0.0.0 UG 0 0 0 eth0
Покажите пажалуйста кто нибудь рабочие конфиги сеть-сеть!и надо ли как нибудь по особому ipsec.secrets?
>Покажите пажалуйста кто нибудь рабочие конфиги сеть-сеть!и надо ли как нибудь по
>особому ipsec.secrets?
А может быть какой нибудь конфликт с другим по?
сервера у тебя установили IPSec SA и ISAKMP SA - значит они договорились и все пучком осталась только маршрутизация
пример (работающий, сеть-сеть пингуется, но сервер-сервер - нет):
cat /etc/ipsec.conf
version 2
config setup
interfaces="ipsec0=eth1"
klipsdebug=none
plutodebug=noneconn a-b
authby=secret
spi=0x200
keyingtries=0
auth=ah
left=10.1.1.13
leftsubnet=192.168.0.0/24
leftnexthop=10.1.1.14
right=10.1.1.1
rightsubnet=192.168.1.0/24
rightnexthop=10.1.1.2
auto=start
===========================
# ipsec look
p.domain.com Wed Jan 18 00:38:23 MSK 2006
192.168.1.0/24 -> 192.168.0.0/24 => tun0x1076@10.1.1.13 esp0xa1520f17@10.1.1.13 ah0xa1520f16@10.1.1.13 (15684)
ipsec0->eth1 mtu=16260(1427)->1500
ah0x4350c724@10.1.1.1 AH_HMAC_SHA1: dir=in src=10.1.1.13 ooowin=64 seq=12171 bit=0xffffffffffffffff max_seq_diff=1 alen=160 aklen=160 life(c,s,h)=bytes(2383084,0,0)addtime(16283,0,0)usetime(16279,0,0)packets(12169,0,0) idle=0 natencap=none natsport=0 natdport=0 refcount=4 ref=1545{skip}-======-{skip}
life(c,s,h)=bytes(1258863,0,0)addtime(15496,0,0)usetime(15495,0,0)packets(5566,0,0) idle=34 natencap=none natsport=0 natdport=0 refcount=4 ref=1559
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 100.101.102.103 0.0.0.0 UG 0 0 0 eth1
10.1.1.0 0.0.0.0 255.255.255.252 U 0 0 0 eth1
10.1.1.0 0.0.0.0 255.255.255.252 U 0 0 0 ipsec0
192.168.0.0 10.1.1.2 255.255.255.0 UG 0 0 0 ipsec0
100.101.102.102 0.0.0.0 255.255.255.248 U 0 0 0 eth1поставь в конфиге
klipsdebug=all
plutodebug=all
и смотри логи в messages или в secure
в догонку:
попробуй убрать type=tunnel, а righthop и lefthop поставить шлюзы для этих сетей
А у тебя внутр. сеть на eth1 висит?
Интерфейс который смотрит в локальную сеть должен быть зароучен, а то я смотрю у тебя маршрут на локальную сеть один, а у меня два!
я просто немного отфильтровал инфу которую пишу на форумах ))
у меня сети:
192.168.0.0/24
192.168.1.0/24
192.168.3.0/24
+ 10.1.1.1/29 - внутрипровайдерский канал по которому все шифруется (итого 3 штуки выходит, я дал конфиг от одного из соединений с центральной машины)
маршруты вообще то сами поднимаются в зависимости от прописанных некстхопов и райт/лефт сабнетов
Дай вывод:
iptables -t nat -LВот ссылочка может Вам поможет :)
http://www.freeswan.org/freeswan_trees/freeswan-2.06/doc/con...
>я просто немного отфильтровал инфу которую пишу на форумах ))
>у меня сети:
>192.168.0.0/24
>192.168.1.0/24
>192.168.3.0/24
>+ 10.1.1.1/29 - внутрипровайдерский канал по которому все шифруется (итого 3 штуки
>выходит, я дал конфиг от одного из соединений с центральной машины)
>
>маршруты вообще то сами поднимаются в зависимости от прописанных некстхопов и райт/лефт
>сабнетовleft
iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destinationChain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 192.168.1.0/24 0.0.0.0/0Chain OUTPUT (policy ACCEPT)
target prot opt source destinationright
iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destinationChain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 192.168.0.1 0.0.0.0/0Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Убери NAT!
iptables -t nat -F
Вот что еще, если нужен NAT тоiptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24(локальная сеть на этой стороне) -d 10.1.1.0.24 (локальная сеть на другой стороне) -j MASQUERADE
про пересылку пакетов не забываем :)
echo 1 > /proc/sys/net/ipv4/ip_forward
Упс!
Про "!" забыл
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24(локальная сеть на этой стороне) -d ! 10.1.1.0.24 (локальная сеть на другой стороне) -j MASQUERADE
>Упс!
>Про "!" забыл
>iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24(локальная сеть на этой
>стороне) -d ! 10.1.1.0.24 (локальная сеть на другой стороне) -j MASQUERADE
>
а не подскажешь как сделать что бы серваки пинговались, а то шас не в одной локалке нету включённых машин
Вообшето в доке написано:
...Test your connection
Sit at one of your local subnet nodes (not the gateway), and ping a subnet node on the other (again, not the gateway)...
Те делаем вывод GW пинговать песполезно :(
Надо именно, с компа одной локалки пинговать комп другой локалки.
>Вообшето в доке написано:
>...Test your connection
>Sit at one of your local subnet nodes (not the gateway), and
>ping a subnet node on the other (again, not the gateway)...
>
>Те делаем вывод GW пинговать песполезно :(
>Надо именно, с компа одной локалки пинговать комп другой локалки.
ну тут говорили что с помощью iproute можно это сделать.
А маски подсети на компьютерах в локальной сети какие должны быть? 255.255.0.0 или с 255.255.255.0 тоже должно работать?
Лучше 255.255.255.0 (/24 бита)
1. не заню как себя поведет openswan
2. зачем тунель бродкасами захламлять? :)
>Лучше 255.255.255.0 (/24 бита)
>1. не заню как себя поведет openswan
>2. зачем тунель бродкасами захламлять? :)насчет пингования (и не только, онгда нужен шифрованный канал именно между шлюзами) имею предположение что можно поднять параллельно еще одним коннекшном транспортное соединение, должно работать, но сам не пробовал.
насчет iproute действительно интересно... но что то нигде нету