Несколько виртуальных сетевых интерфейсов с собственными общедоступными IP-адресами

В настоящее время я пытаюсь настроить свой сервер / старый компьютер для запуска нескольких различных служб, каждая с различным сетевым интерфейсом, поэтому я могу перенаправить их на разные DynDNS через DDclient. Однако для этого потребуется, чтобы каждый из виртуальных интерфейсов имел индивидуальный общедоступный IP-адрес, который я не понял, как получить. Я пробовал поискать в Google и нашел эту статью , однако при этом сервер просто не имеет доступа к Интернету, я также пытался создать фиктивный интерфейс, но у него нет общедоступного IP-адреса, если есть. Есть ли способ сделать то, что я описал выше, или я пытаюсь сделать что-то невозможное, и если это невозможно, есть ли альтернативы!

Заранее спасибо, Fischchen

-1
задан 24 June 2021 в 15:12

1 ответ

Общедоступные IP-адреса выдаются вашим интернет-провайдером, большую часть времени вы используете DHCP для получения общедоступного IP-адреса. Большинство интернет-провайдеров предоставляют только один IPv4-адрес за раз. Только через IPv6 вы можете назначить целые подсети для каждого из интерфейсов.

Что вы можете сделать, так это выполнить перенаправление портов, как предлагает user535733, вы можете назначить несколько имен одному IP-адресу, чтобы вы могли использовать, например, minecraft.mydomain.net и перенаправить порт tcp / 25565 или udp / 19132 на свой сервер майнкрафт. Затем вы можете использовать passwrdmgr.mydomain.net с точно таким же IP-адресом, а затем перенаправить порт tcp / 8080 или где бы он ни работал.

Статья, на которую вы ссылаетесь, предназначена для объединения двух интерфейсов в один, чтобы они работали как одна сеть Ethernet. Я думаю, вы хотели разделить интерфейсы, а не соединять их. Это также для Archlinux, а не для Ubuntu.

ddclient отслеживает изменение IP-адреса интерфейса и отправляет его поставщику DNS. У меня лично 2 домена, и я размещаю их оба на AWS Route53, ранее я использовал ddclient в сочетании с DYNDNS.

Здесь говорится, что вы можете использовать ddclient в сочетании с noip.

https://medium.com/@nobuto_m/minimal-dynamic-dns-configuration-for-no-ip-com-with-ddclient-cb7c038a74be

В файле /etc/ddclient/ddclient.conf вы можно добавить 2 раза один и тот же блок, но с другим

use=web
ssl=yesprotocol=noip
login=yourusername
password=yourpassword
minecraft.noip.com

use=web
ssl=yesprotocol=noip
login=yourusername
password=yourpassword
password.noip.com

. Это должно дать вам 2 доменных имени (minecraft / пароль), указывающих на один и тот же IP-адрес.

Поскольку IPv4 имеет длину всего 4 байта, его не хватает, и большинство провайдеров предоставляют клиентам только один адрес.Но IPv6 имеет длину 16 байт, вы можете получить свою собственную подсеть с огромным диапазоном. Допустим, ваш провайдер назначает вам адрес 2001: 678: 5d4: 123 :: 1/64. / 64 делит первые 64 бита на сетевую часть, которая указывает на вашего провайдера, последние 64 бита могут быть назначены вами. так что вы можете назначить :: 1 вашему интерфейсу minecraft, :: 2 вашему vpn и так далее.

В Ubuntu есть объяснение того, как читать адреса IPv6 https://wiki.ubuntu.com/IPv6#Reading_IPv6_Addresses

Реализация IPv6 зависит от вашего провайдера, если вы умеете читать немецкий, это может быть полезно https://telekomhilft.telekom.de/t5/Festnetz-Internet/Richtiges-IPv6-Subnetting/td-p/5068434

Использование двух имен хостов на одном IP адрес действительно означает, что перенаправление портов позволяет смешивать, поэтому будут работать minecraft.noip.com:80 и password.noip.com:25565. если менеджер паролей находится на веб-сервере, вы можете настроить веб-сервер так, чтобы он обслуживал только правильное имя хоста.

Сеть многоуровневая, имя хоста сопоставляется с IP-адресом, этот IP-адрес связан с интерфейсом, доступным по маршруту, приложение, использующее службу, использует протоколы udp или tcp, которые могут быть защищены брандмауэром и перенаправлены на порт (dnat ) на внутренний сервер и через брандмауэр можно запретить трафик между двумя областями. Вы должны быть осторожны, потому что это довольно сложно и нелегко для чтения.

Я запускаю свои вещи в основном в контейнерах докеров, одно приложение запускается в ограниченном пространстве, оно может взаимодействовать с другими контейнерами докеров, если вы не поместите его в отдельную сеть докеров. Docker разделяет ядро ​​linux.Я запускаю несколько приложений на одном сервере Ubuntu, но приложения запускаются изолированно друг от друга, если я указываю, что они запускаются в их собственной сети.

Вот как я запускаю свой сервер minecraft

docker run -d -it --name mc-server -e EULA=TRUE -p 19132:19132/udp -v mc-volume:/data itzg/minecraft-bedrock-server
0
ответ дан 28 July 2021 в 11:25

Другие вопросы по тегам:

Похожие вопросы: