Использование BNG Blaster

BNG Blaster — инструмент для тестирования, с его помощью можно создать тысячи виртуальных PPPoE и IPoE клиентов, чтобы например протестировать производительность серверов доступа, он также поддерживает IGMP, QinQ, IPv6 и т.д.

Для примера выполню установку BNG Blaster в Ubuntu Server.
Скачаем необходимые компоненты:

sudo apt install -y libssl1.1 libncurses5 libjansson4

Скопируем ссылку на пакет Debian https://github.com/rtbrick/bngblaster/releases
Скачаем и установим его, например:

wget https://github.com/rtbrick/bngblaster/releases/download/0.4.7/bngblaster-0.4.7-ubuntu-18.04_amd64.deb
sudo dpkg -i bngblaster-0.4.7-ubuntu-18.04_amd64.deb

На этом установка завершена, но вы также можете установить из исходного кода, ниже приведу пример.
Установим необходимые компоненты:

sudo apt install -y cmake libcunit1-dev libncurses5-dev libssl-dev libjansson-dev

Соберем и установим BNG Blaster:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make all
sudo make install

Либо отладочную версию:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make all
sudo make install

Пример запуска:

bngblaster --config ixnfo.com.cfg

Пример конфигурации c официальной страницы https://rtbrick.github.io/bngblaster/config:

{
    "interfaces": {
        "network": {
            "interface": "eth2",
            "address": "10.0.0.1",
            "gateway": "10.0.0.2",
            "address-ipv6": "fc66:1337:7331::1",
            "gateway-ipv6": "fc66:1337:7331::2"
        },
        "access": [
            {
                "interface": "eth1",
                "outer-vlan-min": 1000,
                "outer-vlan-max": 1999,
                "inner-vlan-min": 1,
                "inner-vlan-max": 4049,
                "authentication-protocol": "PAP"
            },
            {
                "interface": "eth1",
                "outer-vlan-min": 2000,
                "outer-vlan-max": 2999,
                "inner-vlan-min": 1,
                "inner-vlan-max": 4049,
                "authentication-protocol": "CHAP"
            }
        ]
    },
    "sessions": {
        "count": 1000,
        "session-time": 0,
        "max-outstanding": 800,
        "start-rate": 400,
        "stop-rate": 400
    },
    "pppoe": {
        "reconnect": true,
        "discovery-timeout": 3,
        "discovery-retry": 10
    },
    "ppp": {
        "mru": 1492,
        "authentication": {
            "username": "user{session-global}@rtbrick.com",
            "password": "test",
            "timeout": 5,
            "retry": 30
        },
        "lcp": {
            "conf-request-timeout": 1,
            "conf-request-retry": 10,
            "keepalive-interval": 30,
            "keepalive-retry": 3
        },
        "ipcp": {
            "enable": true,
            "request-ip": true,
            "request-dns1": true,
            "request-dns2": true,
            "conf-request-timeout": 1,
            "conf-request-retry": 10
        },
        "ip6cp": {
            "enable": true,
            "conf-request-timeout": 1,
            "conf-request-retry": 10
        }
    },
    "dhcpv6": {
        "enable": true,
        "rapid-commit": true
    },
    "access-line": {
        "agent-remote-id": "DEU.RTBRICK.{session-global}",
        "agent-circuit-id": "0.0.0.0/0.0.0.0 eth 0:{session-global}",
        "rate-up": 1024,
        "rate-down": 16384
    },
    "session-traffic": {
        "ipv4-pps": 1,
        "ipv6-pps": 1,
        "ipv6pd-pps": 1
    }
}

Смотрите также мою статью:
Подавление DHCP серверов (dhcdrop)

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

Добавить комментарий