Адресация локальных сетей

Адреса локальной сети

Рекомендуется использовать одинаковые диапазоны IP адресов для Docker, LXC, VirtualBox и т.п.

10.0.0.0/8 WAN, VPN сети
192.168.1.0/24 Домашняя или офисная сеть
172.17.0.1/16
172.18.0.1/16
Docker network
172.20.0.1/16 Docker static containers network
172.21.0.1/16 Cloud OS overlay network for Docker Swarm. 
172.30.0.1/24 LXC or virbr0 network
172.30.1.1/24 LXD network
172.30.2.1/24 Virtualbox network

Примеры IP адресов

172.20.0.5 - Mysql
172.20.0.6 - MongoDB
172.20.10.25 - Docker репозиторий
192.168.1.25 - Домашняя raspberry pi

Используемые сети

Сеть LXC

172.30.0.1/24

В файле /etc/default/lxc-net пропишите

USE_LXC_BRIDGE="true"
LXC_BRIDGE="lxcbr0"
LXC_ADDR="172.30.0.1"
LXC_NETMASK="255.255.255.0"
LXC_NETWORK="172.30.0.0/24"
LXC_DHCP_RANGE="172.30.0.2,172.30.0.254"
LXC_DHCP_MAX="253"
#LXC_DHCP_CONFILE=/etc/lxc/dnsmasq.conf
#LXC_DOMAIN="lxc"

Сеть virbr0

Рекомендуется использовать ее вместо сети LXC, а сеть LXC отключить

virsh net-edit --network default

Содержимое:

<network>
  <name>default</name>
  <uuid>c792c9ec-7d90-407c-9084-a39f762b2228</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:ba:3d:a9'/>
  <ip address='172.30.0.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='172.30.0.100' end='172.30.0.254'/>
    </dhcp>
  </ip>
</network>

Добавить в автозапуск

virsh net-autostart --network default

Сеть VirtualBox

172.30.2.1/24

Настройка:

brctl addbr virtualbox
ip addr add dev virtualbox 172.30.2.1/24 brd +
ip link set virtualbox up

iptables -t nat -A POSTROUTING -o virtualbox -j MASQUERADE
iptables -I FORWARD -o virtualbox -j ACCEPT
iptables -I FORWARD -i virtualbox -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward

Также пропишите настройку ip forward в sysctl

echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/10-ip-forward.conf

Сеть LXD

172.30.1.1/24

Настраивается через lxd init

Docker static containers network

172.20.0.1/16

docker network create -d bridge --subnet=172.20.0.0/16 dockernet -o "com.docker.network.bridge.name"="dockernet"

Cloud OS router overlay network

172.21.0.1/16. Используется в проекте Bayrell Cloud OS для адресации веб служб

docker network create --subnet 172.21.0.1/16 --driver=overlay --attachable cloud_network -o "com.docker.network.bridge.name"="cloud_network"

Материалы

  1. Локальная вычислительная сеть