LINUX.ORG.RU
решено ФорумAdmin

xl2tpd, более 1 клиента

 , ,


0

1

Как сделать так, чтобы xl2tpd для разных клиентов VPN'а делал разные локальные IP у ppp-тоннелей? Сейчас получается так:

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:10.203.123.200  P-t-P:10.203.123.201  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:128 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:5702 (5.5 KiB)  TX bytes:82 (82.0 b)

ppp1      Link encap:Point-to-Point Protocol  
          inet addr:10.203.123.200  P-t-P:10.203.123.202  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:46 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:5140 (5.0 KiB)  TX bytes:5424 (5.2 KiB)

Из-за того, что у 2х интерфейсов одинаковый адрес ядро не знает куда разбрасывать пакеты соответственно соединениям. Хочется, чтобы у ppp1 и ppp0 были разные inet addr, у однго 200, а у другого - 220, например. Конфиг:

[global]
ipsec saref = yes
force userspace = yes
[lns default]
local ip = 10.203.123.200
ip range = 10.203.123.201-10.203.123.210
refuse pap = yes
require authentication = yes
ppp debug = yes
length bit = yes
pppoptfile = /etc/ppp/options.xl2tpd
★★★★★

Если ты хочешь, чтобы впнщики адресовались из локалки, то тебе надо включить proxyarp в pppd.conf. А если что другое, то я не знаю.

thesis ★★★★★
()

Это совершенно нормально, когда локальный адрес один. У меня так было и всё работало корректно.

В чем проявляется то, что «ядро не знает»?

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Ну, работает только тот клиент, который подключился последним. Теперь я опять не понимаю почему: я думал, что из-за совпадающего IP.

Shaman007 ★★★★★
() автор топика
Ответ на: комментарий от blind_oracle

логи:

Aug  7 16:13:12 andreybondarenko racoon: INFO: respond new phase 1 negotiation: 85.17.212.9[500]<=>37.200.120.210[500]
Aug  7 16:13:12 andreybondarenko racoon: INFO: begin Identity Protection mode.
Aug  7 16:13:12 andreybondarenko racoon: INFO: received Vendor ID: RFC 3947
Aug  7 16:13:12 andreybondarenko racoon: INFO: received Vendor ID: draft-ietf-ipsec-nat-t-ike-08
Aug  7 16:13:12 andreybondarenko racoon: INFO: received Vendor ID: draft-ietf-ipsec-nat-t-ike-07
Aug  7 16:13:12 andreybondarenko racoon: INFO: received Vendor ID: draft-ietf-ipsec-nat-t-ike-06
Aug  7 16:13:12 andreybondarenko racoon: INFO: received Vendor ID: draft-ietf-ipsec-nat-t-ike-05
Aug  7 16:13:12 andreybondarenko racoon: INFO: received Vendor ID: draft-ietf-ipsec-nat-t-ike-04
Aug  7 16:13:12 andreybondarenko racoon: INFO: received Vendor ID: draft-ietf-ipsec-nat-t-ike-03
Aug  7 16:13:12 andreybondarenko racoon: INFO: received Vendor ID: draft-ietf-ipsec-nat-t-ike-02
Aug  7 16:13:12 andreybondarenko racoon: INFO: received Vendor ID: draft-ietf-ipsec-nat-t-ike-02#012
Aug  7 16:13:12 andreybondarenko racoon: INFO: received broken Microsoft ID: FRAGMENTATION
Aug  7 16:13:12 andreybondarenko racoon: INFO: received Vendor ID: DPD
Aug  7 16:13:12 andreybondarenko racoon: [37.200.120.210] INFO: Selected NAT-T version: RFC 3947
Aug  7 16:13:12 andreybondarenko racoon: [85.17.212.9] INFO: Hashing 85.17.212.9[500] with algo #2 
Aug  7 16:13:12 andreybondarenko racoon: INFO: NAT-D payload #0 verified
Aug  7 16:13:12 andreybondarenko racoon: [37.200.120.210] INFO: Hashing 37.200.120.210[500] with algo #2 
Aug  7 16:13:12 andreybondarenko racoon: INFO: NAT-D payload #1 doesn't match
Aug  7 16:13:12 andreybondarenko racoon: INFO: NAT detected: PEER
Aug  7 16:13:12 andreybondarenko racoon: [37.200.120.210] INFO: Hashing 37.200.120.210[500] with algo #2 
Aug  7 16:13:12 andreybondarenko racoon: [85.17.212.9] INFO: Hashing 85.17.212.9[500] with algo #2 
Aug  7 16:13:12 andreybondarenko racoon: INFO: Adding remote and local NAT-D payloads.
Aug  7 16:13:12 andreybondarenko racoon: [37.200.120.210] ERROR: couldn't find the pskey for 37.200.120.210.
Aug  7 16:13:12 andreybondarenko racoon: [37.200.120.210] NOTIFY: Using default PSK.
Aug  7 16:13:12 andreybondarenko racoon: INFO: NAT-T: ports changed to: 37.200.120.210[4500]<->85.17.212.9[4500]
Aug  7 16:13:12 andreybondarenko racoon: INFO: KA list add: 85.17.212.9[4500]->37.200.120.210[4500]
Aug  7 16:13:12 andreybondarenko racoon: [37.200.120.210] INFO: received INITIAL-CONTACT
Aug  7 16:13:12 andreybondarenko racoon: INFO: ISAKMP-SA established 85.17.212.9[4500]-37.200.120.210[4500] spi:5c397c4535a49b80:ba7469257e1dd613
Aug  7 16:13:13 andreybondarenko racoon: INFO: respond new phase 2 negotiation: 85.17.212.9[4500]<=>37.200.120.210[4500]
Aug  7 16:13:13 andreybondarenko racoon: INFO: Adjusting my encmode UDP-Transport->Transport
Aug  7 16:13:13 andreybondarenko racoon: INFO: Adjusting peer's encmode UDP-Transport(4)->Transport(2)
Aug  7 16:13:13 andreybondarenko racoon: INFO: IPsec-SA established: ESP/Transport 85.17.212.9[4500]->37.200.120.210[4500] spi=64175178(0x3d33c4a)
Aug  7 16:13:13 andreybondarenko racoon: INFO: IPsec-SA established: ESP/Transport 85.17.212.9[4500]->37.200.120.210[4500] spi=159074573(0x97b490d)
Aug  7 16:13:15 andreybondarenko xl2tpd[27685]: Connection established to 37.200.120.210, 61177.  Local: 15927, Remote: 35 (ref=0/0).  LNS session is 'default'
Aug  7 16:13:15 andreybondarenko xl2tpd[27685]: Call established with 37.200.120.210, Local: 37777, Remote: 6814, Serial: 1
Aug  7 16:13:15 andreybondarenko pppd[28158]: pppd 2.4.5 started by root, uid 0
Aug  7 16:13:15 andreybondarenko pppd[28158]: Using interface ppp0
Aug  7 16:13:15 andreybondarenko pppd[28158]: Connect: ppp0 <--> /dev/pts/3
Aug  7 16:13:15 andreybondarenko pppd[28158]: peer from calling number 37.200.120.210 authorized
Aug  7 16:13:15 andreybondarenko pppd[28158]: Unsupported protocol 'IPv6 Control Protocol' (0x8057) received
Aug  7 16:13:15 andreybondarenko racoon: INFO: 10.203.123.200[500] used for NAT-T
Aug  7 16:13:15 andreybondarenko racoon: ERROR: privsep_bind (Cannot assign requested address) = -1
Aug  7 16:13:15 andreybondarenko racoon: [10.203.123.200] ERROR: failed to bind to address 10.203.123.200[500] (Cannot assign requested address).
Aug  7 16:13:15 andreybondarenko racoon: INFO: 10.203.123.200[4500] used for NAT-T
Aug  7 16:13:15 andreybondarenko racoon: ERROR: privsep_bind (Cannot assign requested address) = -1
Aug  7 16:13:15 andreybondarenko racoon: [10.203.123.200] ERROR: failed to bind to address 10.203.123.200[4500] (Cannot assign requested address).
Aug  7 16:13:15 andreybondarenko racoon: INFO: 10.203.123.200[500] used for NAT-T
Aug  7 16:13:15 andreybondarenko racoon: INFO: 10.203.123.200[500] used as isakmp port (fd=19)
Aug  7 16:13:15 andreybondarenko racoon: INFO: 10.203.123.200[4500] used for NAT-T
Aug  7 16:13:15 andreybondarenko racoon: INFO: 10.203.123.200[4500] used as isakmp port (fd=20)
Aug  7 16:13:15 andreybondarenko pppd[28158]: Cannot determine ethernet address for proxy ARP
Aug  7 16:13:15 andreybondarenko pppd[28158]: local  IP address 10.203.123.200
Aug  7 16:13:15 andreybondarenko pppd[28158]: remote IP address 10.203.123.201
Aug  7 16:13:17 andreybondarenko pppd[28158]: LCP terminated by peer (User request)
Aug  7 16:13:17 andreybondarenko pppd[28158]: Connect time 0.1 minutes.
Aug  7 16:13:17 andreybondarenko pppd[28158]: Sent 0 bytes, received 264 bytes.
Aug  7 16:13:17 andreybondarenko xl2tpd[27685]: control_finish: Connection closed to 37.200.120.210, serial 1 ()
Aug  7 16:13:17 andreybondarenko xl2tpd[27685]: control_finish: Connection closed to 37.200.120.210, port 61177 (), Local: 15927, Remote: 35
Aug  7 16:13:17 andreybondarenko racoon: INFO: purged IPsec-SA proto_id=ESP spi=159074573.
Aug  7 16:13:17 andreybondarenko racoon: INFO: purging ISAKMP-SA spi=5c397c4535a49b80:ba7469257e1dd613.
Aug  7 16:13:17 andreybondarenko racoon: INFO: purged IPsec-SA spi=64175178.
Aug  7 16:13:17 andreybondarenko racoon: INFO: purged ISAKMP-SA spi=5c397c4535a49b80:ba7469257e1dd613.
Aug  7 16:13:17 andreybondarenko racoon: INFO: ISAKMP-SA deleted 85.17.212.9[4500]-37.200.120.210[4500] spi:5c397c4535a49b80:ba7469257e1dd613
Aug  7 16:13:17 andreybondarenko racoon: INFO: KA remove: 85.17.212.9[4500]->37.200.120.210[4500]
Shaman007 ★★★★★
() автор топика
Ответ на: комментарий от Shaman007

Покеж /etc/ppp/options.xl2tpd

In some cases it is desirable to use proxy ARP, for example on a server machine connected to a LAN, in order to allow other hosts to communicate with the remote host. The proxyarp option causes pppd to look for a network interface on the same subnet as the remote host (an interface supporting broadcast and ARP, which is up and not a point-to-point or loopback interface). If found, pppd creates a permanent, published ARP entry with the IP address of the remote host and the hardware address of the network interface found.

Т.е. у тебя должен быть ethХ в сети 10.203.123.0/24 или какая у тебя там.

blind_oracle ★★★★★
()
Ответ на: комментарий от Shaman007

Это бывает, когда клиенту назначается адрес, не принадлежащий локалке, в которую торчит сервер ВПН. Тебе точно надо выносить впнщиков в отдельную подсеть?

thesis ★★★★★
()
Ответ на: комментарий от blind_oracle

Короче, заменил racoon на openwsan и все заработало. Видимо, racoon не умеет NAT-Traversal, хотя и заявляет, что умеет.

Shaman007 ★★★★★
() автор топика
Ответ на: комментарий от Shaman007

Нынче вроде как strongswan самый развиваемый. Я его везде юзаю, проблем нет. А енот да, уже устарел.

blind_oracle ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.