У меня есть маршрутизатор человечности 18.04 с несколькими интерфейсами LAN:
1-й интерфейс: 2 порта 10G NIC (интерфейсы связываются/объединяются в команду), bond1: интерфейсы: [enp5s0f0, enp5s0f1]
2-й интерфейс: 4 порта NIC enp8s0f0, enp8s0f1, enp9s0f0, enp9s0f1
Функции маршрутизатора как шлюз и сервер DHCP. В настоящее время 1-е и 2-е интерфейсы соединяются мостом вместе к 192.168.0.1 (интерфейс LAN). Моя текущая netplan конфигурация следующая:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
enp0s8:
dhcp4: no
dhcp6: no
addresses: [69.59.34.150/24]
gateway4: 69.59.34.1
nameservers:
addresses: [69.60.173.84, 8.8.8.8]
optional: true
enp0s9:
dhcp4: no
dhcp6: no
enp2s0f0:
dhcp4: no
dhcp6: no
enp2s0f1:
dhcp4: no
dhcp6: no
enp5s0f0:
dhcp4: no
dhcp6: no
enp5s0f1:
dhcp4: no
dhcp6: no
enp8s0f0:
dhcp4: no
dhcp6: no
enp8s0f1:
dhcp4: no
dhcp6: no
enp9s0f0:
dhcp4: no
dhcp6: no
enp9s0f1:
dhcp4: no
dhcp6: no
bonds:
bond0:
interfaces: [enp2s0f0, enp2s0f1]
parameters:
mode: 802.3ad
lacp-rate: fast
mii-monitor-interval: 100
bond1:
interfaces: [enp5s0f0, enp5s0f1]
parameters:
mode: 802.3ad
lacp-rate: fast
mii-monitor-interval: 100
bridges:
br0:
addresses: [192.168.0.1/24]
gateway4: 192.168.0.254
routes:
- to: 10.10.10.0/24
via: 192.168.0.254
- to: 20.20.20.0/24
via: 192.168.0.254
interfaces: [enp8s0f0, enp8s0f1, enp9s0f0, enp9s0f1, bond1]
parameters:
stp: false
forward-delay: 0
Обратите внимание, что существует несколько других интерфейсов, но мой вопрос касается br0, который соединяет мостом 4 порта NIC и 2 порта 10G NIC - они - все на той же подсети 192.168.0.x. Я указал шлюз (переключатель в 192.168.0.254) для статической маршрутизации VLAN.
Я хотел бы разбить 4 порта NIC и 2 порта 10G NIC в различные подсети (т.е. 2 различных моста). Новая схема:
2 порта 10G NIC на подсети 192.168.0.x 4 порта NIC на подсети 192.168.1.x
Я должен был бы сохранить функциональность DHCP также на обеих подсетях (предоставленный тем же полем).
Мой dhcpd.conf следующие:
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.240;
option routers 192.168.0.1;
option domain-name "xxxxxx.org yyyyyyy.com";
option domain-name-servers 192.168.0.1;
option broadcast-address 192.168.0.255;
}
host DELL_PowerConnect_6248P {
hardware ethernet aa:bb:cc:dd:ee:ff;
fixed-address 192.168.0.254;
option host-name "DELL_Powerconnect_6248P";
}
Мой вопрос - конкретно это: я могу разделить два NICs путем создания другого моста только с 4 портами NIC на подсети 192.168.1.x и затем просто добавить другую подсеть в файле конфигурации DHCP и иметь все работа?
Мое обоснование для того, чтобы сделать это просто. 10G NIC подключен к Коммутатору уровня 3 (выделенному), и я хотел бы использовать другие 4 порта для функционирования точно так же, как домашний маршрутизатор. В теории это кажется, что она работала бы, но мое беспокойство сохраняет функциональность DHCP через обе подсети. Заранее спасибо за любую помощь можно обеспечить.
После того, как много проблемы тяжелого труда и шесть упаковывают, я выяснил ответ на свой запрос.
Сначала повторить: у Меня есть домашние созданные 18,04 маршрутизаторов UBUNTU с 3 NICS - я отправляю это, потому что 18,04 использования netplan и я не нашел подходящий ответ на форумах для netplan.
NIC 1: созданный в gigagbit Ethernet - WAN
NIC 2: 2 порта 10G NIC - Связанный и подключенный к коммутатору уровня 3 (расположенный в 192.168.0.254) - подсеть 192.168.0.x
NIC 3: 4 NIC гигабита порта использовали для локального доступа в Интернет (отделитесь от переключателя) - подсеть 192.168.1.x
Как Вы видите, я хотел создать 2 подсети - 192.168.0.x для переключателя и 192.168.1.x для 4 портов NIC (для использования, даже когда переключатель был разъединен).
Поскольку эта машина является маршрутизатором, она должна и направить, присвоить IP-адреса (DHCP) и обеспечить DNS. Ниже, Вы найдете мою конфигурацию для netplan и DHCP. DHCP происходит на обеих подсетях, и NIC 3 имеет доступ в Интернет, даже если переключатель разъединяется от NIC 2 (т.е. он обходит переключатель и использует маршрутизатор в качестве шлюза),
Поскольку Вы смотрите на конфигурацию, Вы заметите 2 моста:
Это/etc/netplan/01-netcfg.yaml файл:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
enp0s8: #WAN interface
dhcp4: no
dhcp6: no
addresses: [xxx.xxx.xxx.xxx/24] #Static IP assigned by ISP
gateway4: xxx.xxx.xxx.xxx #Gateway Assigned by ISP
nameservers:
addresses: [xxx.xxx.xxx.xxx, 8.8.8.8] #DNS assigned by ISP
optional: true
enp0s9: #Internal gigabit NIC Interface not used
dhcp4: no
dhcp6: no
enp2s0f0: #10G NIC Not used
dhcp4: no
dhcp6: no
enp2s0f1: #10G NIC not used
dhcp4: no
dhcp6: no
enp5s0f0: #port 1 NIC2 (10G NIC Bonded connected to switch)
dhcp4: no
dhcp6: no
enp5s0f1: #port 2 NIC2 (10G NIC Bonded connected to switch)
dhcp4: no
dhcp6: no
enp8s0f0: #port1 NIC3 (gigabit NIC acting as home router)
dhcp4: no
dhcp6: no
enp8s0f1: #port2 NIC3 (gigabit NIC acting as home router)
dhcp4: no
dhcp6: no
enp9s0f0: #port3 NIC3 (gigabit NIC acting as home router)
dhcp4: no
dhcp6: no
enp9s0f1: #port3 NIC3 (gigabit NIC acting as home router)
dhcp4: no
dhcp6: no
bonds:
bond0: #first 10G NIC, not used
interfaces: [enp2s0f0, enp2s0f1]
parameters:
mode: 802.3ad
lacp-rate: fast
mii-monitor-interval: 100
bond1: #second 10G NIC, bonded and connected to switch
interfaces: [enp5s0f0, enp5s0f1]
parameters:
mode: 802.3ad
lacp-rate: fast
mii-monitor-interval: 100
bridges:
br0: #this is the 10G nic connected to switch on 192.168.0.x subnet
dhcp4: no
dhcp6: no
addresses: [192.168.0.1/24] #router IP address
interfaces: [bond1]
gateway4: 192.168.0.254
routes:
- to: 192.168.1.1 #router IP address (gateway/DNS) for the 4 port NIC subnet
via: 192.168.0.1 #This allows the br1 to access the internet via the main router IP (located at 192.168.0.1), bypassing the switch
parameters:
stp: false
forward-delay: 0
br1: #home router 4 port gigabit bridge
dhcp4: no
dhcp6: no
addresses: [192.168.1.1/24]
gateway: 192.168.1.1
interfaces: [enp8s0f0, enp8s0f1, enp9s0f0, enp9s0f1]
parameters:
stp: false
forward-delay: 0
Примечание: мост был сформирован для связи 0, потому что мне была нужна подсеть 192.168.0.x на этом NIC.
Мост br0 позволяет мост br1, который находится на подсети 192.168.1.x для соединения с Интернетом через маршрутизатор (192.168.0.1)
Затем мы должны настроить DHCP на ОБЕИХ подсетях. Вот, iptables:
# Allow LAN to access internet enp0s8 is WAN interface - mask the LAN IP with that of the WAN interface
iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE
#Allow all subnet access to the internet, The IP address is the WAN IP Address
iptables -t nat -A POSTROUTING -o enp0s8 -j SNAT --to-source 69.59.44.75
# Service rules
# basic global accept rules - ICMP, loopback, traceroute, established all accepted
iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
# enable traceroute rejections to get sent out
iptables -A INPUT -p udp -m udp --dport 33434:33523 -j REJECT --reject-with icmp-port-unreachable
# DNS - accept from LAN
iptables -A INPUT -i br0 -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -i br0 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i br1 -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -i br1 -p udp --dport 53 -j ACCEPT
# SSH - accept from LAN
iptables -A INPUT -i br0 -p tcp --dport 8880 -j ACCEPT
iptables -A INPUT -i br1 -p tcp --dport 8880 -j ACCEPT
# DHCP client requests - accept from LAN
iptables -A INPUT -i br0 -p udp --dport 67:68 -j ACCEPT
iptables -A INPUT -i br1 -p udp --dport 67:68 -j ACCEPT
# drop all other inbound traffic
iptables -A INPUT -j DROP
# Forwarding rules
# forward packets along established/related connections
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# forward from LAN (br0, br1) to WAN (enp0s8)
iptables -A FORWARD -i br0 -o enp0s8 -j ACCEPT
iptables -A FORWARD -i br1 -o enp0s8 -j ACCEPT
# allow traffic from our NAT pinhole (PORT FORWARDING)
iptables -A FORWARD -p tcp -d 192.168.0.100 --dport 8888 -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.1.100 --dport 8888 -j ACCEPT
# drop all other forwarded traffic
iptables -A FORWARD -j DROP
Самая важная вещь отметить вот состоит в том, что независимо от того, что я перечислил для br0, я копировал для br1
Наконец мы должны установить DHCP и удостовериться, что он работает над обеими подсетями. Это/etc/default/isc-dhcp-server файл:
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4="br0 br1"
INTERFACESv6="br0 br1"
Наконец мы должны изменить/etc/dhcp/dhcpd.conf файл:
.......
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.240;
option routers 192.168.0.1;
option domain-name "yourdomain.com";
option domain-name-servers 192.168.0.1;
option broadcast-address 192.168.0.255;
}
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.240;
option routers 192.168.1.1;
option domain-name "yourdomain2.org";
option domain-name-servers 192.168.1.1;
option broadcast-address 192.168.1.255;
}
# Add a section to reserve static IPs -------- This must be done for the network switch to enable static routing if needed
host DELL_PowerConnect_6248P {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 192.168.0.254; #this is the layer 3 switch connected to NIC2 which serves as the gateway for the 192.168.0.x subnet
option host-name "DELL_Powerconnect_6248P";
}
Это работало на меня. Теперь я могу использовать маршрутизатор как домашний маршрутизатор даже с разъединенным переключателем.Пожалуйста, примите во внимание: Это ни в коем случае не список какой потребности быть сделанным для создания собственного маршрутизатора человечности. Существует много других включенных шагов. Это может легко быть погуглено в Интернете. Хотелось бы надеяться, это маленькое учебное руководство помогает кому-то в будущем. Netplan является болью, а скорее простой. Если идиот как я может сделать это, любой может. Счастливый луг Ubuntu.
Обновление статуса. Приблизительно после одного часа интерфейс глобальной сети понизился на маршрутизаторе. После некоторого чтения кажется, что мой выше конфигурации был не совсем корректен. Посмотрите исправление ниже. Я включал комментарии (и для меня и для других) в коде.
................
bridges:
br0:
dhcp4: no
dhcp6: no
addresses: [192.168.0.1/24]
# gateway4: 192.168.0.254 # because we are using static routes, this option is not needed
interfaces: [bond1]
routes:
- to: 0.0.0.0/0
via: 192.168.0.254
metric: 100
# Here, we have routed ALL subnets and all netmasks. Metric must be supplied if the gateway is not specified.
- to: 192.168.1.1/24
via: 192.168.0.1
metric: 100
# Note: Even though we are specifying ALL subnets above, we can still have routing for a particular subnet so that all routes go to 192.168.0.254, but only 192.168.1.x subnet routes through 192.168.0.1
parameters:
stp: false
forward-delay: 0
br1:
dhcp4: no
dhcp6: no
addresses: [192.168.1.1/24]
gateway: 192.168.1.1
# Here a gateway is specified, because there are no static routes
interfaces: [enp8s0f0, enp8s0f1, enp9s0f0, enp9s0f1]
parameters:
stp: false
forward-delay: 0
Как Вы видите, я настроил конфигурацию для подтверждения точки зрения. Даже со ВСЕМИ подсетями, направляемыми к 192.168.0.254 по умолчанию, 192.168.1.x, исключение и конкретно направляется к 192.168.0.1. Таким образом, я могу все еще получить доступ к Интернету на 4 портах nic, даже если переключатель разъединяется.
Теперь работы маршрутизатора и не понижались в течение нескольких часов. На конфигурировании связывают, OpenVPN и вся другая польза материал.
Я смог узнать, что все это путем рассмотрения netplan примеров указало в https://netplan.io/examples
Хотелось бы надеяться, это докажет использования с конфигурированием netplan.