Я пытаюсь создать VM-Home Lab с разными серверами Ubuntu. Я хочу, чтобы каждый сервер был недоступен для внешнего сервера / интернета, и я подумал, что смогу сделать это, настроив iptables.

Я попробовал пару учебников, предлагающих мне УДАЛИТЬ весь трафик и настроить его только на ACCPET из моей внутренней сети (например. 10.10.0.0/24).

Однако, когда я следую этим шагам, я всегда получаю пару ошибок:

  • Прежде всего, если я начну с команды iptables -P INPUT DROP я не смогу продолжить с остальными командами, потому что сервер каким-то образом не может разрешить свое собственное имя хоста.
  • Когда я добавляю свой локальный диапазон IP- адресов с помощью iptables -A INPUT -i eth0 -s 192.168.100.0/24 -m state --state NEW,ESTABLISHED -j ACCEPT Я не могу получить доступ к своему серверу с хост-компьютера через ssh или не могу даже загрузить веб-страницу, размещенную на нем

Моя главная цель - сделать сервер доступным для каждого компьютера, ноутбука и т.д. В моей домашней сети, но не снаружи. Так что мы с друзьями можем вместе работать над проектами кодирования, когда они приносят свой ноутбук.

Возможно, я переусердствовал, и, может быть, есть более простой способ (Использование гипервизора virtualbox).

На машинах работают службы gitlab-ce и jira с другой.

Буду признателен за любую помощь, так как я впервые работаю с такими вещами (на самом деле я просто разработчик программного обеспечения:P)

ура

1 ответ1

0

У вас есть несколько способов настроить гипервизор для достижения вашей цели:

  1. Каждая виртуальная машина имеет сетевой адаптер, подключенный к bridged adapter . Затем необходимо настроить публичный IP-адрес (например, в 10.10.0.0/24) для каждого из этих сетевых адаптеров.

    Наконец, вы можете выполнить следующие команды iptables на вашем хосте:

    • iptables -P INPUT DROP чтобы установить политику по умолчанию как DROP
    • iptables -A INPUT -i eth0 -s 10.10.0.0/24 -j ACCEPT : разрешить пакет из вашей внутренней сети.
  2. Каждая виртуальная машина имеет свой сетевой адаптер, подключенный к NAT . Затем необходимо настроить перенаправление портов для каждой службы каждой виртуальной машины (кнопка «Параметры виртуальной машины»> «Сеть»> «Дополнительно»> «Переадресация портов» внизу). Пожалуйста, смотрите примечание в конце поста для более подробной информации о конфигурации переадресации портов.

    Затем вы должны выполнить следующие команды iptables на вашем хосте:

    • iptables -P INPUT DROP
    • iptables -A INPUT -i eth0 -s 10.10.0.0/24 -j ACCEPT
    • Вместо последней команды вы можете быть более точным в своем праве доступа : iptables -A INPUT -i eth0 -s 10.10.0.0/24 --dport ssh -j ACCEPT но вам, возможно, придется иногда перенастраивать iptables, если вы добавляете больше служб для вас виртуальные машины.

В этом случае ваши виртуальные машины не будут доступны из Интернета и из остальной части внутренней сети, при условии, что вся ваша внутренняя сеть - 10.0.0.0/8. Примечание Вы будете иметь более подробную информацию о мостовом /NAT и перенаправление портов здесь

РЕДАКТИРОВАТЬ

Учитывая приведенные ниже требования, я не понял, что ваша локальная сеть «только» 10.10.0.0/24 (а не 10.0.0.0/8). Кроме того, 10.10.0.0/24 принадлежат более широкой частной сети 10.0.0.0/8 (https://en.wikipedia.org/wiki/Private_network), которая не маршрутизируется в Интернете (я имею в виду без VPN, но технически это не маршрутизация). Поэтому клиент из Интернета не сможет получить доступ к внутренним виртуальным машинам.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .