Описание тега qigong
Предпосылки:
Я использую малина пи3 как АП. Я добавил USB к адаптеру Ethernet и такая конфигурация у меня:
- построен в Эт порта как для eth0 (WAN)в
- встроенный WiFi интерфейс, как wlan0 (локальной, беспроводной)
- USB к адаптеру Ethernet как на eth1 (локальная сеть, проводной)
Я уже преодолен успешно как wlan0 и eth1 в мост br0.
Затем я настроить NAT, чтобы позволить устройствам на br0 для подключения к интернету. Все это работает.
Проблема:
Теперь я хотел бы разделить проводной локальной сети, так что есть виртуальная сеть (интерфейс eth1:0) для доверенных устройств и другой виртуальной сети для менее надежных устройств (интерфейс eth1:1).
Идея заключается в том, чтобы добавить к br0 только на eth1:0. Это, кажется, работает, но когда я список мостов, br0, кажется, использовать непосредственно на eth1, а не виртуальный интерфейс eth1:0.
В самом деле, если я пытаюсь создать еще один мост (спальня1) и добавить другие виртуальные сети (на eth1:1), я получаю сообщение об ошибке сказав, что интерфейс уже в мост.
Поэтому кажется, что виртуальный интерфейс не может быть добавлен к мосту, только его родитель.
Это правда? Есть ли другой способ сделать это?
Это тестовый скрипт я использую:
configure_firewall функция() {
Эхо настроить запустить брандмауэр
####################### Пересылка #####################
# Включить пересылку IP
Эхо 1 > /труды/системы/нетто/протоколов IPv4/ip_forward
# Разрешить передачу трафика локальной сети -> сети WAN
в iptables -вперед -я ${мост} -о ${Ван} -Джей принимает
# Разрешить трафик глобальной сети -> сети, но только как ответ на сообщение, инициированных из локальной сети
в iptables -вперед -я ${Ван} -о ${мост} -М состояние-состояние, связанное,создан -Джей принимает
# Сбрасываем все остальное
в iptables -вперед -Джей падение
####################### МАСКАРАДИНГ ########################
# Сделать нац
в iptables -Т физ-в POSTROUTING -O $и{Ван} -Джей маскарад
###################### Вход #############################
# Разрешить локальные подключения
в iptables -a ввод -Ло -Джей принимает
в iptables -вход -я ${мост} -Джей принимает
в iptables -a ввод -п протокол tcp --dport 22 -я ${Ван} -Джей принимает
в iptables -a вход -я ${Ван} -М состояние-состояние, связанное,создан -Джей принимает
в iptables -a ввод -Джей падение
###################### Выход #############################
в iptables -A выход -Джей принимает
Эхо настроить брандмауэр
}
teardown_bridge функция() {
Эхо демонтажа моста начать
команду ifconfig ${мост} вниз
brctl delif ${мост} ${локальная сеть}:0
brctl delif ${мост} ${беспроводной}
brctl delbr ${мост}
Эхо демонтаж мостов конце
}
configure_bridge функция() {
Эхо настроить мост запустить
brctl addbr ${мост}
brctl addif ${мост} ${локальная сеть}:0
brctl addif ${мост} ${беспроводной}
команду ifconfig ${мост} до 192.168.10.1 маска 255.255.255.0 широковещательный 192.168.10.0
Эхо настроить мост конца
}
configure_interfaces функция() {
Эхо настроить интерфейсы начать
команду ifconfig ${локальная сеть} до 0.0.0.1
команду ifconfig ${локальная сеть}:0 до 0.0.0.2
команду ifconfig ${локальная сеть}:1 до 0.0.0.3
Эхо настроить интерфейсы конца
}
teardown_interfaces функция() {
интерфейсы Эхо разобрала начать
ifdown ${локальная сеть}:1
ifdown ${локальная сеть}:0
ifdown ${локальная сеть}
Эхо разобрала интерфейсы конца
}
delayed_reset функция() {
для меня в последующие 15 -1 0`; сделать
сон 1
Эхо ${я}
сделано
синхронизация
перезагрузка
выход
}
#test_network
#если [ $? не-ne 0 ] ; тогда
teardown_firewall
teardown_bridge
teardown_interfaces
configure_interfaces
configure_bridge
configure_firewall
#delayed_reset
#интернет
После запуска скрипта, если я запустить команду ifconfig
, похоже, в виртуальной сети существует:
на eth1 encap ссылке:сеть Ethernet HWaddr 00:13:3б:62:11:Ф6
инет адрес:0.0.0.1 брошены:Маска 255.255.255.255:0.0.0.0
До трансляции мультикаст работает с MTU:1500 метрическая:1
RX пакетов:30712 ошибок:0 сократилось:0 перерасход:0 рама:0
Техас пакеты:19110 ошибок:0 сократилось:0 перерасход:0 перевозчик:0
столкновения:0 txqueuelen:1000
RX байт:5261152 (5.0 Мб) ТХ байт:5355909 (5.1 Мб)
на eth1:0 Ссылка encap:сеть Ethernet HWaddr 00:13:3б:62:11:Ф6
инет адрес:0.0.0.2 брошены:Маска 255.255.255.255:0.0.0.0
До трансляции мультикаст работает с MTU:1500 метрическая:1
на eth1:1 encap ссылке:сеть Ethernet HWaddr 00:13:3б:62:11:Ф6
инет адрес:0.0.0.3 брошены:Маска 255.255.255.255:0.0.0.0
До трансляции мультикаст работает с MTU:1500 метрическая:1
Но весь eth1, который
представляется в br0
:
[email protected]:/home/pi# brctl показать
мост название моста ИД СТП интерфейсов с поддержкой
br0 8000.00133b6211f6 не на eth1
как wlan0
И это, кажется, подтверждает это:
[email protected]:/home/pi# brctl addbr спальня1
[email protected]:/home/pi# brctl addif спальня1 на eth1:1
устройство для eth1:1 уже является членом мост; не может закабалить его в мост на Br1.
Примечание: Я смотрю на создание и мост виртуальных сетевых интерфейсов в Linux , но это, кажется, быть устаревшими, так как он относится к такие как iproute2.