НАШИ СКРИПТЫ: DHCP LINUX

Скрипт dhcp.pl используется для передачи опции DHCP ‘classless static routes’ на конечные хосты. Сам скрипт запускается на сервере командой

 ./dhcp.pl

Не забудьте предварительно поставить права на запуск, а также заменить описанные сети на свои:


chmod +x dhcp.pl

Исходный код скрипта:

<pre>#!/usr/bin/perl
use strict;
# Usage:
# # make_classless_option({ "subnet/mask" => "router", "subnet/mask" => "router", ... });
# # subnet the subnet address, 4 dot-separated numbers
# # mask the subnet mask length (e.g. /24 corresponds to 255.255.255.0, /8 corresponds to 255.0.0.0)
# # router the router address, 4 dot-separated numbers
# sub make_classless_option
{
my $routes = shift;
my ($s1, $s2, $s3, $s4, $len, @bytes, $net, $mask, $destination, $router);
$len = 2;
@bytes = ();
foreach $destination(keys %{$routes}) {
($net, $mask) = split('/', $destination);
$router = $routes->{$destination};
($s1, $s2, $s3, $s4) = split(/\./, $net);
push(@bytes, sprintf('%02x', $mask));
push(@bytes, sprintf('%02x', $s1));
push(@bytes, sprintf('%02x', $s2)) if($mask > 8);
push(@bytes, sprintf('%02x', $s3)) if($mask > 16);
push(@bytes, sprintf('%02x', $s4)) if($mask > 24);
($s1, $s2, $s3, $s4) = split(/\./, $router);
push(@bytes, sprintf('%02x', $s1));
push(@bytes, sprintf('%02x', $s2));
push(@bytes, sprintf('%02x', $s3));
push(@bytes, sprintf('%02x', $s4));
}
return join(':', @bytes);
}
# Sample usage
print make_classless_option({
"10.0.0.0/8" => "10.10.10.3",
"10.10.10.0/24" => "10.10.10.1",
"172.16.0.0/12" => "10.10.10.3",
"192.168.0.0/24" => "10.10.10.3"
});</pre>

Related posts:

  1. НАШИ СКРИПТЫ: ПОДСЧЕТ ТРАФИКА НА ISA2006 Логи файлов ISA сервера 2000, 2006 хранятся в текстовом формате...
  2. OpenVPN. Объединение филиалов и ЦО. Сегодня речь пойдет о использовании продукта OpenVPN для объединения нескольких...
You can leave a response, or trackback from your own site.

One Response to “НАШИ СКРИПТЫ: DHCP LINUX”

  1. [...] через dhcp? Тут нам пригодится скрип, написанный на Perl (dhcp.pl), его исходники лежат в разделе СКРИПТЫ. Суть его [...]

Оставить комментарий

*