[mdk-re] Устройство домашней минисети

Вячеслав Диконов =?iso-8859-1?q?sdiconov_=CE=C1_mail=2Eru?=
Пт Дек 28 23:57:01 MSK 2001


от стало у меня 2 компа с сеткой, на каждом по модему. 
Схема: 

Inet (модем)         Inet (модем) 
     |                    | 
   -----                ----- 
  |     |______________|     | 
  |     | LAN 100Mbps  |     | 
   -----                ----- 
192.168.1.1 (линукс) 192.168.1.2 (вындос) 

Хочется сделать так, чтобы при соединении любого из модемов обе машины
автоматически могли лазить по интернету (www, ftp, realaudio). Причем
хочется сделать всё грамотно. 

Решение нашли такое: На каждой машине ставим по NATу и прописываем
другую машину шлюзом с метрикой 1. Под виндами NAT сделан через
winroute, маршруты прописались. Схема работает, хотя и ненадёжно из-за
приколов winroute с определением модемного IP. Надо реализовать то же
под линуксом. 

Маршруты я сделал: 
Kernel IP routing table 
Destination   Gateway       Genmask       Flags Metric Ref Use Iface 
192.168.1.2   0.0.0.0       255.255.255.255 UH   0   0   0   eth0 
192.168.1.0   0.0.0.0       255.255.255.0   U    0   0   0   eth0 
127.0.0.0     0.0.0.0       255.0.0.0       U    0   0   0   lo 
0.0.0.0       192.168.1.2   0.0.0.0         UG   1   0   0   eth0 
       
Всё работает, когда соединён модем с машины 192.168.1.2 (брата). 
Для обратного случая нужен NAT под линуксом. И тут меня заколдобило. 

Если верить NAT-howto, надо сделать так:  
------------------------------------------------------------------- 
# Load the NAT module (this pulls in all the others). 
modprobe iptable_nat 

# In the NAT table (-t nat), Append a rule (-A) after routing 
# (POSTROUTING) for all packets going out ppp0 (-o ppp0) which says to 
# MASQUERADE the connection (-j MASQUERADE). 
iptables -t nat -A POSTROUTING -s 192.168.1.2 -o ppp0 -j MASQUERADE 

# Turn on IP forwarding 
echo 1 > /proc/sys/net/ipv4/ip_forward 
--------------------------------------------------------------------- 
Не фурычит! ifconfig показывает, что пакеты в интернет с виндов
(192.168.1.2) ко мне приходят, но насколько я понял,
через созданный NAT у меня прошло 0 пакетов. У меня интернет, у
брата хрен с маслом. Пробовал и iptables и ipchains - всё едино. Никак не
пойму чего мне не хватает. Не помогли и графические генераторы правил
вроде fwbuilder. 

Еще, при соединении с инетом винда сама добавляет еще один маршрут в
0.0.0.0 с метрикой 0 => пакеты валят туда. В линуксе же, маршрут в
0.0.0.0 через ppp0 с открытием интерфейса сам  не появляется если есть
0.0.0.0 через eth0. В /etc/ppp/options ЕСТЬ запись "defaultroute", но
эффекта не видно. Это можно исправить?   

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

В сетевых делах я еще чайник, а тут сведущие люди есть. 


Подробная информация о списке рассылки community