Подключите устройство к Интернету с помощью компьютера Linux

344
ramon74

У меня есть следующая архитектура:

architecture

[ Устройство Eth0] - LAN --- [Eth 0 Linux Computer Wth0] - Wifi - [Маршрутизатор Wifi]

Устройство Eth0: IP: 10.0.0.15, MK: 255.255.255.0, GW: 10.0.0.2

Компьютер Linux Eth0: IP: 10.0.0.2, MK: 255.255.255.0, GW: -
Компьютер Linux Wth0: IP192.168.1.10, MK: 255.255.255.0, GW: 192.168.1.1

Маршрутизатор Wifi: IP: 192.168.1.1/24

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

Компьютер с Linux получает подключение к Интернету с помощью маршрутизатора Wi-Fi, это прекрасно работает. И устройство подключено к компьютеру Linux с помощью кабеля Ethernet. С компьютера я могу сделать пинг на Устройство, и работает. Но с устройства нельзя подключиться к интернету.

Я пытался использовать правила маршрута, iptables ... но устройство не может подключиться к Интернету.

Знаете ли вы, как подключить устройство к Интернету с помощью компьютера Linux, такого как шлюз?

0
Вам нужно включить IP-пересылку и NAT на компьютере с Linux. Есть много обучающих программ для этого онлайн. Да, это включает в себя `iptables` для NAT. Если вы нашли учебное пособие, но оно не сработало, отредактируйте ваш вопрос со ссылкой на учебное пособие и опишите, что именно вы делали, как вы его отлаживали и где застряли. dirkt 5 лет назад 1

1 ответ на вопрос

2
bsod

он должен работать со следующими командами

сначала включите ip forwarding

echo 1 > /proc/sys/net/ipv4/ip_forward 

сбросить правила iptables

iptables -F iptables -t nat -F 

разрешить пересылку из локальной сети

iptables -A FORWARD -i eth0 -o wth0 -j ACCEPT 

разрешить ответы обратно в

iptables -A FORWARD -i wth0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT 

маскировать IP-адрес

iptables -t nat -A POSTROUTING -o wth0 -j MASQUERADE 

после этого вам необходимо настроить eth0 IP вашего компьютера Linux (10.0.0.2) в качестве шлюза на вашем устройстве и настроить DNS-сервер на IP-адрес вашего маршрутизатора Wi-Fi или какой-либо другой общедоступной службы DNS (например, 1.1.1.1 или 8.8.8.8). )

Я протестировал ваше решение и работает нормально, но если мы перезапустим компьютер Linux, мы потеряли конфигурацию. Знаете ли вы какой-нибудь способ сохранить эту конфигурацию навсегда? ramon74 5 лет назад 0
to make this ip_forward setting persistent you need to add the line `net.ipv4.ip_forward = 1` to the `/etc/sysctl.conf` file. as far as I know there is no standard way to make the iptables rules persistent. on debian and ubuntu there is a package called `iptables-persistent` which does restore the iptables rules on startup. they can be saved by running `iptables-save > /etc/iptables/rules.v4` bsod 5 лет назад 0

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