Виртуальный Интернет-роутер
Модератор: Olej
- Olej
- Писатель
- Сообщения: 19740
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Виртуальный Интернет-роутер
Задался целью - построить виртуальную модель шлюзования на виртуальных хостах VirtualBox:
- роутер имеет 2 интерфейса: мост с выходом в Интернет + внутренняя сеть;
- другой хост (или несколько - виртуальная LAN) имеют интерфейс в виртуальную сеть
- роутер должен им обеспечивать форвардинг в Интернет, как он и сам туда выходит.
Зачем это надо?
Это способ отработать сетевые настройки, правила ipfilter и т.д. для построения реальной сети с шлюзованием в Интернет. А потом только перенести отлаженные конфигурации в реальные хосты.
- роутер имеет 2 интерфейса: мост с выходом в Интернет + внутренняя сеть;
- другой хост (или несколько - виртуальная LAN) имеют интерфейс в виртуальную сеть
- роутер должен им обеспечивать форвардинг в Интернет, как он и сам туда выходит.
Зачем это надо?
Это способ отработать сетевые настройки, правила ipfilter и т.д. для построения реальной сети с шлюзованием в Интернет. А потом только перенести отлаженные конфигурации в реальные хосты.
- Olej
- Писатель
- Сообщения: 19740
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Виртуальный Интернет-роутер
Вот роутер как он настроен в VirtualBox, его сетевые интерфейсы.Olej писал(а): - роутер имеет 2 интерфейса: мост с выходом в Интернет + внутренняя сеть;
(это Astra Linux CE, но это Linux, а какой - это совершенно не имеет значения)
- Olej
- Писатель
- Сообщения: 19740
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Виртуальный Интернет-роутер
После его загрузки:Olej писал(а): Вот роутер как он настроен в VirtualBox, его сетевые интерфейсы.
Код: Выделить всё
olej@astra:~$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:72:09:c0 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.107/24 brd 192.168.1.255 scope global noprefixroute dynamic eth0
valid_lft 172782sec preferred_lft 172782sec
inet6 fe80::2a33:9607:fd98:381f/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:c0:d9:ef brd ff:ff:ff:ff:ff:ff
inet6 fe80::4980:ef5d:5849:274a/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Или:
- во внутренней сети будем устанавливать статические IP вручную;
Или:
- во внутренней сети должен работать DHCP сервер.
Я хотел бы пройти 2-м вариантом.
На каком хосте внутренней сети DHCP? Предполагаю, что именно на этом роутере.
- Olej
- Писатель
- Сообщения: 19740
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Виртуальный Интернет-роутер
Olej писал(а):На каком хосте внутренней сети DHCP? Предполагаю, что именно на этом роутере.
Код: Выделить всё
olej@astra:~$ aptitude search dhcp-server
p isc-dhcp-server - ISC DHCP server for automatic IP address assignment
p isc-dhcp-server:i386 - ISC DHCP server for automatic IP address assignment
p isc-dhcp-server-ldap - DHCP server that uses LDAP as its backend
p isc-dhcp-server-ldap:i386 - DHCP server that uses LDAP as its backend
Код: Выделить всё
olej@astra:~$ sudo apt install isc-dhcp-server
[sudo] пароль для olej:
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Следующий пакет устанавливался автоматически и больше не требуется:
fonts-liberation2
Для его удаления используйте «sudo apt autoremove».
Будут установлены следующие дополнительные пакеты:
libirs-export160 libisccfg-export160 policycoreutils selinux-utils
Предлагаемые пакеты:
isc-dhcp-server-ldap
НОВЫЕ пакеты, которые будут установлены:
isc-dhcp-server libirs-export160 libisccfg-export160 policycoreutils selinux-utils
обновлено 0, установлено 5 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 1.263 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 6.163 kB.
Хотите продолжить? [Д/н] y
Пол:1 https://download.astralinux.ru/astra/testing/orel/repository orel/main amd64 libisccfg-export160 amd64 1:9.11.3+dfsg-1ubuntu1.5 [81,9 kB]
Пол:2 https://download.astralinux.ru/astra/testing/orel/repository orel/main amd64 libirs-export160 amd64 1:9.11.3+dfsg-1ubuntu1.5 [54,7 kB]
Пол:3 https://download.astralinux.ru/astra/testing/orel/repository orel/main amd64 isc-dhcp-server amd64 4.3.5-3+deb9u1+b1 [526 kB]
Пол:4 https://download.astralinux.ru/astra/testing/orel/repository orel/main amd64 selinux-utils amd64 2.6-3 [118 kB]
Пол:5 https://download.astralinux.ru/astra/testing/orel/repository orel/main amd64 policycoreutils amd64 2.6-3 [482 kB]
Получено 1.263 kБ за 1с (1.160 kБ/c)
Предварительная настройка пакетов ...
Выбор ранее не выбранного пакета libisccfg-export160.
(Чтение базы данных … на данный момент установлено 233650 файлов и каталогов.)
Подготовка к распаковке …/libisccfg-export160_1%3a9.11.3+dfsg-1ubuntu1.5_amd64.deb …
Распаковывается libisccfg-export160 (1:9.11.3+dfsg-1ubuntu1.5) …
Выбор ранее не выбранного пакета libirs-export160.
Подготовка к распаковке …/libirs-export160_1%3a9.11.3+dfsg-1ubuntu1.5_amd64.deb …
Распаковывается libirs-export160 (1:9.11.3+dfsg-1ubuntu1.5) …
Выбор ранее не выбранного пакета isc-dhcp-server.
Подготовка к распаковке …/isc-dhcp-server_4.3.5-3+deb9u1+b1_amd64.deb …
Распаковывается isc-dhcp-server (4.3.5-3+deb9u1+b1) …
Выбор ранее не выбранного пакета selinux-utils.
Подготовка к распаковке …/selinux-utils_2.6-3_amd64.deb …
Распаковывается selinux-utils (2.6-3) …
Выбор ранее не выбранного пакета policycoreutils.
Подготовка к распаковке …/policycoreutils_2.6-3_amd64.deb …
Распаковывается policycoreutils (2.6-3) …
Настраивается пакет libisccfg-export160 (1:9.11.3+dfsg-1ubuntu1.5) …
Настраивается пакет selinux-utils (2.6-3) …
Обрабатываются триггеры для libc-bin (2.24-11+deb9u3) …
Обрабатываются триггеры для systemd (232-25+deb9u11astra.ce1) …
Обрабатываются триггеры для man-db (2.7.6.1-2) …
Настраивается пакет libirs-export160 (1:9.11.3+dfsg-1ubuntu1.5) …
Настраивается пакет isc-dhcp-server (4.3.5-3+deb9u1+b1) …
Generating /etc/default/isc-dhcp-server...
Job for isc-dhcp-server.service failed because the control process exited with error code.
See "systemctl status isc-dhcp-server.service" and "journalctl -xe" for details.
invoke-rc.d: initscript isc-dhcp-server, action "start" failed.
● isc-dhcp-server.service - LSB: DHCP server
Loaded: loaded (/etc/init.d/isc-dhcp-server; generated; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2019-09-18 00:33:39 EEST; 11ms ago
Docs: man:systemd-sysv-generator(8)
Process: 4622 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=1/FAILURE)
Сен 18 00:33:37 astra dhcpd[4636]: before submitting a bug. These pages explain the proper
Сен 18 00:33:37 astra dhcpd[4636]: process and the information we find helpful for debugging..
Сен 18 00:33:37 astra dhcpd[4636]:
Сен 18 00:33:37 astra dhcpd[4636]: exiting.
Сен 18 00:33:39 astra isc-dhcp-server[4622]: Starting ISC DHCPv4 server: dhcpdcheck syslog for diagnostics. ... failed!
Сен 18 00:33:39 astra isc-dhcp-server[4622]: failed!
Сен 18 00:33:39 astra systemd[1]: isc-dhcp-server.service: Control process exited, code=exited status=1
Сен 18 00:33:39 astra systemd[1]: Failed to start LSB: DHCP server.
Сен 18 00:33:39 astra systemd[1]: isc-dhcp-server.service: Unit entered failed state.
Сен 18 00:33:39 astra systemd[1]: isc-dhcp-server.service: Failed with result 'exit-code'.
Настраивается пакет policycoreutils (2.6-3) …
selinux-autorelabel-mark.service is a disabled or a static unit, not starting it.
Обрабатываются триггеры для libc-bin (2.24-11+deb9u3) …
Обрабатываются триггеры для systemd (232-25+deb9u11astra.ce1) …
Код: Выделить всё
olej@astra:~$ systemctl status isc-dhcp-server
● isc-dhcp-server.service - LSB: DHCP server
Loaded: loaded (/etc/init.d/isc-dhcp-server; generated; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2019-09-18 00:33:39 EEST; 1min 50s ago
Docs: man:systemd-sysv-generator(8)
- Olej
- Писатель
- Сообщения: 19740
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Виртуальный Интернет-роутер
Настройка: Установка и настройка сервера ISC DHCP в Ubuntu / Debian
Код: Выделить всё
root@astra:/etc/dhcp# tail -n 10 /etc/dhcp/dhcpd.conf
subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.100 10.1.1.254;
option subnet-mask 255.255.255.0;
option broadcast-address 10.1.1.255;
option domain-name-servers 192.168.1.3, 8.8.8.8;
option domain-name "workgroup";
option routers 10.1.1.1;
default-lease-time 7200;
max-lease-time 480000;
}
Код: Выделить всё
root@astra:/etc/default# cat /etc/default/isc-dhcp-server | grep v4
#DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
#DHCPDv4_PID=/var/run/dhcpd.pid
INTERFACESv4="eth1"
Код: Выделить всё
olej@astra:/etc/dhcp$ sudo /sbin/ifconfig eth1 10.1.1.1 up
olej@astra:/etc/dhcp$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:72:09:c0 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.107/24 brd 192.168.1.255 scope global noprefixroute dynamic eth0
valid_lft 164144sec preferred_lft 164144sec
inet6 fe80::2a33:9607:fd98:381f/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:c0:d9:ef brd ff:ff:ff:ff:ff:ff
inet 10.1.1.1/8 brd 10.255.255.255 scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::4980:ef5d:5849:274a/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Код: Выделить всё
olej@astra:~$ sudo systemctl restart isc-dhcp-server
[sudo] пароль для olej:
olej@astra:~$ sudo systemctl status isc-dhcp-server
● isc-dhcp-server.service - LSB: DHCP server
Loaded: loaded (/etc/init.d/isc-dhcp-server; generated; vendor preset: enabled)
Active: active (running) since Wed 2019-09-18 01:19:58 EEST; 3s ago
Docs: man:systemd-sysv-generator(8)
Process: 6206 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=0/SUCCESS)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/isc-dhcp-server.service
└─6221 /usr/sbin/dhcpd -4 -q -cf /etc/dhcp/dhcpd.conf eth1
Сен 18 01:19:56 astra systemd[1]: Starting LSB: DHCP server...
Сен 18 01:19:56 astra isc-dhcp-server[6206]: Launching IPv4 server only.
Сен 18 01:19:56 astra dhcpd[6220]: Wrote 0 leases to leases file.
Сен 18 01:19:56 astra dhcpd[6221]: Server starting service.
Сен 18 01:19:58 astra isc-dhcp-server[6206]: Starting ISC DHCPv4 server: dhcpd.
Сен 18 01:19:58 astra systemd[1]: Started LSB: DHCP server.
Код: Выделить всё
olej@astra:~$ sudo systemctl is-enabled isc-dhcp-server
isc-dhcp-server.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install is-enabled isc-dhcp-server
enabled
- Olej
- Писатель
- Сообщения: 19740
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Виртуальный Интернет-роутер
+ разрешить нужно форвардинг между интерфейсами:
P.S. Или так:
Код: Выделить всё
olej@astra:/etc/dhcp$ cat /proc/sys/net/ipv4/ip_forward
0
olej@astra:/etc/dhcp$ sudo sysctl -w net.ipv4.ip_forward=1
[sudo] пароль для olej:
net.ipv4.ip_forward = 1
olej@astra:/etc/dhcp$ cat /proc/sys/net/ipv4/ip_forward
1
Код: Выделить всё
olej@astra:/etc/dhcp$ echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
1
olej@astra:/etc/dhcp$ cat /proc/sys/net/ipv4/ip_forward
1
- Olej
- Писатель
- Сообщения: 19740
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Виртуальный Интернет-роутер
В качестве клиентского хоста LAN использую VM antiX (что есть под рукой), перенастроив ему только сетевой интерфейс на "внутренняя сеть"...Olej писал(а): - другой хост (или несколько - виртуальная LAN) имеют интерфейс в виртуальную сеть
- Olej
- Писатель
- Сообщения: 19740
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Виртуальный Интернет-роутер
После старта этого хоста его интерфейс получает IP 10.1.1.100 от того DHCP, который мы только-что настроили на диапазон 10.1.1.100...10.1.1.254.Olej писал(а): В качестве клиентского хоста LAN использую VM antiX (что есть под рукой), перенастроив ему только сетевой интерфейс на "внутренняя сеть"...
- Olej
- Писатель
- Сообщения: 19740
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Виртуальный Интернет-роутер
Всё это предыдущее кино позволило развернуть внутреннюю сеть, работающую от собственного DHCP ... но это не обеспечивает роутиг внаружу.Olej писал(а): После старта этого хоста его интерфейс получает IP 10.1.1.100 от того DHCP, который мы только-что настроили на диапазон 10.1.1.100...10.1.1.254.
Чего ему не хватает?
- Olej
- Писатель
- Сообщения: 19740
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Виртуальный Интернет-роутер
Поменяю внешний интерфейс роутера на NAT:Olej писал(а):Чего ему не хватает?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость