forum.bitel.ru
http://forum.bitel.ru/

[5.2] BGDHCP_IPN и шлюз по умолчанию
http://forum.bitel.ru/viewtopic.php?f=7&t=7884
Страница 1 из 1

Автор:  lda [ 26 мар 2013, 18:39 ]
Заголовок сообщения:  [5.2] BGDHCP_IPN и шлюз по умолчанию

Ув. разработчики.
Пишу свой шлюз для работы с Вашим BGDHCP_IPN.
Реализую схему 1Порт - 1IP.
К одному и тому же свичу могут быть подключены абоненты из разных подсетей.
Мне требуется для каждого абонента указать свой шлюз по умолчанию или заставить DHCP сервер вычислять его самостоятельно.
Переменная dhcp.router этой задачи не решает.

Прошу Вас подсказать, в каком направлении "копать"?

Автор:  stark [ 28 мар 2013, 13:12 ]
Заголовок сообщения:  Re: [5.2] BGDHCP_IPN и шлюз по умолчанию

А вот это вариант не подойдет ?
Цитата:
# Первый ip сети 1
net.1.ip=1.1.33.0
# Маска сети (количество неизменяемых бит)
net.1.bits=24
# Роутер(ы), если несколько - через запятую
net.1.dhcp.router=10.10.10.10
# Маска подсети
net.1.dhcp.subnetMask=255.255.255.0

# Первый ip сети 2
net.2.ip=1.1.34.0
# Маска сети 2 (количество неизменяемых бит)
net.2.bits=24
# Роутер(ы), если несколько - через запятую
net.2.dhcp.router=10.10.10.10
# Маска подсети
net.2.dhcp.subnetMask=255.255.255.0

http://bgbilling.ru/v5.2/doc/ch19s12s12.html

Автор:  lda [ 28 мар 2013, 13:40 ]
Заголовок сообщения:  Re: [5.2] BGDHCP_IPN и шлюз по умолчанию

Я читал в документации.
Такой вариант рассматривался, но у нас очень много сетей.
По этому этот вариант не годится.
Сейчас ковыряюсь с DHCPRelayProcessor-ом, пробую в нем автоматически рассчитывать шлюз по умолчанию и возвращать его в DHCP ответе.

Автор:  lda [ 29 мар 2013, 13:01 ]
Заголовок сообщения:  Re: [5.2] BGDHCP_IPN и шлюз по умолчанию

Сделал :)
В общем для абонента с IP a.b.c.d и указывает шлюз по умолчанию a.b.c.1

Код:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package bitel.billing.server.ext.dhcp;

import static bitel.billing.server.ext.dhcp.DHCPPacket.*;
import java.nio.channels.DatagramChannel;

/**
 *
 * @author lda
 */
public class DHCPPortDefaultGatewayRelayProcessor extends DHCPRelayProcessor{
    public DHCPPortDefaultGatewayRelayProcessor( DHCPSetup setup, DatagramChannel channel )
    {
        super( setup, channel );
        log.info("Start DHCPPortDefaultGatewayRelayProcessor");
    }
    @Override
    protected void setOptions( DHCPGate gate, DHCPPacket response, DHCPIpAddress ip ){
        super.setOptions(gate, response, ip);
        byte[] route = new byte[4];
        route[0] = response.yiaddr[0];
        route[1] = response.yiaddr[1];
        route[2] = response.yiaddr[2];
        route[3] = 1;
        response.setOption( OPTION_ROUTER, route );
    }
}

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/