У меня есть PC1 и PC2, PC1 подключен к Wi-Fi, а PC2 подключен к PC1 через Ethernet, я установил проводное соединение PC1 с опцией «Совместно с другим компьютером».
При такой конфигурации у моего PC2 есть Интернет, но IP-адреса Ethernet PC1 и PC2 такие же, как 10.40.0.X, а IP-адрес Wi-Fi PC1 — 192.168.1.X
Я хочу, чтобы Ethernet-IP-адреса ПК1 и ПК2 стали 192.168.1.X
Если я изменю статический Ethernet-IP-адрес ПК1 на 192.168.1.X, IP-адрес ПК2 станет таким, как я и ожидал, но интернет не будет работать.
Я работаю на Linux. Я думаю, что мне нужно настроить мост, но когда я это делаю, на моем ПК2 нет интернета.
решение1
Мост между беспроводной сетью и Ethernet на ПК1 здесь не поможет, поскольку ПК2 не получит IP-адрес от Wi-Fi.
Вместо этого вы можете настроить IP-пересылку на ПК1 и маскировку на его интерфейсе Wi-Fi. Тогда ПК2 сможет получить доступ к Интернету, используя адрес Wi-Fi ПК1.
Чтобы настроить IP-пересылку для IPv4, выполните sysctl
следующий вызов:
sudo sysctl net.ipv4.ip_forward=1
Чтобы добавить маскировку на ПК1, вам нужно вызвать что-то вроде этого, если у вас установлен iptables:
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
Вместо этого wlan0
вам придется использовать имя вашего устройства Wi-Fi. Вы можете узнать имя, например, с помощью следующей команды:
ip addr show
Найдите в выводе свой IP-адрес Wi-Fi. Имя интерфейса указано несколькими строками выше после номера интерфейса.
Редактировать:Добавлена конфигурация для IP-переадресации.