Биллинговая система Nodeny

Главная категория => Nodeny Plus => Тема начата: Tooreagen от 31 Марта 2014, 17:49:50



Название: Белые IP
Отправлено: Tooreagen от 31 Марта 2014, 17:49:50
Всем привет! Помогите понять почему клиенту не выдается белый IP адрес. Вроде все настроил, но IP нет.
Смаршрутизированный пул от провайдера XXX.XXX.192.16/29
Сервер FreeBSD, PF, IPFW, MPD5

rc.conf
Код:
ifconfig_em0="DHCP"
ifconfig_em0_alias0="inet XXX.XXX.192.22 netmask 255.255.255.248"

ifconfig_em1="inet 172.16.10.1 netmask 255.255.255.0"
ifconfig_em1_alias0="inet 172.16.1.1 netmask 255.255.255.0"
ifconfig_em1_alias3="inet 172.16.11.1 netmask 255.255.255.0"

pf.conf
Код:
ext_if = "ng0"

set limit states 128000
set optimization aggressive

binat on $ext_if from 172.16.10.2 to any -> XXX.XXX.192.22

nat pass on $ext_if from 172.16.10.0/24 to any -> ($ext_if)
nat pass on $ext_if from 172.16.1.0/24 to any -> ($ext_if)
nat pass on $ext_if from 172.16.11.0/24 to any -> ($ext_if)

ifconfig
Код:
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
        ether d4:ca:6d:6f:93:a8
        inet XXX.XXX.192.22 netmask 0xfffffff8 broadcast XXX.XXX.192.23
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
        ether 90:e2:ba:52:6c:7d
        inet6 fe80::92e2:baff:fe52:6c7d%em1 prefixlen 64 scopeid 0x4
        inet 172.16.10.1 netmask 0xffffff00 broadcast 172.16.10.255
        inet 172.16.1.1 netmask 0xffffff00 broadcast 172.16.1.255
        inet 172.16.11.1 netmask 0xffffff00 broadcast 172.16.11.255
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
nfe0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=82008<VLAN_MTU,WOL_MAGIC,LINKSTATE>
        ether 00:22:15:b5:9a:46
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (none)
        status: no carrier
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
ipfw0: flags=8800<SIMPLEX,MULTICAST> metric 0 mtu 65536
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
        inet 127.0.0.1 netmask 0xff000000
        inet 172.16.254.1 netmask 0xffffffff
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1480
        inet XXX.XXX.193.103 --> XXX.XXX.2.191 netmask 0xffffffff
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

В билинге IP-пул добавил, тип пула статический. Клиенту адрес добавил, он светится но ключик авторизации не загорается. Что может быть?
А может IP и выдался только не пойму как проверить, пинга нету, хотя пакеты пишет идут. Возможно просто через серый IP
Код:
root@base:/usr/home/sergey # pfctl -sn -v
No ALTQ support in kernel
ALTQ related functions disabled
nat pass on ng0 inet from 172.16.10.0/24 to any -> (ng0) round-robin
  [ Evaluations: 26685919  Packets: 25738881  Bytes: 18678146431  States: 20250 ]
  [ Inserted: uid 0 pid 70001 State Creations: 1013228]
nat pass on ng0 inet from 172.16.1.0/24 to any -> (ng0) round-robin
  [ Evaluations: 573854    Packets: 0         Bytes: 0           States: 0     ]
  [ Inserted: uid 0 pid 70001 State Creations: 0     ]
nat pass on ng0 inet from 172.16.11.0/24 to any -> (ng0) round-robin
  [ Evaluations: 573854    Packets: 12491130  Bytes: 8170210170  States: 9232  ]
  [ Inserted: uid 0 pid 70001 State Creations: 533458]
binat on ng0 inet from 172.16.10.2 to any -> XXX.XXX.192.22
  [ Evaluations: 96085763  Packets: 960449    Bytes: 884396979   States: 187   ]
  [ Inserted: uid 0 pid 70001 State Creations: 14243 ]



Название: Re: Белые IP
Отправлено: Efendy от 31 Марта 2014, 17:53:48
Т.е. то, что у тебя клиент получил белый адрес - это считается, что он не получил? Может стоит спросить почему не показывается авторизация когда клиенту выдан белый ip?


Название: Re: Белые IP
Отправлено: Tooreagen от 31 Марта 2014, 18:29:38
Возможно и это стоит спросить))) я просто не совсем уверен что клиент получил. Так как пинга извне нет.


Название: Re: Белые IP
Отправлено: Efendy от 31 Марта 2014, 20:22:57
Цитировать
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1480
        inet XXX.XXX.193.103 --> XXX.XXX.2.191 netmask 0xffffffff
получал


Название: Re: Белые IP
Отправлено: Tooreagen от 31 Марта 2014, 21:02:35
Нет это не клиент, это PPPoE к провайдеру с моего сервера.


Название: Re: Белые IP
Отправлено: Efendy от 01 Апреля 2014, 11:14:45
Если клиенты не получают ип по пппое, то нужно начать с сервера пппое. Запустить mpd5 с консоли:

Код:
mpd5

и/или запустить радиус в режиме лога на экран:

Код:
radiusd -X

и курить логи


Название: Re: Белые IP
Отправлено: Tooreagen от 01 Апреля 2014, 11:59:39
У меня клиенты без РРРоЕ. Просто напрямую (IPoE)


Название: Re: Белые IP
Отправлено: Efendy от 01 Апреля 2014, 13:18:52
Ты написал "не выдается". Dhcp или статически прописан у клиента? (интересно, сколько еще сообщений будет пока ты внятно не опишешь ситуацию)


Название: Re: Белые IP
Отправлено: YuSHa от 01 Апреля 2014, 15:39:17
а почему в конфиге pf  стоит ext_if - ng0? если у вас интеловая карта em0 на выходе?


Название: Re: Белые IP
Отправлено: Tooreagen от 01 Апреля 2014, 15:43:33
Ты написал "не выдается". Dhcp или статически прописан у клиента? (интересно, сколько еще сообщений будет пока ты внятно не опишешь ситуацию)

Я просто не совсем понимаю как их прикрутить клиенту. Клиенту пытаюсь выдать динамически. Нужно ли изменять конфиг /usr/local/etc/dhcpd.conf
Я добавил там пул, так же добавил пул в Nodeny, но ничего не меняется. В логе выдачи по DHCP адрес который выдать нужно не показывался.


Название: Re: Белые IP
Отправлено: Tooreagen от 01 Апреля 2014, 15:44:23
а почему в конфиге pf  стоит ext_if - ng0? если у вас интеловая карта em0 на выходе?

Это виртуальный интерфейс создаваемый MPD5 (подключение РРРоЕ к провайдеру)


Название: Re: Белые IP
Отправлено: Groov от 01 Апреля 2014, 22:24:38
а почему в конфиге pf  стоит ext_if - ng0? если у вас интеловая карта em0 на выходе?

Ты бы в ник с начало, а потом умничал. Не понимаешь не пиши.


Название: Re: Белые IP
Отправлено: Groov от 01 Апреля 2014, 22:28:53
Во первых, они должны быть маршрутиризированы у твоего провайдера роутам на твой ip сервера, и под сеть должна быть желательно за рамки твоей /29. 


Название: Re: Белые IP
Отправлено: YuSHa от 02 Апреля 2014, 12:36:29
в описании небыло этого указано, спросил о том, что сразу в глаза бросилось


Название: Re: Белые IP
Отправлено: Tooreagen от 14 Мая 2014, 09:31:47
Во первых, они должны быть маршрутиризированы у твоего провайдера роутам на твой ip сервера, и под сеть должна быть желательно за рамки твоей /29. 

Они смаршрутизированы, подсеть такого вида XXX.XXX.192.16/29


Название: Re: Белые IP
Отправлено: Tooreagen от 28 Мая 2014, 18:57:21
Наконец то с горем пополам сделал. Если вручную прописываю все работает, а через DHCP выдается локальный адрес. В Nodeny IP пул сделал, DHCP конфиг изменил, добавил как обычную подсеть только там реальники указал. Но все равно выдается локальный адрес. Куда смотреть?


Название: Re: Белые IP
Отправлено: cojiict от 29 Мая 2014, 08:07:08
dhcp.conf в студію.
IP пул  також


Название: Re: Белые IP
Отправлено: Tooreagen от 31 Мая 2014, 19:23:06
dhcp.conf в студію.
IP пул  також

Код:
log-facility local7;

option domain-name-servers 172.16.254.1;

shared-network 123 {
interface em1;
subnet 172.16.10.0 netmask 255.255.255.0 {
    range 172.16.10.2 172.16.10.254;
    option routers 172.16.10.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet 172.16.11.0 netmask 255.255.255.0 {
    range 172.16.11.2 172.16.11.254;
    option routers 172.16.11.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet XXX.XXX.192.16 netmask 255.255.255.248 {
    range XXX.XXX.192.18 XXX.XXX.192.22;
    option routers XXX.XXX.192.17;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

}



Название: Re: Белые IP
Отправлено: ipnet от 03 Июня 2014, 01:40:43
dhcp.conf в студію.
IP пул  також

Код:
log-facility local7;

option domain-name-servers 172.16.254.1;

shared-network 123 {
interface em1;
subnet 172.16.10.0 netmask 255.255.255.0 {
    range 172.16.10.2 172.16.10.254;
    option routers 172.16.10.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet 172.16.11.0 netmask 255.255.255.0 {
    range 172.16.11.2 172.16.11.254;
    option routers 172.16.11.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet XXX.XXX.192.16 netmask 255.255.255.248 {
    range XXX.XXX.192.18 XXX.XXX.192.22;
    option routers XXX.XXX.192.17;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

}



А ничего страшного что у тебя в биллинге на ипах стоит тип статический? Как дхцп будет видавать ип которий подтянуть с биллинга не может.


Название: Re: Белые IP
Отправлено: cojiict от 03 Июня 2014, 08:25:52
dhcp.conf в студію.
IP пул  також

Код:
log-facility local7;

option domain-name-servers 172.16.254.1;

shared-network 123 {
interface em1;
subnet 172.16.10.0 netmask 255.255.255.0 {
    range 172.16.10.2 172.16.10.254;
    option routers 172.16.10.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet 172.16.11.0 netmask 255.255.255.0 {
    range 172.16.11.2 172.16.11.254;
    option routers 172.16.11.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet XXX.XXX.192.16 netmask 255.255.255.248 {
    range XXX.XXX.192.18 XXX.XXX.192.22;
    option routers XXX.XXX.192.17;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

}


range - диапазон ip адресов, которые выдает dhcp сервер клиентам. Должен попадать в subnet

В админке NoDeny в настройках в разделе «ip pool» создаем ту же сеть, какая указана в конфиге в параметре range, при этом тип ip должен быть «динамический».


Название: Re: Белые IP
Отправлено: k291 от 07 Июня 2014, 02:36:28
dhcp.conf в студію.
IP пул  також

Код:
log-facility local7;

option domain-name-servers 172.16.254.1;

shared-network 123 {
interface em1;
subnet 172.16.10.0 netmask 255.255.255.0 {
    range 172.16.10.2 172.16.10.254;
    option routers 172.16.10.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet 172.16.11.0 netmask 255.255.255.0 {
    range 172.16.11.2 172.16.11.254;
    option routers 172.16.11.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet XXX.XXX.192.16 netmask 255.255.255.248 {
    range XXX.XXX.192.18 XXX.XXX.192.22;
    option routers XXX.XXX.192.17;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

}


range - диапазон ip адресов, которые выдает dhcp сервер клиентам. Должен попадать в subnet

В админке NoDeny в настройках в разделе «ip pool» создаем ту же сеть, какая указана в конфиге в параметре range, при этом тип ip должен быть «динамический».

Каким образом DHCP понимает, каким клиентам выдать IP из пула 172.16.10.0 или XXX.XXX.192.0 ?
Я создал 2е группы HomeNet(сеть 172.16.10.0) и HomeNet-RealIP(XXX.XXX.192.0).
Создал клиента в группе HomeNet. Подключил кабель, получил IP 172.16.10.2. Дальше перевел клиента в группу HomeNet-RealIP. Удалил IP у клиента, почистил /var/db/dhcpd/dhcpd.leases, перезагрузил DHCP /usr/local/etc/rc.d/isc-dhcpd onerestart, но так и получаю IP 172.16.10.2 из группы HomeNet.
Что надо сделать, чтобы получать IP согласно выбранной группе?


Название: Re: Белые IP
Отправлено: k291 от 10 Июня 2014, 12:32:38
С помощью форумчан и make_config, сделал выдачу динамических серых IP и статических реальных IP. DHCP выдает все правильно, только нет доступ в Интернет на реальных IP.
В pf.conf я прописал:
Цитировать
ext_if = "igb1"

set limit states 128000
set optimization aggressive

#binat on $ext_if from xxx.xxx.xxx.244 to any -> xxx.xxx.xxx.242

nat pass on $ext_if from 10.0.0.0/24 to any -> ($ext_if)
nat pass on $ext_if from xxx.xxx.xxx.240/28 to any -> ($ext_if)
Где igb1-смотрит наружу(ip:xxx.xxx.xxx.242), а igb0-смотрит внутрь(10.0.0.1).
Подскажите, что еще надо сделать и где прописать. Заранее спасибо!


Название: Re: Белые IP
Отправлено: k291 от 10 Июня 2014, 19:12:21
С помощью форумчан и make_config, сделал выдачу динамических серых IP и статических реальных IP. DHCP выдает все правильно, только нет доступ в Интернет на реальных IP.
В pf.conf я прописал:
Цитировать
ext_if = "igb1"

set limit states 128000
set optimization aggressive

#binat on $ext_if from xxx.xxx.xxx.244 to any -> xxx.xxx.xxx.242

nat pass on $ext_if from 10.0.0.0/24 to any -> ($ext_if)
nat pass on $ext_if from xxx.xxx.xxx.240/28 to any -> ($ext_if)
Где igb1-смотрит наружу(ip:xxx.xxx.xxx.242), а igb0-смотрит внутрь(10.0.0.1).
Подскажите, что еще надо сделать и где прописать. Заранее спасибо!

На клиентском компе, инет появился только после:
ifconfig bridge0 create addm igb1 addm igb0 up
Но это же bridge. С него не пускает в билиенг, не ping`ся мой DNS. Скорей всего, и инет не будет блочить при нулевом балансе. Само собой, не будет работать заглушка((


Название: Re: Белые IP
Отправлено: Dolphin от 10 Июня 2014, 19:16:59
А зачем ты натишь реальные ип?

Имхо,
Цитировать
nat pass on $ext_if from xxx.xxx.xxx.240/28 to any -> ($ext_if)
лишнее.

Попробуй оставить только:
Цитировать
ext_if = "igb1"

set limit states 128000
set optimization aggressive

nat pass on $ext_if from 10.0.0.0/24 to any -> ($ext_if)

Ну, и на клиенте, ессно должен быть ип из диапазона: 10.0.0.0/24


Название: Re: Белые IP
Отправлено: k291 от 10 Июня 2014, 20:28:15
А зачем ты натишь реальные ип?

Имхо,
Цитировать
nat pass on $ext_if from xxx.xxx.xxx.240/28 to any -> ($ext_if)
лишнее.

Попробуй оставить только:
Цитировать
ext_if = "igb1"

set limit states 128000
set optimization aggressive

nat pass on $ext_if from 10.0.0.0/24 to any -> ($ext_if)

Ну, и на клиенте, ессно должен быть ип из диапазона: 10.0.0.0/24
Я сегодня кучу форумов прочитал, вот по нахватался совсего. в надежде что что чтото заработает. Подход не правильный, ну я не как не могу найти решение(((
Оставил : nat pass on $ext_if from 10.0.0.0/24 to any -> ($ext_if)
перезагрузил правила:
# pfctl -vvvf /etc/pf.conf


Название: Re: Белые IP
Отправлено: 0xbad0c0d3 от 10 Июня 2014, 22:42:19
Оффтоп: простите, не могу сдержаться  ;D Задам всего один наводящий вопрос: а админа не пробовали нанять? или в процветающей, бАгАтейшей, стране так не принято?


Название: Re: Белые IP
Отправлено: Tooreagen от 29 Июля 2014, 10:19:20
dhcp.conf в студію.
IP пул  також

Код:
log-facility local7;

option domain-name-servers 172.16.254.1;

shared-network 123 {
interface em1;
subnet 172.16.10.0 netmask 255.255.255.0 {
    range 172.16.10.2 172.16.10.254;
    option routers 172.16.10.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet 172.16.11.0 netmask 255.255.255.0 {
    range 172.16.11.2 172.16.11.254;
    option routers 172.16.11.1;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

subnet XXX.XXX.192.16 netmask 255.255.255.248 {
    range XXX.XXX.192.18 XXX.XXX.192.22;
    option routers XXX.XXX.192.17;
    default-lease-time 2400;
    max-lease-time 1800;
    on commit {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        set SwitchMac = "";
        set SwitchPort ="";
        if exists agent.circuit-id
        {
            set SwitchMac = binary-to-ascii(16, 8, ":", option agent.remote-id);
            set SwitchPort = binary-to-ascii(10, 8, ":", suffix(option agent.circuit-id, 1));
        }
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "commit",
                ClientIP, ClientMac, SwitchMac, SwitchPort);
    }
    on expiry {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "expiry", ClientIP);
    }
    on release {
        set ClientIP  = binary-to-ascii(10, 8, ".", leased-address);
        execute("/usr/bin/perl", "/usr/local/nodeny/modules/dhcp/events.pl", "release", ClientIP);
    }
    }

}


range - диапазон ip адресов, которые выдает dhcp сервер клиентам. Должен попадать в subnet

В админке NoDeny в настройках в разделе «ip pool» создаем ту же сеть, какая указана в конфиге в параметре range, при этом тип ip должен быть «динамический».

Я все сделал как вы говорите, но все равно выдает серый IP. Его ведь явно как-то указать клиенту нужно?


Название: Re: Белые IP
Отправлено: Efendy от 29 Июля 2014, 12:29:41
dhcpd выдает ip из первого пула, он даже до 2го не "доходит". Вообще, dhcpd работает автономно от NoDeny, он не знает белый или серый выдавать. Есть вариант выдавать через radius, я даже документацию почти написал. Только есть проблемка - некий elite обещал оттестить, но пока не выдал результат)


Название: Re: Белые IP
Отправлено: Tooreagen от 29 Июля 2014, 17:57:16
dhcpd выдает ip из первого пула, он даже до 2го не "доходит". Вообще, dhcpd работает автономно от NoDeny, он не знает белый или серый выдавать. Есть вариант выдавать через radius, я даже документацию почти написал. Только есть проблемка - некий elite обещал оттестить, но пока не выдал результат)

получается сейчас единственный вариант это пул ставить статический и вручную у клиента прописывать?


Название: Re: Белые IP
Отправлено: Efendy от 29 Июля 2014, 22:55:18
dhcpd выдает ip из первого пула, он даже до 2го не "доходит". Вообще, dhcpd работает автономно от NoDeny, он не знает белый или серый выдавать. Есть вариант выдавать через radius, я даже документацию почти написал. Только есть проблемка - некий elite обещал оттестить, но пока не выдал результат)

получается сейчас единственный вариант это пул ставить статический и вручную у клиента прописывать?
для статических нужно динамически формировать конфиг для дхцп. Это несложно и где-то пример есть, возможно даже в инстале самого н+