4

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

Я мог бы просто проложить сетевой кабель от моего ADSL/ беспроводного маршрутизатора к настольному компьютеру, но иногда это нецелесообразно.

Что я действительно хотел бы сделать, так это соединить беспроводные и проводные адаптеры моего ноутбука таким образом, чтобы я мог проложить сетевой кабель от моего ноутбука к коммутатору и другой сетевой кабель от коммутатора к настольному компьютеру, чтобы настольный компьютер мог получить доступ к Интернет через мой ADSL/ беспроводной маршрутизатор через мой latop:

+--------------------+
|ADSL/wireless router|
+--------------------+
    |
+-------------------------+
|laptop's wireless adaptor|
|                         |
|laptop's wired adaptor   |
+-------------------------+
    |
+------+
|switch|
+------+
    |
+-----------------------+
|desktop's wired adapter|
+-----------------------+

Немного Googling предполагает, что я могу сделать это, соединяя беспроводные и проводные адаптеры моего ноутбука.

В Windows XP «Сетевые подключения» я выбираю «Подключение по локальной сети» и «Беспроводное сетевое подключение», щелкните правой кнопкой мыши и выберите «Мостовые подключения».

Из того, что я собираю, это (слой 2?) bridge проверяет MAC-адрес трафика, поступающего из беспроводной сети, и передает его в проводную сеть, если он подозревает, что сетевой адаптер с таким MAC-адресом может находиться на проводной стороне, и наоборот.

Если это так, я бы предположил, что когда настольный компьютер пытается получить IP-адрес от DHCP-сервера (который работает на ADSL/ беспроводном маршрутизаторе), он будет отправлять широковещательный пакет DHCP, который будет проходить через мост ноутбука к маршрутизатору, и ответ будет возвращаться через мост ноутбука обратно на рабочий стол.

Этого не происходит

Еще немного прибегая к помощи Google, я нашел некоторую инструкцию, как это можно сделать с Linux. Я перезагружаюсь к Ubuntu 9.10 и набираю следующее:

sudo apt-get install bridge-utils
sudo brctl addbr br0
sudo brctl addif br0 wlan0
sudo brctl addif br0 eth0
sudo ipconfig wlan0 0.0.0.0
sudo ipconfig eth0 0.0.0.0

Еще раз, рабочий стол не может связаться с ADSL/ беспроводным маршрутизатором.

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

2 ответа2

4

Я бы предпочел, чтобы мост работал под Ubuntu, поэтому я все еще ищу ответы, но я смог заставить мост работать на Windows XP.

После соединения локального соединения и беспроводного сетевого соединения я открыл командную строку и набрал следующее:

netsh bridge show a

В этом списке указано «Подключение по локальной сети» с идентификатором 1 и «Подключение к беспроводной сети» с идентификатором 2. ForceCompatibilityMode моего беспроводного сетевого подключения был показан как Unknown, поэтому я набрал следующее:

netsh bridge set a 2 e

Это включило мое беспроводное сетевое соединение. Настольный компьютер смог получить IP-адрес от DHCP-сервера на маршрутизаторе. Как оказалось, IP-адрес, который он получил, был таким же, как IP-адрес, который обычно получает мое беспроводное сетевое соединение, что заставляло Windows жаловаться на конфликт IP-адресов в сети. Я дал своему настольному компьютеру статический IP-адрес, и все было хорошо. Настольный компьютер и ноутбук теперь могут использовать Интернет.

3

Я решил использовать NAT на своем ноутбуке Ubuntu вместо мостового соединения, которое работает хорошо, за исключением невозможности использовать DHCP-сервер моего маршрутизатора. Я вполне могу установить DHCP-сервер на своем ноутбуке, если мне не придется вручную настраивать сеть моего компьютера. Независимо от того, как я сделал беспроводную связь с проводной NAT ...

Сеть моего маршрутизатора (и, следовательно, беспроводного подключения моего ноутбука) - 192.168.1.0, я буду использовать 192.168.0.0 для сети на интерфейсе eth0 моего ноутбука и на рабочем столе.

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

Я создаю файл /etc/wpa_supplicant.conf (от имени root), содержащий следующее:

ctrl_interface=/var/run/wpa_supplicant
network={
    ssid="myssid"
    scan_ssid=1
    key_mgmt=WPA-PSK
    psk="mypresharedkey"
}

Где "myssid" - SSID моего маршрутизатора, а "mypresharedkey" - предварительный общий ключ WPA моего маршрутизатора.

Затем я запускаю беспроводную сеть с помощью:

sudo iwconfig wlan0 essid myssid
sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B

И получить по IP-адресу, серверу имен и шлюзу по умолчанию:

sudo dhclient wlan0

Это первая часть сделана. Теперь мне нужно, чтобы NAT работал, чтобы трафик eth0 мог попасть в / из маршрутизатора.

Сначала я должен сказать Ubuntu, что я хочу разрешить пересылку:

sudo bash
echo 1 > /proc/sys/net/ipv4/ip_forward
exit

Я бы подумал, что мог бы отразить 1 в /proc /sys /net /ipv4 /ip_forward, используя sudo, но по какой-то причине я всегда получаю сообщение об отказе в разрешении, поэтому я sudo bash и echo 1 из корневой оболочки.

Затем я установил некоторые правила пересылки:

sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT

И, наконец, настройте порт LAN, eth0:

sudo ifconfig eth0 192.168.0.254

Все сделано на моем ноутбуке, теперь для настройки настольной сети:

sudo ifconfig eth0 192.168.0.1
sudo route add default gw 192.168.0.254
sudo bash
echo "nameserver 192.168.1.254" > /etc/resolv.conf
exit

Опять же, мне кажется, что я не могу использовать echo для записи файла, если сначала не использую sudo bash.

И это все. Теперь я могу получить доступ к Интернету со своего рабочего стола через беспроводное соединение моего ноутбука.

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