LINUX.ORG.RU
ФорумAdmin

dhcpd не раздает default gw на linux машины

 ,


0

1

Добрый день! Имеется сервер CentOSx64 7/DHCP Server 4.2.5, Настраивал его в связке с Named, все работало, ip раздавал исправно в т.ч и шлюз, далее понадобилось раздавать клиентам статичный маршрут в др. сеть, добавил несколько строк в конфиг:

# MS routes: adds extras to supplement routers option
option ms-classless-static-routes code 249 = array of unsigned integer 8;
# RFC3442 routes: overrides routers option
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

 option ms-classless-static-routes 24, 174,182,112, 192,168,112,249;
  option rfc3442-classless-static-routes 24, 174,182,112, 192,168,112,249;
Клиенты под управлением os Windows получают и статический маршрут и default gw, а вот клиенты под Linux либо android так же получают статический маршрут, но не получают default gw, в следствии чего у них нет доступа к интернету. Без статического маршрута в конфиге dhcpd все опять прекрасно работает и у тех и у других. Собственно сам конфиг

ddns-updates on;
update-static-leases on;
ddns-domainname "gw.infraenergo.kz";
ddns-update-style interim;
ignore client-updates;
update-static-leases true;
key DHCP_UPDATER {
algorithm HMAC-MD5;
secret "LQXXtywyHmxgxWr6+Ug+wg==";
}
local-address 192.168.112.21;
zone infraenergo.kz. { primary 192.168.112.21; key DHCP_UPDATER; }
zone 112.168.192.in-addr.arpa. { primary 192.168.112.21; key DHCP_UPDATER; }
# network, the authoritative directive should be uncommented.
authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;

# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.

# MS routes: adds extras to supplement routers option
option ms-classless-static-routes code 249 = array of unsigned integer 8;
# RFC3442 routes: overrides routers option
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

send host-name "hostname";
request subnet-mask,broadcast-address,time-offset,routers;

# A slightly different configuration for an internal subnet.
subnet 192.168.112.0 netmask 255.255.254.0 {
  range 192.168.113.71 192.168.113.73;
  option subnet-mask 255.255.254.0;
  option netbios-name-servers 192.168.112.69;
  option netbios-dd-server 192.168.112.69;
  option netbios-node-type 8;
  option domain-name-servers 192.168.112.21;
  option domain-name "infraenergo.kz";
  option broadcast-address 192.168.113.255;
  option ntp-servers 192.168.112.21;
  option routers 192.168.112.21;
  option ms-classless-static-routes 24, 174,182,112, 192,168,112,249;
  option rfc3442-classless-static-routes 24, 174,182,112, 192,168,112,249;
  default-lease-time 88886400;
  max-lease-time 88886400;
}
# You can declare a class of clients and then do address allocation based on that.  The example below shows a case where all clients in a certain
# class get addresses on the 10.17.224/24 subnet, and all other clients get addresses on the 10.0.29/24 subnet.

host comp {
 hardware ethernet 02:33:65:b0:92:f9;
 fixed-address 192.168.112.111;
}

Гуглил на эту тему, нашел кое-что вот ТУТ! Но при добавлении

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
# request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes;
идет ругань в логах, не верный синтаксис. В общем буду рад советам.



Последнее исправление: Demolitionman (всего исправлений: 1)

Это, вроде как не баг, а фича, более точное соответствие rfc 3442. Если клиент понимает такие маршруты, то он должен игнорировать routers. Попробуйте добавить ещё одну ″option rfc3442-classless-static-routes″ с маршрутом по умолчанию.

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

Попробуйте добавить ещё одну

Как будет выглядеть эта строка?

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

пробовал как описано ТУТ!

option rfc3442-classless-static-routes 24, 174,182,112, 192,168,112,249, 0, 1, 0, 192, 168, 112, 21;

Получил обратный эфект, юзеры на Linux получили и шлюз и маршрут, а вот под виндой вообще ни чего не получили, даже ip)

Demolitionman
() автор топика
Ответ на: комментарий от Demolitionman
option rfc3442-classless-static-routes 24, 174,182,112, 192,168,112,249, 0, 192,168,112,21;

Destination: 24,174,182,112, Router: 192,168,112,249,

Destination: 0, Router: 192,168,112,21

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

Странно, я в первый раз так и сделал, но dhcpd не запустился, видимо где то в синтаксисе ошибся. скопипастил помогло, теперь маршуты и gw получают Linux и Win машины. Спасибо, тема закрыта.

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