LINUX.ORG.RU
ФорумAdmin

траффик между тремя подсетями

 ,


0

1

Здравствуйте. Есть необходимость обьединить 3 подсети. Имеется: подсети 10.0.0.0/24, 10.0.1.0/24, 10.0.2.0/24, шлюзы соответственно 10.0.0.1, 10.0.1.1, 10.0.2.1.

10.0.0.0\24, 10.0.2.0/24 подкключены чз strongswan к 10.0.1.0/24 есть еще клиенты VPN (99% iOS, android) подключены к 10.0.1.0/24

Сложность в том, что клиенты android не имеют доступ только к шлюзам, но не имеют доступа к хостам подсетей.

10.0.1.1 ipsec.conf:

conn offnet
	ikelifetime=60m
	keylife=20m
	rekeymargin=3m
	keyingtries=1
	authby=secret
	keyexchange=ikev2
	mobike=no
	left=1.2.4.7
	leftsubnet=10.0.1.0/24
	leftid=1.2.4.7
	leftfirewall=yes
	right=3.4.3.4
	rightsubnet=10.0.0.0/24
	rightid=3.4.3.4
    rightfirewall=yes
	auto=add

conn offnet1
	ikelifetime=60m
	keylife=20m
	rekeymargin=3m
	keyingtries=1
	authby=secret
  
	keyexchange=ikev2
	mobike=no
	left=1.2.4.7
	leftsubnet=10.0.1.0/24
	leftid=1.2.4.7
	leftfirewall=yes
	right=%any
	rightsubnet=10.0.2.0/24
	rightid=%any
    rightfirewall=yes
	auto=add



conn ikev2-vpn
    auto=add
    compress=no
    type=tunnel
    keyexchange=ikev2
    fragmentation=yes
    forceencaps=yes
    ike=aes256-sha1-modp1024,aes256-sha1-modp4096,3des-sha1-modp1024!
    esp=aes256-sha1,3des-sha1!
    dpdaction=clear
    dpddelay=30s
    rekey=yes
    left=1.2.4.7
    leftid=1.2.4.7
    leftcert=/etc/ipsec.d/certs/host.pem
    leftsendcert=always
    leftsubnet=0.0.0.0/0
    leftfirewall=yes
    right=%any
    rightid=%any
    rightsubnet=10.0.1.80/28
    rightauth=eap-mschapv2
    rightdns=8.8.8.8,8.8.4.4
    rightsourceip=10.0.1.80/28
    rightsendcert=never
    eap_identity=%identity

10.0.1.1 ip ro:

default via 1.2.4.1 dev ens19
10.0.0.0/24 via 1.2.4.7 dev ens19
10.0.1.0/24 dev ens18  proto kernel  scope link  src 10.0.1.78
10.0.1.80/28 via 10.0.1.78 dev ens18
10.0.2.0/24 via 1.2.4.7 dev ens19
1.2.4.0/24 dev ens19  proto kernel  scope link  src 1.2.4.7

10.0.0.1, 10.0.2.1:

conn offs
    ikelifetime=60m
	keylife=20m
	rekeymargin=3m
	keyingtries=1
	authby=secret
	keyexchange=ikev2
	mobike=no
	left=%any
	leftsubnet=10.0.2.0/24
	leftid=%any
	leftfirewall=yes
	right=1.2.4.7
	rightsubnet=10.0.1.0/24 #10.0.2.0/24 соответственно
	rightid=1.2.4.7
    rightfirewall=yes
	auto=start
10.0.2.1, 10.0.0.1 ip ro:
default via 192.168.8.1 dev enp1s0 proto static
10.0.2.0/24 dev enp2s0 proto kernel scope link src 10.0.2.1 #10.0.0.0/24 соответственно
192.168.8.0/24 dev enp1s0 proto kernel scope link src 192.168.8.110

пробовал к примеру на 10.0.0.1 (аналогично на 10.0.2.1):

ip route add 10.0.2.0/24 via $внешнийIP

ip route add 10.0.2.0/24 dev ens19 #«внешний» адаптер

ip route add 10.0.2.0/24 via 10.0.0.1

таблицы iptables пустые. 10.0.1.77 ip ro (отдельный хост):

default via 10.0.1.1 dev eth0
10.0.0.0/24 via 10.0.1.78 dev eth0
10.0.1.0/24 dev eth0 proto kernel scope link src 10.0.1.77
10.0.1.80/28 via 10.0.1.78 dev eth0
10.0.2.0/24 via 10.0.1.78 dev eth0
169.254.0.0/16 dev eth0 scope link metric 1002
видит хосты в обеих подсетях.

проблема - клиенты VPN (android iOS 10.0.1.80/28) видят только хосты 10.0.1.0/24 и шлюзы 10.0.2.1, 10.0.0.1 соответственно между сетями 10.0.0.0\24 и 10.0.2.0\24 трафик вообще не идет.

ооочень хочется (необходимо) получить 10.0.2.0\24 <--> 10.0.0.0\24 и тд. вобщем поток траффика между всеми хостами

мож кто чего посоветует?

10.0.0.1, 10.0.2.1:
leftsubnet=10.0.2.0/24
rightsubnet=10.0.1.0/24 #10.0.2.0/24 соответственно

Ну как минимум, что вижу я тут должно быть перечислено несколько сетей, на примере 10.0.2.0
rightsubnet=10.0.1.0/24,10.0.0.0/24

ЗЫ Смотреть надо не ip ro а ip xfrm

anc ★★★★★ ()

У Вас слишком перегруженный конфиг, попробуйте следующее

10.0.1.1:

conn %default
        auto=route
        left=1.2.4.7
	leftid=1.2.4.7
        ike=aes256gcm16-sha2_256-ecp521,aes256-sha1-sha2_256-modp1024-ecp521
        esp=aes256gcm16-ecp521,aes256ctr-sha2_256-ecp521
        rekey=no
        dpddelay=30
        dpdtimeout=120
        dpdaction=clear
        ikelifetime=1h
        lifetime=8h
        fragmentation=yes
        keyexchange=ikev2
        type=tunnel
        reauth=no
	leftfirewall=yes
conn offnet
	leftsubnet=10.0.0.0/16
	leftfirewall=yes
	right=3.4.3.4
	rightsubnet=10.0.0.0/24
	rightid=3.4.3.4
conn offnet1
  	leftsubnet=10.0.0.0/16
	right=%any
	rightsubnet=10.0.2.0/24
	rightid=%any
conn ikev2-vpn
    leftcert=/etc/ipsec.d/certs/host.pem
    leftsendcert=always
    leftsubnet=0.0.0.0/0
    right=%any
    rightid=%any
    rightauth=eap-mschapv2
    rightdns=8.8.8.8,8.8.4.4
    rightsourceip=10.0.1.80/28
    rightsendcert=never
    eap_identity=%identity

10.0.0.1, 10.0.2.1:

conn offs
    ike=aes256gcm16-sha2_256-ecp521!
    esp=aes256gcm16-sha2_256-ecp521!
    ikelifetime=1h
    lifetime=8h
    keyingtries=%forever
    authby=secret
    keyexchange=ikev2
    type=tunnel
    dpddelay=30
    dpdtimeout=120
    dpdaction=restart
    closeaction=restart
    left=%any
    leftsubnet=10.0.0.0/16
    leftid=%any
    leftfirewall=yes
    right=1.2.4.7
    rightsubnet=10.0.1.0/24 #10.0.2.0/24 соответственно
    rightid=1.2.4.7
    auto=start 

Так же обязательно нужно сделать

iptables -t nat -I POSTROUTING -m policy --dir out --pol ipsec -j ACCEPT
korsar182 ()