- Вопрос или проблема
- Конфигурационные файлы внутри openwrt:
- /etc/config/network
- /etc/config/openflow файл:
- Ответ или решение
- Настройка сетевой конфигурации для OpenFlow на OpenWRT
- Шаг 1: Анализ конфигурации сети
- Шаг 2: Настройка OpenFlow
- Шаг 3: Добавление VLAN для OpenFlow портов
- Шаг 4: Проверка конфигурации Open vSwitch и тестирование
- Шаг 5: Тестирование конфигурации
- Заключение
Вопрос или проблема
Я сделал кастомную сборку Openwrt (barrier breaker) с Openflow 1.3 и смог подключить её к контроллеру ryo simple_switch_13 в outofband режиме. Порты Ethernet номер 3 и 4 настроены как openflow порты, но когда я подключаю устройство к этим портам и вручную устанавливаю IP, оно не может пинговать 192.168.1.1 или любое другое устройство в той же сети!
В чем тут проблема? Openflow кажется в порядке, и эти порты работают нормально, когда не настроены как openflow порты. Пожалуйста, дайте несколько подсказок.
Конфигурационные файлы внутри openwrt:
/etc/config/network
config switch 'eth0'
option name 'eth0'
option reset '1'
option enable_vlan '1'
config switch_vlan
option device 'eth0'
option vlan '1'
option ports '1 2 8t'
config switch_vlan
option device 'eth0'
option vlan '2'
option ports '0 8t'
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fdbe:80c3:7cea::/48'
config interface 'lan'
option ifname 'eth0.1'
option force_link '1'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
config interface 'wan'
option ifname 'eth0.2'
option proto 'dhcp'
config interface 'wan6'
option ifname '@wan'
option proto 'dhcpv6'
config interface
option 'ifname' 'eth0.4'
option 'proto' 'static'
config interface
option 'ifname' 'eth0.3'
option 'proto' 'static'
/etc/config/openflow файл:
config 'ofswitch'
option 'dp' 'dp0'
option 'dpid' '000000000001'
option 'ofports' 'eth0.3 eth0.4'
option 'ofctl' 'tcp:CONTROLLER_IP:6633'
option 'mode' 'outofband'
Ryu simple_switch_13 работает как outofband контроллер, а устройство – Linksys E3000.
Спасибо.
Вам удалось это решить? У меня сейчас такая же проблема. У меня есть эта конфигурация в /etc/config/openvswitch
config ovs ovs
option disabled 1
option ca '/etc/openvswitch/example_ca.crt'
option cert '/etc/openvswitch/example_cert.crt'
option key '/etc/openvswitch/example_key.crt'
config ovn_northd north
option disabled 1
config ovn_controller controller
option disabled 1
config ovs_bridge
option disabled 1
option name 'my-bridge'
option controller 'tcp:192.168.0.1'
option datapath_desc ''
option datapath_id ''
option fail_mode 'standalone'
config ovs_port
option disabled 1
option bridge 'my-bridge'
option port 'ovs-port1'
option ofport '1'
option tag '123'
option type 'internal'
Ответ или решение
Настройка сетевой конфигурации для OpenFlow на OpenWRT
Для успешной интеграции OpenFlow с OpenWRT и обеспечения корректной работы сетевых портов важно учесть несколько ключевых аспектов. Ниже приведены подробные шаги по настройке сетевой конфигурации для OpenFlow, основанные на предоставленной информации о проблеме.
Шаг 1: Анализ конфигурации сети
Исходная конфигурация сети в файле /etc/config/network
выглядит следующим образом:
config switch 'eth0'
option name 'eth0'
option reset '1'
option enable_vlan '1'
config switch_vlan
option device 'eth0'
option vlan '1'
option ports '1 2 8t'
config switch_vlan
option device 'eth0'
option vlan '2'
option ports '0 8t'
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config interface 'lan'
option ifname 'eth0.1'
option force_link '1'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
config interface 'wan'
option ifname 'eth0.2'
option proto 'dhcp'
config interface 'wan6'
option ifname '@wan'
option proto 'dhcpv6'
Обратите внимание, что порты 3 и 4, которые вы используете для OpenFlow, не затрагиваются в VLAN 1 или 2. Это может быть проблемой. Чтобы порты могли взаимодействовать с контроллером и обмениваться трафиком, рекомендую создать отдельный VLAN для этих портов.
Шаг 2: Настройка OpenFlow
В файле /etc/config/openflow
конфигурация выглядит следующим образом:
config 'ofswitch'
option 'dp' 'dp0'
option 'dpid' '000000000001'
option 'ofports' 'eth0.3 eth0.4'
option 'ofctl' 'tcp:CONTROLLER_IP:6633'
option 'mode' 'outofband'
Убедитесь, что CONTROLLER_IP
заменен на фактический IP адрес вашего контроллера Ryu.
Шаг 3: Добавление VLAN для OpenFlow портов
Добавьте новый VLAN в файл /etc/config/network
, чтобы порты eth0.3 и eth0.4 могли передавать трафик по нужному адресу:
config switch_vlan
option device 'eth0'
option vlan '3'
option ports '3 4 8t' # Обратите внимание, что добавлены порты 3 и 4
Убедитесь, что вы также настроили интерфейс для нового VLAN, чтобы IP-адреса и маршрутизация были правильно сконфигурированы.
Шаг 4: Проверка конфигурации Open vSwitch и тестирование
Если на вашем устройстве OpenWRT установлен Open vSwitch (OVS), убедитесь, что он настроен правильно. Ваша текущая конфигурация показывает, что OVS отключен:
config ovs ovs
option disabled 1
Для работы OpenFlow вы можете отключить OVS или убедиться, что он сконфигурирован так, чтобы не конфликтовать с OpenFlow.
Шаг 5: Тестирование конфигурации
-
Перезапустите сетевые службы на OpenWRT для применения изменений:
/etc/init.d/network restart
-
Подключите устройство к портам eth0.3 и eth0.4 и проверьте доступность IP адресов:
ping 192.168.1.1
-
Проверьте, что контроллер Ryu видит открытые порты с помощью:
sudo ovs-vsctl show
Если вы следовали всем шагам, ваше соединение должно работать корректно, а порты eth0.3 и eth0.4 должны быть доступны для обмена данными как с контроллером OpenFlow, так и с другими устройствами в сети.
Заключение
Настройка OpenFlow в OpenWRT может показаться сложной задачей, но следуя приведенным рекомендациям и тщательно настраивая VLAN и порты, вы сможете устранить большинство возможных проблем с сетевым соединением. Не забывайте регулярно проверять логи для лучшего понимания происходящих процессов и исключений.