Сеть через интернет внешний ip

Шпаргалка по пробросу IP во внутреннюю сеть без моста и iptables в 4 команды

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

Практика применения: например маршрутизация IP-адресов с сервера на виртуальные машины, без необходимости подключать их к ethernet-сети физического сервера.
При этом на сетевой интерфейс может быть назначена как сеть адресов, так и разрозненные адреса, у которых этот сервер указан просто как следующий узел маршрутизации (так например Hetzner раздает свои отказоустойчивые IP-адреса).

Исходное состояние

Сервер S0 — шлюз в интернет, у него есть две сетевые карты eth0 — внешняя и brLAN — внутренняя (это может быть как физическая карта, так и просто мост для организации сети с виртуальными машинами).
1.1.1.1 — внешний IP-адрес сервера S0, в настройке никак не участвует.
1.2.3.4 — внешний IP-адрес, пакеты которого приходят на eth0 и который нужно пробносить на внутренний сервер
192.168.0.1 — IP-адрес сервера S0 на brLAN.
На S0 включена функция перенаправления IPv4

cat /etc/sysctl.conf | grep net.ipv4.ip_forward net.ipv4.ip_forward=1 

Сервер S1 — сервер во внутренней сети или виртуальный сервер, для которого нужно пробросить внешний IP-адрес, у него есть один сетевой интерфейс — eth0, включенный в brLAN.

iptables на обоих серверах выключен

Краткая шпаргалка по командам
ip route add 1.2.3.4 dev brLAN # отправлять пакеты для адреса 1.2.3.4 на интерфейс brLAN 
ip addr add 1.2.3.4 dev eth0 # Добавить адрес 1.2.3.4 на интерфейс, смотрящий в brLAN ip route add 192.168.0.1 dev eth0 # Пакеты на 192.168.0.1 отправлять в сеть brLAN ip route add default via 192.168.0.1 # Весь внешний трафик отправлять через 192.168.0.1 

На этом всё: для S1 внутренних IP-адресов назначать не нужно — пакеты сразу отправляются с публичного адреса.

Настройка клиента через конфиги

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

cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static ONBOOT=yes IPADDR=1.2.3.4 NETMASK=255.255.255.255 SCOPE="peer 192.168.0.1" cat /etc/sysconfig/network-scripts/route-eth0 ADDRESS0=0.0.0.0 NETMASK0=0.0.0.0 GATEWAY0=192.168.0.1 

Как настроить через конфиги сервер пока не нашел, но в целом это меньшая проблема — один шлюз контролировать просто и настройка элементарная — просто для каждого адреса (сети адресов) вызывать команду направления трафика во внутреннюю сеть — это можно хоть просто скриптом сделать и включить в автозагрузку.

Читайте также:  Использовать мобильный интернет при включенном wifi
Преимущества перед iptables с пробросом на внутренний IP
  1. Сохраняется адрес назначения пакета
  2. На интерфейсе внутреннего сервера виден правильный внешний IP
  3. Нет необходимости следить за зеркальными правилами iptables — чтобы исходящий трафик тоже шел с правильного IP
  4. При необходимости фильтрации трафика на шлюзе правила будут выглядеть нагляднее — указывать на реальный адрес сервера
  5. Отпадает необходимость поддерживать внутреннюю систему адресации
  6. Проще манипулировать маршрутами из скриптов
  7. При росте инфраструктуры можно будет перейти на динамическую маршрутизацию сохраняя уже существующие правила и логику работы
  8. Возможность обращаться к серверам по публичному адресу независимо от источника трафика. Для iptables в этом случае пришлось бы настраивать правила отдельно для случаев когда источник трафика на шлюзе, из внутренней сети, из внешней сети. Возможно есть еше какие-то тонкости
  9. Нагляднее вывод маршрутизации по ip route сразу видно какой трафик пойдет во внутреннюю сеть, в iptables правил было бы намного больше + были бы правила фильтрации и вывод нужно отдельно разбирать
  10. Два сервера из brLAN могут общаться между собой по публичным адресам напрямую, без участия шлюза
ping 1.2.3.4 PING 1.2.3.4 (1.2.3.4) 56(84) bytes of data. 64 bytes from 1.2.3.4: icmp_seq=1 ttl=64 time=1.18 ms From 192.168.122.1: icmp_seq=2 Redirect Host(New nexthop: 1.2.3.4) 64 bytes from 1.2.3.4: icmp_seq=2 ttl=64 time=0.386 ms 64 bytes from 1.2.3.4: icmp_seq=3 ttl=64 time=0.325 ms 64 bytes from 1.2.3.4: icmp_seq=4 ttl=64 time=0.262 ms 64 bytes from 1.2.3.4: icmp_seq=5 ttl=64 time=0.298 ms 64 bytes from 1.2.3.4: icmp_seq=6 ttl=64 time=0.344 ms arp Address HWtype HWaddress Flags Mask Iface 192.168.122.1 ether 52:54:00:91:b2:67 C eth0 1.2.3.4 ether 52:54:00:11:80:37 C eth0 
Как избавиться от 192.168.0.1

P.S. в принципе адрес 192.168.0.1 тоже можно исключить и указывать вместо него любой IP-адрес сервера-шлюза, например его публичный IP, тогда трассировка пути будет смотреться красиво. При установках по умолчанию всё будет работать, но могут возникать ньюансы.

Например возможность отвечать по своим IP-адресам с любого интерфейса может иногда мешать и должна быть выключена. Или если сменится публичный IP-адрес шлюза (например виртуалка переехала на другой физический сервер) — нужно будет менять настройки внутреннего сервера. При использовании для шлюза отдельного, общего для всех подобных шлюзов адреса такой проблемы не возникает.

Источник

Внешний и внутренний IP адрес: как это работает

Хотя вы можете этого не знать, но у вас есть два IP-адреса: внутренний IP-адрес (Private) и внешний IP-адрес (Public).

Зачем вам нужны два IP-адреса и в чем разница между внутренним и внешним IP-адресом?

Что такое внешний IP-адрес?

Внешний IP-адрес или общедоступный IP-адрес — это IP-адрес интерфейса маршрутизатора, подключенного к Интернету.

Вот диаграмма, иллюстрирующая распределение IP-адресов в типичной домашней сети или сети малого бизнеса.

внутренние-внешние-IP-адреса

Маршрутизатор обычно имеет два сетевых интерфейса.

Каждый из этих интерфейсов будет иметь IP-адрес. IP-адрес, назначенный внешнему интерфейсу, будет иметь маршрутизируемый IP-адрес и будет назначен вашим интернет-провайдером.

Этот адрес также известен как публичный адрес.

Диапазоны общедоступных адресов назначаются интернет-провайдерам Управлением по присвоению номеров в Интернете (IANA.

В сетях домашнего офиса, использующих маршрутизатор NAT, внутренние IP-адреса используют специальный диапазон IP-адресов.

NAT позволяет тысячам компьютеров внутренней сети получать доступ к Интернету с использованием одного внешнего IP-адреса.

Этот диапазон адресов специально зарезервирован для внутренних адресов, и IP-адреса не будут перенаправляться маршрутизаторами в Интернете.

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

Все устройства в моей домашней сети имеют адреса вроде 192.168.1. x но внешне у них адрес 109.155.209.167

В домашних сетях обычно используются адреса из диапазона адресов.192.168.0.* или.192.168.1.*.

Диапазон сетевых адресов 192.168.0.0 — это выделенный адрес частной сети, не поддерживающий маршрутизацию .

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

См. частный IP адрес в вики для более подробной информации.

Примечание. Если вы не знакомы с сетевыми адресами, вы можете прочитать руководство по IP4-адресам и классам.

Поиск ваших внешних (общедоступных) и внутренних (частных) IP-адресов

Чтобы найти свой внешний IP-адрес, выполните поиск своего IP-адреса в Google, после чего вы, вероятно, увидите такой экран.

whatismyipaddress-google

Google показывает IP-адрес:

109.155.209.167

Это ваш внешний IP-адрес.

Теперь откройте командную строку и введите:

Вы должны увидеть что-то вроде этого:

мойipaddressjpg

На этот раз ваш IP-адрес 192.168.1.64.

Это ваш внутренний IP-адрес.

Внутренний IP-адрес используется в вашей локальной внутренней сети, а внешний IP-адрес используется при общении с машинами в Интернете.

Разрешение доступа из Интернета к вашей сети

Из-за маршрутизатора NAT нет прямой связи между Интернетом и компьютером в локальной сети.

Вся связь между вашей внутренней сетью и Интернетом должна инициироваться устройством в вашей внутренней сети.

Как правило, это не проблема и является преимуществом безопасности.

Однако онлайн-геймеры и те, кто хотел бы разместить веб-сайт или другие службы в своей собственной сети, должны будут разрешить внешним устройствам в Интернете доступ к ним.

Для этого маршрутизаторы NAT можно настроить на использование метода, называемого переадресацией портов.

Переадресация портов позволяет внутреннему устройству иметь внешний IP-адрес и разрешает входящие подключения из Интернета.

Резюме

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

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

Маршрутизатор NAT позволяет устанавливать соединения только из внутренней сети во внешнюю сеть, а не наоборот, если только не используются такие методы, как переадресация портов.

Общие вопросы и ответы

В. Мой внешний IP-адрес постоянно меняется. Это нормально? Могу ли я остановить это?

О. Большинство интернет-провайдеров выделяют своим клиентам динамические IP-адреса. Этот адрес станет внешним IP-адресом, назначенным вашему маршрутизатору, и, следовательно, он может измениться.

На этом снимке экрана показано, как за месяц изменился мой собственный внешний IP-адрес.

внешний-IP-адрес-изменения

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

Статические IP-адреса не меняются.

Если вы собираетесь предоставлять доступ к своей сети из Интернета, то вам действительно нужен статический внешний IP-адрес.

Однако альтернативой для домашних сетей и сетей малого бизнеса является использование службы динамического DNS.

Служба динамического DNS не препятствует изменению внешнего адреса, а вместо этого автоматически отслеживает эти изменения и автоматически обновляет записи DNS при изменении IP-адреса.

Общие вопросы и ответы

В. Можно ли использовать внутренний IP-адрес в Интернете?

О. Нет — указанные выше диапазоны внутренних IP-адресов блокируются интернет-маршрутизаторами.

В. Как сообщение достигает внутреннего IP-адреса с внешнего?

A. Это делается с помощью таблицы преобразования на маршрутизаторе NAT и рассматривается в понимании переадресации портов.

В. Есть ли разница, если я использую диапазон IP-адресов 10., а не диапазон адресов 192.168.0.0?

О. Вообще нет. Однако большинство домашних маршрутизаторов настроены на использование диапазона адресов 192.168.

В. Кто назначает мой внешний IP-адрес (общедоступный)?

О. Он назначается вашим провайдером.

В. Как я узнаю, изменился ли мой внешний адрес?

О. Вам нужно будет проверить это, используя технику, показанную ранее.

В. Могу ли я изменить свой внешний IP-адрес?

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка / 5. Количество оценок:

Оценок пока нет. Поставьте оценку первым.

Источник

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