LINUX.ORG.RU
решено ФорумAdmin

шлюз из одного ПК


0

0

Есть один комп в домашней сети котоый выполняет роль шлюза/маршрутизатора. Как было: eth1 -> internet , eth2 -> pc . Все работает. Появился ноутбук, добавил еще одну сетевуху eth3 -> notebook. Ноут получает ip по dhcp так же как и комп, но сеть не работает, пинги не идут. Кабель проверял, ставил другой, наверно проблема в iptables. Маршрутизацию настраивал давно, может просто что-то упускаю.

Iptables:

*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth1 -j MASQUERADE
-A POSTROUTING -o ppp0 -j MASQUERADE
-A PREROUTING -p tcp --dport 2222 -j DNAT --to-destination 192.168.155.6:22
-A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.155.6:80
-A PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 192.168.155.6:3389
-A PREROUTING -p tcp --dport 6881 -j DNAT --to-destination 192.168.155.6:6881
-A PREROUTING -p udp --dport 4444 -j DNAT --to-destination 192.168.155.6:4444

COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth2 -j ACCEPT
-A INPUT -i eth3 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1723 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3389 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -i eth2 -j ACCEPT
-A FORWARD -i eth3 -j ACCEPT
-A FORWARD -o eth1 -j ACCEPT
-A FORWARD -o ppp0 -j ACCEPT
-A FORWARD -i eth+ -m state --state NEW -m tcp -p tcp -d 192.168.155.6 --dport 22 -j ACCEPT
-A FORWARD -i ppp+ -m state --state NEW -m tcp -p tcp -d 192.168.155.6 --dport 22 -j ACCEPT
COMMIT
Я сильно подозреваю что сконфигуритовано все не очень правильно, но пока работает не трогаю.


>пинги не идут

Куда пинги не идут? На роутер или во внешку?

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

Любая машина подключеная любым кабелем к сетевухе eth3 получает ip по dhcp. Но связи нет. Если подключиться к eth2 то все нормально. Еще arp: [code]192.168.155.3 ether ... eth0 192.168.155.1 ether ... eth0[/code]

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

iptables тут не причем.

Либо задавай отдельную подсеть для eth3 и ноута, либо (что более правильно) объединяй eth2 и eth3 в мост.

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

Не спец в построении сетей. Но например интерфейсы eth1, eth2 и pppX нормально существовали в одной сети, не вижу проблемы. Про мост ничего не знаю, сейчас загуглю.

ALeo ()

#!/bin/sh
INET=«eth0»
INETIP=«твой внешний ип»
iptables -F
iptables -X
iptables -F -t nat
iptables -X -t nat
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o $INET -j SNAT --to-source $INETIP
iptables -t mangle -A PREROUTING -i $INET -j TTL --ttl-set 64
echo «1» > /proc/sys/net/ipv4/ip_forward

ifconfig eth2 192.168.0.1/24
ifconfig eth3 192.168.1.1/24

Дхцп на одном i-face с пулом 192.168.0.1/24
на втором 192.168.1.1/24


а вообще как помне сетевая карта стоит не намного меньше тупого свича.



offtop ()
Ответ на: комментарий от ALeo

>Но например интерфейсы eth1, eth2 и pppX нормально существовали в одной сети, не вижу проблемы.

А она есть.

Сомневаюсь, что при работе нескольких интерфейсов в одной подсети без объединения в мост все нормально работало. Посмотри внимательно.

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

В логах видел что-то типа Feb 21 08:23:12 aleo pptp[1206]: anon log[decaps_gre:pptp_gre.c:414]: buffering packet 11131393 (expecting 11131386, lost or reordered) Не знаю как это относится к проблеме.

ALeo ()
Ответ на: комментарий от nnz

Спасибо конечно, только там не eth0 а eth1. В не очень ближайшей перспективе предвидется переделка всего, тогда куплю свич, сейчас пока так. Может объясните почему они не могут находится в одной потсети, ну или кинете ссылку почитать. Кстати, вот конфиг dhcp

subnet 192.168.155.0 netmask 255.255.255.0
{
    option routers 192.168.155.1,192.168.155.3; # основной шлюз
    option subnet-mask 255.255.255.0; # маска подсети
    option nis-domain "home_server"; #
    option domain-name "server"; # доменное имя
    option domain-name-servers 78.140.0.254,91.211.184.1; # днс сервера
    pool
    {
        #failover peer "dhcp-failover";
        range 192.168.155.5 192.168.155.99; # диапазон выдаваемых адресов
        default-lease-time 21600; # время аренды
        max-lease-time 43200; # максимальное время аренды
        deny dynamic bootp clients; # запретить bootp клиентов 
        host if1
        {
                hardware ethernet 00:02:44:4C:93:74;
                fixed-address 192.168.155.1;
        }
        host if2
        {
                hardware ethernet 00:E0:52:17:01:FB;
                fixed-address 192.168.155.3;
        }
        host home
        {
                hardware ethernet 00:19:66:AA:39:7B;
                fixed-address 192.168.155.6;
        }
    }
}

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

можешь помедитировать на вывод
route -n
или
ip route show

и подумай на какой из интерфейсов должен будет отправиться пакет с адресом получателя 192.168.155.0

dimon555 ★★★★★ ()
Ответ на: комментарий от dimon555
...
192.168.155.0   0.0.0.0         255.255.255.0   U     0      0        0 eth2
192.168.155.0   0.0.0.0         255.255.255.0   U     0      0        0 eth3
...
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth2
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth3
...

Начинает доходить что косячу, сейчас пытаюсь понять как исправить. Интересно откуда подсеть 169.254.0.0 взялась.

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

А с pppX проблем не было наверно потому что хост, 192.168.155.102 0.0.0.0 255.255.255.255 UH 0 0 0 ppp3

ALeo ()
Ответ на: комментарий от dimon555

Всем спасибо. Почитал про сети и понял зачем надо развести по разным подсетям, заработало.

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