Назад | Перейти на главную страницу

сетевой мост + нат на ubuntu maverick

У меня есть три машины Ubuntu Maverick и точка доступа. Я хочу создать следующий сценарий:

Настройка выглядит следующим образом:

На этой картинке я хочу уметь:

Я думал, что смогу соединить проводные и беспроводные соединения на компьютере 2, так что все интерфейсы 192.168.0. * Будут находиться в одной подсети и будут иметь прямой доступ друг к другу, но я играл с brctl (bridge-utils) и / etc / network / interfaces весь день и не заработал.

Что касается доступа в Интернет с компьютера 1 через компьютер 2, я почти уверен, что смогу настроить NAT и IP-переадресацию на компьютере 2 в соответствии с эти инструкции (Я делал это раньше.), Но я застрял на мосту и больше не рискнул.

Проблема, скорее всего, в том, что ваш беспроводной интерфейс на компьютере2 не поддерживает мост. Вот это объяснение возможных причин.

Это хорошо известная проблема, и во многих случаях Linux не может предоставить решение (на самом деле, вряд ли она будет работать даже в Windows).

Однако есть и другие решения. Они включают использование отдельных сегментов сети и некоторую маршрутизацию, но они дадут вам то, что вы хотите. По сути, вам нужно настроить компьютер2 в качестве маршрутизатора. Чтобы это работало правильно, я бы рекомендовал использовать отдельные подсети в сегментах проводной и беспроводной сети.

РЕДАКТИРОВАТЬ: добавление подсетей на диаграмму выше, чтобы показать решение, а также сценарий запуска для настройки сети. Скрипт также разрешает доступ в Интернет с компьютера 1 через NAT на компьютере 2.

#!/bin/bash
PATH=/usr/sbin:/sbin:/bin:/usr/bin
WAN=wlan0
WAN2=eth1
LAN=eth2
LANIP=192.168.0.5
ifconfig ${LAN} ${LANIP} netmask 255.255.255.254 up
iptables -F
iptables -t nat -F
iptables -A INPUT -i lo -j ACCEPT
iptables -I INPUT 1 -m state --state NEW -i ${LAN} -j ACCEPT
iptables -I INPUT 1 -m state --state NEW -i ${WAN} -j ACCEPT
iptables -A FORWARD -i ${WAN2} -o ${LAN} -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ${LAN} -o ${WAN} -j ACCEPT
iptables -A FORWARD -i ${WAN} -o ${LAN} -j ACCEPT
iptables -A FORWARD -i ${LAN} -o ${WAN2} -j ACCEPT
iptables -t nat -A POSTROUTING -o ${WAN2} -j MASQUERADE
iptables -A FORWARD -i ${WAN} -o ${WAN} -j REJECT
iptables -A FORWARD -i ${WAN2} -o ${WAN2} -j REJECT
for file in ${LAN} ${WAN} ${WAN2}; do
  echo "1" > /proc/sys/net/ipv4/conf/${file}/proxy_arp
  echo "1" > /proc/sys/net/ipv4/conf/${file}/forwarding
done
echo 1 > /proc/sys/net/ipv4/ip_forward