#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
#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
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
#10 18.09.08 21:48
Re: ip forward через псевдо-интерфейсы
otaku, ты прав
eth0.0 в твоей машине вообще как я понял ен суцествует, есть eth0 с кучей алиасов
нат нафиг не нужен, нужно просто включить ip_forward
а еще лучше у клиентов маску сделать пошире, один фиг они только син-пакеты будут через сервер слать, или надо на серваке send_redirects запрещать. то есть конфигурация сети изначально неверная ни для секурности, ни для производиетльности. так что лучше в какую-нибудь одну сторону сдвинуться
Offline
#11 19.09.08 14:25
Re: ip forward через псевдо-интерфейсы
Спасибо всем, разобрался. Собака была зарыта в том, что кое где не правильно был прописан роутинг. Сделал все перманентным, все заработало.
Offline

