Официальный сайт студ.городка НГТУ
Software » ip forward через псевдо-интерфейсы 

#1  16.09.08 13:17

ip forward через псевдо-интерфейсы

Собственно решал на работе проблему небольшую... решение нашел, но не понимаю в упор почему это работает именно так, а ни как по другому.

ОС Debian Etch, 2.6.18

Есть сеть:

Роутер:
eth0:0 192.168.0.250/24
eth0:1 192.168.4.250/24
eth1:0 192.168.1.250/24
eth1:1 192.168.2.250/24
eth1:2 192.168.3.250/24

В любом сегменте прописан основным шлюзом соответствующий IP роутера. Например:

IP/маска/шлюз
192.168.1.1/255.255.255.0/192.168.1.250

Есть сервер: 192.168.0.4, рабочая станция 192.168.3.25. Пинг не проходит ни в одну сторону. Доступа никуда нет.

/proc/sys/net/ipv4/ip_forward = 1

IPTables:

INPUT -P ACCEPT
OUTPUT -P ACCEPT
FORWARD -P ACCEPT

Пробовал решение вида:

Код::

iptables -t nat -A POSTROUTING -o eth0.0 -j SNAT --to-source 192.168.0.250
iptables -t nat -A POSTROUTING -o eth0.1 -j SNAT --to-source 192.168.4.250
iptables -t nat -A POSTROUTING -o eth1.0 -j SNAT --to-source 192.168.1.250
iptables -t nat -A POSTROUTING -o eth1.1 -j SNAT --to-source 192.168.2.250
iptables -t nat -A POSTROUTING -o eth1.2 -j SNAT --to-source 192.168.3.250

Успеха не принесло, однако

Код::

iptables -t nat -A POSTROUTING -d 192.168.0.0/24 -j SNAT --to-source 192.168.0.250
iptables -t nat -A POSTROUTING -d 192.168.1.0/24 -j SNAT --to-source 192.168.1.250
iptables -t nat -A POSTROUTING -d 192.168.2.0/24 -j SNAT --to-source 192.168.2.250
iptables -t nat -A POSTROUTING -d 192.168.3.0/24 -j SNAT --to-source 192.168.3.250
iptables -t nat -A POSTROUTING -d 192.168.4.0/24 -j SNAT --to-source 192.168.4.250

работает прекрасно.

Вопрос: где зарыта собака? Почему когда-то работает вообще без каких-либо правил (достаточно просто открыть FORWARD и поставить ip_forward на 1), а иногда нужно думать над тем как бы извратиться.

Исправлено Com[N-Line] (16.09.08 13:19)

Offline

#2  16.09.08 13:53

Re: ip forward через псевдо-интерфейсы

Насколько понял из примеров и манов - да.

Offline

#3  16.09.08 15:25

Re: ip forward через псевдо-интерфейсы

Com[N-Line] написал(а):

Насколько понял из примеров и манов - да.

разделитель должен фигурировать один и там и там...

Com[N-Line] написал(а):

/proc/sys/net/ipv4/ip_forward = 1

лучше все таки проставлять в /etc/sysctl.conf, дабы при загрузке и поднятии интерфейсов умолчание действовало на каждый интерфейс... ради интереса покажи, что пишет
sysctl -a |grep forward

Offline

#4  16.09.08 16:24

Re: ip forward через псевдо-интерфейсы

Jaguar, eth0:1 и т.п. выдает варнинг:

Warning: weird character in interface `eth0:1' (No aliases, :, ! or *).

eth0.1 кушает без проблем

Код::

router:/home/commander# sysctl -a | grep forward
error: "Success" reading key "dev.parport.parport0.autoprobe3"
error: "Success" reading key "dev.parport.parport0.autoprobe2"
error: "Success" reading key "dev.parport.parport0.autoprobe1"
error: "Success" reading key "dev.parport.parport0.autoprobe0"
error: "Success" reading key "dev.parport.parport0.autoprobe"
error: "Operation not permitted" reading key "net.ipv6.route.flush"
error: "Operation not permitted" reading key "net.ipv4.route.flush"
net.ipv6.conf.eth1.forwarding = 0
net.ipv6.conf.default.forwarding = 0
net.ipv6.conf.all.forwarding = 0
net.ipv6.conf.eth0.forwarding = 0
net.ipv6.conf.lo.forwarding = 0
net.ipv4.conf.eth1.mc_forwarding = 0
net.ipv4.conf.eth1.forwarding = 1
net.ipv4.conf.eth0.mc_forwarding = 0
net.ipv4.conf.eth0.forwarding = 1
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.lo.forwarding = 1
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.all.forwarding = 1
net.ipv4.ip_forward = 1

Попробовал с ":" вместо ".", толку ноль.

Исправлено Com[N-Line] (16.09.08 16:26)

Offline

#5  16.09.08 18:05

Re: ip forward через псевдо-интерфейсы

Com[N-Line], попробуй убрать натирование и прописать аксепт на форвард из/в каждую сеть... и покажи таблицу маршрутов...

Offline

#6  16.09.08 18:18

Re: ip forward через псевдо-интерфейсы

Jaguar, политика на FORWARD стоит ACCEPT, так что форвард разрешен. Пробовал. Роуты верные.

Код::

router:/home/commander# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.4.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.3.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

Без NAT-а пробовал изначально, но безрезультатно.
Пробовал

Offline

#7  17.09.08 00:19

kai
Профиль

Re: ip forward через псевдо-интерфейсы

Com[N-Line], не понятно, зачем нужно было создавать ???
eth0:0 192.168.0.250/24
eth0:1 192.168.4.250/24
eth1:0 192.168.1.250/24
eth1:1 192.168.2.250/24
eth1:2 192.168.3.250/24
что бы разные подсети в одну объяденить что ли?

Исправлено kai (17.09.08 00:20)

Offline

#8  17.09.08 07:28

Re: ip forward через псевдо-интерфейсы

kai, они все находятся в разных местах одного здания, 0 и 4 в одном, 1 2 3 в другом.

В любом случае мне нужно знать как именно с такой схемой сделать рабочий IP Forward.

Offline

#9  18.09.08 12:51

Re: ip forward через псевдо-интерфейсы

вообще то натация eth0.1 есть не что иное как влан по мойму, а нотация eth0:1 есть второй айпишник на сетевке.
думаю тут собака и зарыта
указывать eth0:1 нет смысла, во вторых прин астроенно маршрутизации все будет работать и без натов.

Offline

#10  18.09.08 21:48

Max
Профиль

Re: ip forward через псевдо-интерфейсы

otaku, ты прав
eth0.0 в твоей машине вообще как я понял ен суцествует, есть eth0 с кучей алиасов
нат нафиг не нужен, нужно просто включить ip_forward
а еще лучше у клиентов маску сделать пошире, один фиг они только син-пакеты будут через сервер слать, или надо на серваке send_redirects запрещать. то есть конфигурация сети изначально неверная ни для секурности, ни для производиетльности. так что лучше в какую-нибудь одну сторону сдвинуться

Offline

#11  19.09.08 14:25

Re: ip forward через псевдо-интерфейсы

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

Offline

Software » ip forward через псевдо-интерфейсы 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.503 сек.
Выполнено 14 запросов.