Linux объединить две подсети

Настройка интернет-шлюза для двух подсетей на Ubuntu Server 18.04 LTS: подробное руководство

Настройка интернет-шлюза для двух подсетей на Ubuntu Server 1804 LTS

В этой статье мы рассмотрим действия по настройке интернет-шлюза для двух локальных подсетей на Ubuntu Server 1804 LTS. Для объединения двух сетей в одну и обеспечивания связи между компьютерами внутри сетей, а также доступа в интернет, нам необходимо настроить маршрутизацию и прямое преобразование адреса (NAT).

Настройка начинается с редактирования файлов настроек и таблиц маршрутизации. Для этого мы воспользуемся утилитой vi или другим редактором на ваш выбор. Настройки сетевых интерфейсов и таблиц маршрутизации можно найти в документации по вашей версии Ubuntu Server.

На первом этапе нам потребуется получить два IP-адреса для наших сетей. Один адрес будет назначен внешнему интерфейсу (который напрямую подключен к интернету), а второй – внутреннему интерфейсу (который подключен к локальным компьютерам).

Когда у нас есть два IP-адреса, можно приступить к настройке. Сначала нам нужно назначить IP-адрес на наш внутренний интерфейс, используя следующую команду:

sudo ifconfig enp0s3 inet внутренний_IP-адрес

Далее мы должны настроить прямое преобразование адреса (NAT) и маршрутизацию. Для этого нам потребуется редактировать файл /etc/sysctl.conf и раскомментировать строку #net.ipv4.ip_forward=1. После этого нужно выполнить команду sudo sysctl -p для активации настроек.

Для обеспечения связи между компьютерами внутри сети и доступа в интернет, мы также должны настроить маршрутизацию. Для этого нам нужно добавить маршрут default gateway на наш интернет-шлюз. Пример команды для настройки маршрута:

sudo route add default gw внешний_IP-адрес enp0s3

Теперь, когда маршрутизация настроена, можно проверить работоспособность интернет-соединения, выполнив команду ping с внешнего компьютера на адрес вашего web-сервера:

ping внешний_IP-адрес

Если ответ прошел успешно, значит, настройка интернет-шлюза прошла отлично и теперь ваша сеть готова к использованию.

Доступ к серверам за NAT по SSH

Доступ к серверам за NAT по SSH

После настройки etc/netplan/01-netcfg.yaml на вашем сервере Linux вы можете настроить доступ к другим серверам в вашей локальной сети через NAT. Изначально ваш сервер настроен как шлюз между двумя подсетями, и мы можем воспользоваться этой настройкой, чтобы получить доступ к другим серверам.

Ниже приведен пример настройки доступа к серверам по SSH:

  1. Прочитайте IP-адрес сервера, к которому вы хотите получить доступ, из etc/netplan/01-netcfg.yaml.
  2. Откройте терминал на вашем сервере и введите команду sudo nano /etc/ssh/sshd_config.
  3. Найдите и отредактируйте строки #Port и #ListenAddress следующим образом:
    • Для #Port установите номер порта SSH (обычно 22), по которому вы хотите получить доступ к серверу.
    • Для #ListenAddress укажите IP-адрес сервера, к которому вы хотите получить доступ.
  4. Сохраните файл и закройте редактор.
  5. Перезапустите службу SSH, введя команду sudo systemctl restart ssh.

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

Читайте также:  Телеметрия Windows 10 как настроить сбор диагностических данных

Настройка сети для nfs-server, ftp-server и web-server

Настройка сети для nfs-server, ftp-server и web-server

Для обеспечения связи между серверами внутреней и внешней сетью необходимо настроить маршрутизацию и преобразование адресов сетевых пакетов с помощью netfilter (iptables) и механизма NAT (Network Address Translation).

Настройку сети можно провести следующим образом:

  1. На сервере pc-2 настраиваем iptables для прослушивания входящих обращения на порты NFS, FTP и веб-сервера:
  2. sudo iptables -A PREROUTING -t nat -p tcp --dport 2049 -j DNAT --to-destination <ip-адрес NFS-сервера>
    sudo iptables -A PREROUTING -t nat -p tcp --dport 21 -j DNAT --to-destination <ip-адрес FTP-сервера>
    sudo iptables -A PREROUTING -t nat -p tcp --dport 80 -j DNAT --to-destination <ip-адрес веб-сервера>
  3. На сервере pc-2 настраиваем iptables для переписывания исходящих пакетов:
  4. sudo iptables -A POSTROUTING -t nat -o enp0s3 -j MASQUERADE
  5. На сервере pc-2 открываем порты для соединения с NFS-сервером и FTP-сервером:
  6. sudo iptables -A INPUT -p tcp --dport 2049 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
  7. На сервере pc-3 настраиваем rutind для маршрутизации:
  8. sudo route add default gw <ip-адрес сервера pc-2>
  9. На сервере pc-3 настраиваем доступ к NFS-серверу:
  10. sudo mount -t nfs <ip-адрес сервера pc-2>:/<путь к nfs-шаре> <локальная директория>
  11. На сервере pc-3 настраиваем доступ к FTP-серверу:
  12. ftp <ip-адрес сервера pc-2>
  13. На клиенте (например, Windows PC) настраиваем доступ к веб-серверу:
  14. ping <ip-адрес сервера pc-2>
    ssh <ip-адрес сервера pc-2>
    http://<ip-адрес сервера pc-2>

После сохранения и применения настроек iptables, сервер pc-2 с помощью маршрутизации и NAT будет обеспечивать связь между внутреней и внешней сетью. Теперь клиенты смогут достучаться до серверов NFS, FTP и веб-сервера по виртуальным IP-адресам, а сервер pc-2 будет преобразовывать пакеты и перенаправлять их на соответствующие сервера.

Связь между подсетями

Для обеспечения связи между двумя подсетями на нашем Linux-шлюзе, необходимо выполнить настройку маршрутизации пакетов. После создания и настройки интернет-шлюза для каждой подсети, мы можем приступить к настройке связи между ними.

Читайте также:  Подробная инструкция по установке Windows 10 64-бит на HUAWEI MateBook D 14

Для определения пути для передачи пакетов между подсетями, добавляем следующие правила в файл «/etc/netplan/01-netcfg.yaml»:

network:
version: 2
renderer: networkd
ethernets:
enp0s8:
dhcp4: no
dhcp6: no
addresses: [192.168.0.1/24]
bridges:
br0:
addresses: [192.168.1.1/24]
dhcp4: no
dhcp6: no
interfaces: [enp0s9]
version: 2
renderer: networkd
ethernets:
enp0s9:
dhcp4: no
dhcp6: no
addresses: [192.168.2.1/24]

После сохранения и закрытия файла, выполняем следующие действия:

1. Выполняем команду «sudo netplan apply», чтобы применить настройки.

2. Открываем файл «/etc/sysctl.conf» и отключаем преобразование адресов (IP-маскарадинг):

net.ipv4.ip_forward=1

3. Для предоставления доступа к внешней сети создаем правила NAT в iptables:

sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o enp0s3 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o enp0s3 -j MASQUERADE
sudo iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -s 192.168.1.0/24 -i enp0s3 -j ACCEPT
sudo iptables -A FORWARD -s 192.168.2.0/24 -i enp0s3 -j ACCEPT

4. Для просмотра и редактирования правил iptables можно использовать утилиту «iptables-persistent». Устанавливаем ее командой:

sudo apt-get install iptables-persistent

После установки утилиты, при редактировании правил iptables будет предложено сохранить изменения.

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

Настройка сети для router

Для начала, посмотрим таблицу маршрутизации на сервере:

$ ip route show

В данной таблице будут отображены все сети и подсети, с которыми сервер настроен на взаимодействие. Смотрим, куда сервер отправляет пакеты, полученные из каждой из подсетей.

Для примера, предположим, что у нас есть две подсети: 192.168.1.0/24 и 192.168.2.0/24. Также предположим, что в каждой подсети есть серверы с одинаковыми IP-адресами: 192.168.1.10 и 192.168.2.10 соответственно.

Настройка связи между подсетями

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

Воспользуемся командой route add для добавления маршрута между подсетями:

$ sudo route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1
$ sudo route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.2.1

Таким образом, мы настроили прямую связь между двумя подсетями. Теперь сервера с IP-адресами 192.168.1.10 и 192.168.2.10 смогут достучаться друг до друга.

Настройка доступа к ресурсу на другом сервере

Допустим, у нас есть веб-сервер с IP-адресом 192.168.1.10 в подсети 192.168.1.0/24 и FTP-сервер с IP-адресом 192.168.2.10 в подсети 192.168.2.0/24. Чтобы клиент, находящийся в одной из подсетей, мог получить доступ к ресурсам на другом сервере, необходимо настроить правила маршрутизации.

Для примера, настроим доступ к FTP-серверу из сети с веб-сервером:

$ sudo route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1

Теперь клиент в сети с веб-сервером сможет обращаться к FTP-серверу по его IP-адресу 192.168.2.10.

Аналогично можно настроить доступ ко многим другим ресурсам и сервисам на разных серверах.

Читайте также:  Как вернуться к стандартным службам Windows 10

Важно понимать, что настройка сети для роутера требует внимательности и понимания работы сетевых протоколов и маршрутизации. Неправильная настройка может привести к неработоспособности функций или к потере связи между сетями.

Отлично! Мы настроили сеть для роутера и теперь можем обеспечивать связь между различными сетями и подсетями.

Объединение двух локальных сетей с одинаковыми номерами сетей на Linux-шлюзе

Этап 1: Настройка Linux-шлюза

Для начала необходимо настроить маршрутизацию на Linux-шлюзе. Это можно сделать с помощью команды echo 1 > /proc/sys/net/ipv4/ip_forward. Эта команда активирует маршрутизацию пакетов в ядре Linux-шлюза.

Этап 2: Настройка iptables

Далее, нам нужно настроить правила для iptables. Для этого создадим файл с правилами iptables, например, с именем «iptables.rules». В этом файле мы указываем, какие действия должны выполняться для каждого пакета.

Действие Правило iptables
Пропускать пакеты между сетями iptables -A FORWARD -i lan1 -o lan2 -j ACCEPT
iptables -A FORWARD -i lan2 -o lan1 -j ACCEPT
Переадресовать пакеты между сетями iptables -t nat -A PREROUTING -i lan1 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.10:80
Переадресовать пакеты обратно iptables -t nat -A POSTROUTING -o lan1 -j SNAT --to-source 192.168.1.1

Обратите внимание, что в приведенных примерах «lan1» и «lan2» — это виртуальные интерфейсы, которые мы создаем на Linux-шлюзе для связи с каждой подсетью.

Этап 3: Настройка маршрутов на клиентских машинах

Для того чтобы клиенты из локальной сети LAN1 могли обращаться к машинам из сети LAN2 и наоборот, необходимо настроить маршрут и обратный маршрут на каждой машине.

Ниже приведены примеры команд для настройки маршрутов на клиентских машинах:

Компьютер Команда
Клиент из сети LAN1 route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1
Клиент из сети LAN2 route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.2.1

Этап 4: Проверка настроек

Теперь мы можем проверить настроенные правила и маршруты. Попробуем из клиента в сети LAN1 обратиться к web-серверу в сети LAN2:

  1. Откройте веб-браузер и введите адрес ftp-сервера в сети LAN2 (например, 192.168.2.10).
  2. Если все настройки выполнены правильно, вы должны увидеть страницу FTP-сервера.
  3. Также, проверьте возможность доступа к серверу из сети LAN2.

Если весь трафик между сетями должен проходить через Linux-шлюз, вы можете добавить следующую команду в файл с правилами iptables:

iptables -A FORWARD -i lan1 -o wan -j ACCEPT

В данном примере, «wan» — это интерфейс, через который осуществляется выход в Интернет.

Видео:

Настройка сети (netplan) в Ubuntu 18.04 /20.04 | Статический ip | Network configuration (netplan)

Настройка сети (netplan) в Ubuntu 18.04 /20.04 | Статический ip | Network configuration (netplan) by D1zz One 8,062 views 3 years ago 5 minutes, 15 seconds

Оцените статью