LINUX.ORG.RU
ФорумAdmin

Интернет и 2 сети, как соединить последние


0

1

Имеются такие сети:

eth0 - provider
eth1 - lan network
wlan0 - WiFi network

eth1 не видит wlan0, wlan0 не видит eth1, с сервера видно всех, eth0 видят все. Как правильно настроить?

Настройки:

auto eth0
iface eth0 inet dhcp
post-up iptables -t nat -A POSTROUTING -p all -o eth0 -j MASQUERADE
post-up echo 1 > /proc/sys/net/ipv4/ip_forward

auto eth1
iface eth1 inet static
   address 192.168.0.1
   netmask 255.255.255.0

auto wlan0
iface wlan0 inet static
   address 192.168.1.1
   netmask 255.255.255.0

Табличка после загрузки(да и вообще всегда):

Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
10.13.128.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
0.0.0.0 10.13.128.1 0.0.0.0 UG 0 0 0 eth0

Тут http://paste.org/pastebin/view/33466 с нормальными отступами.

Настройки dhcp:

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.128;
option routers 192.168.0.1;
interface eth1;
}

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.2 192.168.1.128;
option routers 192.168.1.1;
interface wlan0;
}

Если делаю так:
route add -net 192.168.1.0/24 gw 192.168.0.1
Ноут(WiFi(wlan0)) перестаёт видить что-либо кроме себя.

Вот здесь http://www.gentoo.ru/node/11641 вопрос уже поднимался и как обычно: «Спасибо! Помогло, все настроил.» НО КАК БЛДЖАД?

Можно соединить интерфейсы мостом, тогда по проводу и по воздуху вообще одна сеть по сути будет.

MahMahoritos ★★★
()

Интернет и 2 сети, как соединить последние

при такой постанвке вопроса не понятно причём здесь первая

shty ★★★★★
()
Ответ на: комментарий от MahMahoritos

>Можно соединить интерфейсы мостом, тогда по проводу и по воздуху вообще одна сеть по сути будет.

Зачем? Мне просто нужно сказать серваку «пакеты от eth1 к wlan0 передавай на wlan0, а пакекы из wlan0 к eth1 передавай на eth1», просто я не знаю чем и как это сделать.

anonymous327
() автор топика
Ответ на: комментарий от MahMahoritos

С википедии (немного подправил):

iptables -t nat -A POSTROUTING -d 192.168.1.0 -s 192.168.0.0/24 -j SNAT --to-source 192.168.1.1
iptables -t nat -A POSTROUTING -d 192.168.0.0 -s 192.168.0.1/24 -j SNAT --to-source 192.168.0.1

Правильно? Debian 6.

anonymous327
() автор топика
Ответ на: комментарий от anonymous327

Это жуткий изврат. В той же википедии почитайте про сетевой мост. Поищите инструкции по настройке рутера/интернет-шлюза на базе Debian. Или вот инструкция для Gentoo

MahMahoritos ★★★
()
Ответ на: комментарий от MahMahoritos

Значит работать будет?) Серьёзно, чем это плохо? Тут вроде написано откуда, куда и через что отправлять. Что ещё нужно то?

anonymous327
() автор топика
Ответ на: комментарий от anonymous327

Может и будет, но это банально кривой способ. Как вместо того чтобы использовать телефон, записывать голос на пленку и пересылать в конверте (и так с каждой фразой).

MahMahoritos ★★★
()
Ответ на: комментарий от MahMahoritos

Написал так:
iptables -A FORWARD -i eth1 -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -i wlan0 -d 192.168.0.0/24 -j ACCEPT

Ноут теперь видит провод, но наоборот не идёт. Это тоже криво? Я даже не понимаю до конца как это работает. Обязательно читать толстенный мануал по iptables или может подскажете?

anonymous327
() автор топика
Ответ на: комментарий от anonymous327

> Мне просто нужно сказать серваку «пакеты от eth1 к wlan0 передавай на wlan0, а

пакекы из wlan0 к eth1 передавай на eth1», просто я не знаю чем и как это сделать.


Это никак не нужно делать. Это уже само собой сделано.

А вот это

post-up echo 1 > /proc/sys/net/ipv4/ip_forward

к чему относится ? Оно должно всегда быть, а не только когда eth0 поднят.

AS ★★★★★
()
Ответ на: комментарий от anonymous327

> iptables -t nat -A POSTROUTING -d 192.168.1.0 -s 192.168.0.0/24 -j SNAT --to-source 192.168.1.1

iptables -t nat -A POSTROUTING -d 192.168.0.0 -s 192.168.0.1/24 -j SNAT --to-source 192.168.0.1


Правильно?


Неправильно. ТАк не нужно совсем. И, вообще, iptables тут не нужен, это только для NAT на eth0 надо и для файрвола там же.

AS ★★★★★
()
Ответ на: комментарий от MahMahoritos

Настроил вот так:

interfaces

auto localbridge
iface localbridge inet static
   bridge_ports eth1 wlan0
   address 192.168.2.1
   netmask 255.255.255.0

dhcp

subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.2 192.168.2.128;
option routers 192.168.2.1;
interface localbridge;
}

кабель работает, а вот к wifi ноут не подцепляется, хотя в списке сетей присутствует моя. Что я делаю не так?

anonymous327
() автор топика
Ответ на: комментарий от anonymous327

Беспроводные сети в мост добавляются немного иначе. Смотри в сторону hostapd. При его использовании в конфиге бриджа указывается только проводной интерфейс, а в конфиге hostapd указывается бридж.

MahMahoritos ★★★
()
Ответ на: комментарий от anonymous327

>А если провайдер лежит смысла нет в этой строчке.

Это постоянная системная переменная. Если не используется, то на работу не влияет. Поставь один раз в sysctl.conf и забудь

MahMahoritos ★★★
()
Ответ на: комментарий от MahMahoritos

>Смотри в сторону hostapd. При его использовании в конфиге бриджа указывается только проводной интерфейс, а в конфиге hostapd указывается бридж.

Вот у меня как раз hostapd. Там ещё mon.wlan0 интерфейс есть, для точки доступа. Значит в конфиге hostapd interface=wlan0 заменить на interface=localbridge? mon.wlan0 он сам догадается использовать?

anonymous327
() автор топика
Ответ на: комментарий от anonymous327

Мне просто нужно сказать серваку «пакеты от eth1 к wlan0 передавай на wlan0, а пакекы из wlan0 к eth1 передавай на eth1», просто я не знаю чем и как это сделать

Это маршрутизация.

spunky ★★
()
Ответ на: комментарий от MahMahoritos

>конфиге бриджа указывается только проводной интерфейс, а в конфиге hostapd указывается бридж

Всё равно не работает. В конфиге hostapd также есть строчка driver, которая говорит какой драйвер использовать для указанного выше интерфейса. Но ведь драйвер на бридж мне не нужен, а wlan0 остаётся без него.

anonymous327
() автор топика
Ответ на: комментарий от anonymous327

Ох... Ну почитай уже доки. Драйвер нужен. hostapd обеспечивает нужную инфраструктуру для работы беспроводной сети и интегрирует ее в бридж. Вот кусок конфы

interface=wlan0
bridge=br0
driver=nl80211

Тут я выложил полный набор конфигов, которые работают у меня в Gentoo. Адаптируй просто некоторые пункты под Debian или найди готовую инструкцию под свою систему.

MahMahoritos ★★★
()
Ответ на: комментарий от anonymous327

> А если провайдер лежит смысла нет в этой строчке.

Это разрешение форвардить между интерфейсами. То есть, между всеми, в том числе, между eth1 и wlan0.

AS ★★★★★
()
Ответ на: комментарий от anonymous327

>Ну да, а маршруты лежат в route -n, а добавляют их командой route add, но что нужно написать то?

Если делаю так:

route add -net 192.168.1.0/24 gw 192.168.0.1


Ноут(WiFi(wlan0)) перестаёт видить что-либо кроме себя.



Бред полный. 192.168.1.0/24 - это твоя wifi сеть (судя по первому посту). Ноут видит её НАПРЯМУЮ, а ты пытаешься заставить его идти к ней через шлюз. Разумеется, после этого он не видит ничего. Нужно наоборот

на wifi устройствах, кроме твоего сервера

route add -net 192.168.0.0/24 gw 192.168.1.1

а лучше

ip r a 192.168.0.0/24 via 192.168.1.1 dev wlan0

на проводных устройствах, кроме твоего сервера

route add -net 192.168.1.0/24 gw 192.168.0.1

Почитай что-нибудь по маршрутизации, потом - LARTC

router ★★★★★
()
Ответ на: комментарий от MahMahoritos

>Беспроводные сети в мост добавляются немного иначе. Смотри в сторону hostapd.

А можно руками добавить беспроводной интерфейс к мосту?

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

router ★★★★★
()
Ответ на: комментарий от router

Скорее всего напрямую лажа получится. Мост ведь действует как один интерфейс. Т.е. если на него начнешь кидать беспроводные костыли, они так же будут и на проводную часть действовать. А без этих костылей по воздуху не подключиться. Я так понял, hostapd организует всю необходимую инфрауструктуру (SSID, выбор канала, мощности, ключи, шифрование и т.д.), а на мост выкидывает уже чистые сетевые пакеты.

MahMahoritos ★★★
()
Ответ на: комментарий от MahMahoritos

>Мост ведь действует как один интерфейс.

Ну не совсем :) Мост - это вид хаба, т.е. пакеты с одного интерфейса перекидываются на все остальные, причём на канальном уровне. Если ли на канальном уровне различия между 802.11x и 802.3x - не знаю, так подробно не смотрел, но по-моему нет. Пойду что-нибудь почитаю

router ★★★★★
()
Ответ на: комментарий от router

на проводных устройствах, кроме твоего сервера
route add -net 192.168.1.0/24 gw 192.168.0.1

Зачем? Вот таблица на стационарнике(провод):

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     1      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

Пакет для 192.168.1.0 отправляется по последнему маршруту.

Выяснилось, что ноут пингует стационарник (без добавления кривых роутов, т.е. всё как в первом посте), а наоборот не идёт, похоже проблема в богомерзкой оси.

anonymous327
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.