Исходные данные:
Linux 2.6.27.12-78.2.8.fc9
pptpd 1.3.4
pppd 2.4.4
Все прекрасно работает в "активном" режиме, НО есть клиенты с "серыми" IP, поэтому попробовал использовать режим "silent".
И действительно, уж "silent", так "silent" - TCP handshake проходит, а затем клиент шлет 10 запросов LCP Conf-Req, на которые нет никакого отклика, ну и соответственно - выход клиента по таймауту (LCP Conf-Req timeout), сервер - Modem hangup, connection terminated...
На стороне сервера в логах ошибок нет, tcpdump показывает, что все пакеты проходят, только вот pppd молчит.
От отчаяния снял сервер, поставил все политики в iptables в ACCEPT, ну понятно, результат тот же (то есть дело не в iptables).
В логе нет ничего интересного, поэтому не привожу.
Вот конфиг (/etc/ppp/options.pptpd):
name xxx
asyncmap FFFFFFFF
192.168.0.245:
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 192.168.0.2
lcp-echo-failure 2
lcp-echo-interval 30
lock
nobsdcomp
novj
novjccomp
nodefaultroute
nodeflate
silent
debug
Вот tcpdump (x.x.x.x - client, y.y.y.y - server):
12:30:27.679567 IP (tos 0x0, ttl 57, id 21489, offset 0, flags [DF], proto TCP (6), length 60) x.x.x.x.46744 > y.y.y.y.pptp: S, cksum 0xd4b8 (correct), 1095987543:1095987543(0) win 5840 <mss 1460,sackOK,timestamp 4661926 0,nop,wscale 4>
12:30:27.679680 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60) y.y.y.y.pptp > x.x.x.x.46744: S, cksum 0x6158 (correct), 1330326543:1330326543(0) ack 1095987544 win 5792 <mss 1460,sackOK,timestamp 5306323 4661926,nop,wscale 5>
12:30:27.704318 IP (tos 0x0, ttl 57, id 21490, offset 0, flags [DF], proto TCP (6), length 52) x.x.x.x.46744 > y.y.y.y.pptp: ., cksum 0xa53a (correct), 1:1(0) ack 1 win 365 <nop,nop,timestamp 4661953 5306323>
12:30:27.707239 IP (tos 0x0, ttl 57, id 21491, offset 0, flags [DF], proto TCP (6), length 208) x.x.x.x.46744 > y.y.y.y.pptp: P 1:157(156) ack 1 win 365 <nop,nop,timestamp 4661954 5306323>: pptp Length=156 CTRL-MSG Magic-Cookie=1a2b3c4d CTRL_MSGTYPE=SCCRQ PROTO_VER(1.0) FRAME_CAP(AS) BEARER_CAP(DA) MAX_CHAN(65535) FIRM_REV(1) [|pptp]
12:30:27.707351 IP (tos 0x0, ttl 64, id 56316, offset 0, flags [DF], proto TCP (6), length 52) y.y.y.y.pptp > x.x.x.x.46744: ., cksum 0xa518 (correct), 1:1(0) ack 157 win 215 <nop,nop,timestamp 5306350 4661954>
12:30:27.712650 IP (tos 0x0, ttl 64, id 56317, offset 0, flags [DF], proto TCP (6), length 208) y.y.y.y.pptp > x.x.x.x.46744: P 1:157(156) ack 157 win 215 <nop,nop,timestamp 5306356 4661954>: pptp Length=156 CTRL-MSG Magic-Cookie=1a2b3c4d CTRL_MSGTYPE=SCCRP PROTO_VER(1.0) RESULT_CODE(1:Successful channel establishment) ERR_CODE(0:None) FRAME_CAP() BEARER_CAP() MAX_CHAN(1) FIRM_REV(1) [|pptp]
12:30:27.739507 IP (tos 0x0, ttl 57, id 21492, offset 0, flags [DF], proto TCP (6), length 52) x.x.x.x.46744 > y.y.y.y.pptp: ., cksum 0xa37c (correct), 157:157(0) ack 157 win 432 <nop,nop,timestamp 4661987 5306356>
12:30:28.715869 IP (tos 0x0, ttl 57, id 21493, offset 0, flags [DF], proto TCP (6), length 220) x.x.x.x.46744 > y.y.y.y.pptp: P 157:325(168) ack 157 win 432 <nop,nop,timestamp 4662963 5306356>: pptp Length=168 CTRL-MSG Magic-Cookie=1a2b3c4d CTRL_MSGTYPE=OCRQ CALL_ID(0) CALL_SER_NUM(0) MIN_BPS(2400) MAX_BPS(10000000) BEARER_TYPE(Any) [|pptp]
12:30:28.745007 IP (tos 0x0, ttl 64, id 56318, offset 0, flags [DF], proto TCP (6), length 84) y.y.y.y.pptp > x.x.x.x.46744: P 157:189(32) ack 325 win 248 <nop,nop,timestamp 5307388 4662963>: pptp Length=32 CTRL-MSG Magic-Cookie=1a2b3c4d CTRL_MSGTYPE=OCRP CALL_ID(128) PEER_CALL_ID(0) RESULT_CODE(1:Connected) ERR_CODE(0:None) CAUSE_CODE(0) CONN_SPEED(10000000) RECV_WIN(3) PROC_DELAY(0) [|pptp]
12:30:28.769071 IP (tos 0x0, ttl 57, id 21494, offset 0, flags [DF], proto TCP (6), length 52) x.x.x.x.46744 > y.y.y.y.pptp: ., cksum 0x9aa6 (correct), 325:325(0) ack 189 win 432 <nop,nop,timestamp 4663017 5307388>
12:30:28.771104 IP (tos 0x0, ttl 57, id 8869, offset 0, flags [DF], proto GRE (47), length 56) x.x.x.x > y.y.y.y: GREv1, Flags [key present, sequence# present], call 128, seq 1, length 36
LCP, Conf-Request (0x01), id 1, length 22
encoded length 20 (=Option(s) length 16)
0x0000: c021 0101 0014
ACCM Option (0x02), length 6: 0x00000000
0x0000: 0000 0000
Magic-Num Option (0x05), length 6: 0x3de36b1f
0x0000: 3de3 6b1f
PFC Option (0x07), length 2:
ACFC Option (0x08), length 2:
...
...
...
12:30:55.697515 IP (tos 0x0, ttl 57, id 8878, offset 0, flags [DF], proto GRE (47), length 56) x.x.x.x > y.y.y.y: GREv1, Flags [key present, sequence# present], call 128, seq 10, length 36
LCP, Conf-Request (0x01), id 1, length 22
encoded length 20 (=Option(s) length 16)
0x0000: c021 0101 0014
ACCM Option (0x02), length 6: 0x00000000
0x0000: 0000 0000
Magic-Num Option (0x05), length 6: 0x3de36b1f
0x0000: 3de3 6b1f
PFC Option (0x07), length 2:
ACFC Option (0x08), length 2:
12:30:58.717360 IP (tos 0x0, ttl 57, id 21495, offset 0, flags [DF], proto TCP (6), length 68) x.x.x.x.46744 > y.y.y.y.pptp: P, cksum 0xcefa (correct), 325:341(16) ack 189 win 432 <nop,nop,timestamp 4692967 5307388>: pptp Length=16 CTRL-MSG Magic-Cookie=1a2b3c4d CTRL_MSGTYPE=CCRQ CALL_ID(0)
12:30:58.719828 IP (tos 0x0, ttl 57, id 21496, offset 0, flags [DF], proto TCP (6), length 52) x.x.x.x.46744 > y.y.y.y.pptp: F, cksum 0x2596 (correct), 341:341(0) ack 189 win 432 <nop,nop,timestamp 4692968 5307388>
12:30:58.721213 IP (tos 0x0, ttl 64, id 56319, offset 0, flags [DF], proto TCP (6), length 52) y.y.y.y.pptp > x.x.x.x.46744: F, cksum 0xb135 (correct), 189:189(0) ack 342 win 248 <nop,nop,timestamp 5337364 4692967>
12:30:58.740142 IP (tos 0x0, ttl 57, id 21497, offset 0, flags [DF], proto TCP (6), length 52) x.x.x.x.46744 > y.y.y.y.pptp: ., cksum 0xb064 (correct), 342:342(0) ack 190 win 432 <nop,nop,timestamp 4692992 5337364>
Небольшое добавление - клиенты, из-за которых пришлось включать "silent", имеют "серый" IP, провайдер сделал на входящие соединения петлю из 2-х роутеров, соответственно все входящие к ним коннекты "уходят" по TTL exceeded. Но я не вижу попыток исходящих соединений от сервера, так что, это скорее всего к делу не относится...
Есть мысли на этот счет?
P.S. А кстати, у кого-нибудь работает "silent"?..
poptop (pppd) silent mode не работает
Модераторы: SLEDopit, Модераторы разделов