Тема наверное поднималась много раз.
pptp сервер freebsd c mpd.
Как передать маршруты виндовому клиенту?
Исследования показали что при установлении тунеля виндовый клиент посылает DHCPinform пакет и ждет DHCPACK ответ.
В принципе, если есть небольшие знания в С, можно подправить например /usr/ports/net/dhcprelay, чтобы оно умело работать с ng интерфейсами.
В часности там нужно изменить длину ether звголовков, и подправить проверку на тип пакета.
Но у меня днсп сервер находится за pix у которой свои понятия какие пакеты должны ходить какие нет.
Поэтому был выбран путь написать програмку которая бы принимала DHCPinform и посылала обратно DHCPACK.
Программа вешается на iface_up.sh скрипт и тут все хорошо, пакетик принимается, формируется ответ и отсылается.
Но есть проблема! Нет доки что же нужно винде, а если ей что то не нравится она просто втихаря дропает паке и ничего не делает.
В общем мне удалось с помошью navion c lissyara.su подобрать ответный пакет под win7. Оказалось что для семерки обязательны опции 54 и 249,
просто опция 249 не прокатывает.
А под winXP никак не выходит.
Вот пакет, который работает для вин7, но не работает для winxp
10:22:03.045450 AF IPv4 (2), length 292: (tos 0x0, ttl 16, id 0, offset 0, flags [none], proto UDP (1 ), length 288)
skuns.local.net.bootps > 255.255.255.255.bootpc: [udp sum ok] BOOTP/DHCP, Reply, length 260, htype 8, hlen 0, xid 0x32634d27, Flags [none] (0x0000)
Client-IP 10.144.134.70
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: skuns.local.net
Classless-Static-Route-Microsoft Option 249, length 8: (192.168.100.0/24:10.144.134.65)
END Option 255, length 0
0x0000: 0200 0000 4500 0120 0000 0000 1011 27e4
0x0010: 248d 5d5d ffff ffff 0043 0044 010c f1aa
0x0020: 0208 0000 3263 4d27 0000 0000 0a90 8646
0x0030: 0000 0000 0000 0000 0000 0000 0000 0000
0x0040: 0000 0000 0000 0000 0000 0000 0000 0000
0x0050: 0000 0000 0000 0000 0000 0000 0000 0000
0x0060: 0000 0000 0000 0000 0000 0000 0000 0000
0x0070: 0000 0000 0000 0000 0000 0000 0000 0000
0x0080: 0000 0000 0000 0000 0000 0000 0000 0000
0x0090: 0000 0000 0000 0000 0000 0000 0000 0000
0x00a0: 0000 0000 0000 0000 0000 0000 0000 0000
0x00b0: 0000 0000 0000 0000 0000 0000 0000 0000
0x00c0: 0000 0000 0000 0000 0000 0000 0000 0000
0x00d0: 0000 0000 0000 0000 0000 0000 0000 0000
0x00e0: 0000 0000 0000 0000 0000 0000 0000 0000
0x00f0: 0000 0000 0000 0000 0000 0000 0000 0000
0x0100: 0000 0000 0000 0000 0000 0000 6382 5363
0x0110: 3501 0536 045d 5d8d 24f9 0818 c0a8 640a
0x0120: 9086 41ff
В общем если кому не трудно скинте полный дамп пакетов запроса ответа для winXP, с рабочего решения, где серваком является винда или циска.
Програмку как доделаю обязательно выложу.