Я нахожусь в сети и мне назначен 1 IP-адрес. Это 172.16.1.202. Однако я хотел включить несколько машин одновременно, поэтому я создал маршрутизатор, используя Raspberry Pi. Он работает под управлением Raspbian Wheezy и использует ISC-DHCP-сервер для обработки соединений, хоста для беспроводной трансляции и IP-таблиц для маршрутизации. Я следовал за гидом главным образом в гиде adafruit здесь.

Я могу получить беспроводные соединения в порядке, и он назначает каждой машине действительный IP-адрес. Они могут общаться друг с другом без проблем. Они также могут пропинговать любую машину в сети 172. Однако машины в сети 172 не могут пропинговать или даже найти мою сеть 192. Я предполагаю, что это нормально, если я запрашиваю данные только с другой машины, так как кажется, что она может получить успешный пинг, означающий, что он знает, как вернуть данные на мою машину, но это не будет хорошо, если я хочу, чтобы машина 172 выдавала данные к моей машине.

Как мне сообщить сети 172 или машине, что мой IP-адрес (172.16.1.202) может быть перенаправлен в мою сеть 192? Или я обойду это неправильно? Я не могу связываться с самой сетью 172 или мешать ей, но я могу что-то изменить на отдельной машине в сети 172.

Спасибо за помощь заранее.

1 ответ1

0

Здесь, похоже, есть две разные, но связанные проблемы:

Проблема № 1:

Каждый раз, когда у вас есть несколько машин, скрывающихся за одним IP-адресом, вам необходимо использовать сетевую функцию, называемую преобразованием адресов портов (также известную как перегрузка NAT). Эта функция позволяет вашему маршрутизатору динамически переназначать исходные порты трафика TCP на исходящие адреса и отслеживать их, тем самым прозрачно разрешая возвращать трафик на невидимые IP-адреса за ним. Это действительно упрощенное объяснение, но вы можете найти больше информации здесь: http://en.wikipedia.org/wiki/Network_address_translation

Ссылка на следующую ссылку приведена в исходном сообщении и содержит инструкции по трансляции сетевых адресов:http://qcktech.blogspot.com/2012/08/raspberry-pi-as-router.html.

Также убедитесь, что ваш DHCP-сервер передает IP-адрес "внутреннего" интерфейса вашим клиентам в качестве шлюза по умолчанию. Пример:

    subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.2 192.168.1.254;
    option broadcast-address 192.168.1.255;
    option routers 192.168.1.1;
    default-lease-time 600;
    max-lease-time 7200;
    option domain-name "local";
    option domain-name-servers 8.8.8.8, 8.8.4.4;
}

Проблема № 2:

Если вы не используете преобразование адреса порта, ваш маршрутизатор пытается передать трафик из сети 192 напрямую в сеть 172.16.1.x напрямую, но администратор сети 172.16.1.x не обновил свою конфигурацию до скажите своему маршрутизатору направить трафик, предназначенный для "вашей" 192.-любой сети на ваш IP (что-то, что я предполагаю, вероятно, не произойдет).

Если вы используете преобразование адресов портов, другие машины в сети 172.16.1.x не будут автоматически "видеть" машины в вашей сети 192. - независимо от того, что они скрыты, - так работает PAT: это позволяет вашей частной сети IP-адреса для связи друг с другом, но также и для достижения других сетей через функцию трансляции адресов портов.

Удачи!

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