LinuxForum.Fans
Тема

Помощь в настройке маршрутов

Автор: unlimited 101 сообщений 19453 просмотров
#224090

Добрый день. не могу настроить маршрутизацию. помогите разобраться...

есть несколько компьютеров с адресами 192.168.0....(нулевая подсеть)
есть также компьютеры с адресами 192.168.4...(четвертая подсеть)
собран шлюз на opensuse с двумя сетевыми платами в нем (IP 192.168.0.7 и 192.168.4.7)

надо обеспечить доступ компьютерам с 4-ой подсетью в компьютеры нулевой подсети через шлюз.

как и где правильно прописать маршрут?

перепробовал массу вариантов..толку нет.
маршрутизация между собственными обоими интерфейсами шлюза включена, т.к. с любой машины 4-ой посети я пингую 192.168.0.7

спасибо

#224104
unlimited написал:
Добрый день. не могу настроить маршрутизацию. помогите разобраться...

есть несколько компьютеров с адресами 192.168.0....(нулевая подсеть)
есть также компьютеры с адресами 192.168.4...(четвертая подсеть)
собран шлюз на opensuse с двумя сетевыми платами в нем (IP 192.168.0.7 и 192.168.4.7)

надо обеспечить доступ компьютерам с 4-ой подсетью в компьютеры нулевой подсети через шлюз.

как и где правильно прописать маршрут?

перепробовал массу вариантов..толку нет.
маршрутизация между собственными обоими интерфейсами шлюза включена, т.к. с любой машины 4-ой посети я пингую 192.168.0.7

спасибо

Никак. Включите ipv4 форвардинг, разрешите FORWARD в iptables(вернее в SuseFirewall) и пропишите на всех компах defult gateway рутер.

#224109

не вижу в yast ничего похожего.
можете указать пошагово?)

спасибо

#224113

unlimited, вообще-то и так должно работать. у меня во всяком случае работает (у меня естественно нет SUSE Firewall'а).

CyberDaemon написал:
пропишите на всех компах defult gateway рутер.

ну, если задействовать скил телепатии, то у ТС и так оно прописано...

#224115


разрешите FORWARD в iptables(вернее в SuseFirewall)

поподробнее пожалуйста

#224116
drBatty написал:
unlimited, вообще-то и так должно работать. у меня во всяком случае работает (у меня естественно нет SUSE Firewall'а).

а уменя -нет. не пингуется ничего из нулевой подсети с четвертой подсети. никак. и не пойму- в чем дело.

#224118

unlimited, форвардинг включён? что у вас в iptables?

#224121

drBatty как это увидеть? сорри)) не знаю этих моментов

#224122
unlimited написал:
как это увидеть?
text

[ `cat /proc/sys/net/ipv4/ip_forward` == 1 ] && echo "Включен" || echo "Не включен"
text

iptables-save
#224124

Форвардинг включен.

iptables содержит следующее:

# Generated by iptables-save v1.4.8 on Tue Jan 24 13:59:45 2012
*raw
:PREROUTING ACCEPT [129046:11426076]
:OUTPUT ACCEPT [1462:216360]
-A PREROUTING -i lo -j NOTRACK
-A OUTPUT -o lo -j NOTRACK
COMMIT
# Completed on Tue Jan 24 13:59:45 2012
# Generated by iptables-save v1.4.8 on Tue Jan 24 13:59:45 2012
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:forward_ext - [0:0]
:input_ext - [0:0]
:reject_func - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m state --state RELATED -j ACCEPT
-A INPUT -i eth0 -j input_ext
-A INPUT -i eth1 -j input_ext
-A INPUT -j input_ext
-A INPUT -m limit --limit 3/min -j LOG --log-prefix "SFW2-IN-ILL-TARGET " --log-tcp-options --log-ip-options
-A INPUT -j DROP
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -i eth0 -j forward_ext
-A FORWARD -i eth1 -j forward_ext
-A FORWARD -m limit --limit 3/min -j LOG --log-prefix "SFW2-FWD-ILL-ROUTING " --log-tcp-options --log-ip-options
-A FORWARD -j DROP
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -m limit --limit 3/min -j LOG --log-prefix "SFW2-OUT-ERROR " --log-tcp-options --log-ip-options
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 0 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 3 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 11 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 12 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 14 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 18 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 3/2 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 5 -j ACCEPT
-A forward_ext -m pkttype --pkt-type multicast -j DROP
-A forward_ext -m pkttype --pkt-type broadcast -j DROP
-A forward_ext -p tcp -m limit --limit 3/min -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-FWDext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A forward_ext -p icmp -m limit --limit 3/min -j LOG --log-prefix "SFW2-FWDext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A forward_ext -p udp -m limit --limit 3/min -m state --state NEW -j LOG --log-prefix "SFW2-FWDext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A forward_ext -j DROP
-A input_ext -m pkttype --pkt-type broadcast -j DROP
-A input_ext -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A input_ext -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A input_ext -m pkttype --pkt-type multicast -j DROP
-A input_ext -m pkttype --pkt-type broadcast -j DROP
-A input_ext -p tcp -m limit --limit 3/min -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A input_ext -p icmp -m limit --limit 3/min -j LOG --log-prefix "SFW2-INext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A input_ext -p udp -m limit --limit 3/min -m state --state NEW -j LOG --log-prefix "SFW2-INext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A input_ext -j DROP
-A reject_func -p tcp -j REJECT --reject-with tcp-reset
-A reject_func -p udp -j REJECT --reject-with icmp-port-unreachable
-A reject_func -j REJECT --reject-with icmp-proto-unreachable
COMMIT
# Completed on Tue Jan 24 13:59:45 2012
#224125

Не знаю как там в Suse Firewall, но делается это так:
Разрешили форвард:

text
echo "1" > /proc/sys/net/ipv4/ip_forward

Форвард между интерфейсами eth0 и eth1:

text
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Между подсетями:

text
iptables -A FORWARD -s 192.168.0.0/24 -d 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -d 192.168.0.0/24 -j ACCEPT
#224144

прописал всё .
результат тот же. (((

#224145

unlimited,
с учётом того, что практически сразу у вас

text
-A FORWARD -i eth0 -j forward_ext 
-A FORWARD -i eth1 -j forward_ext 

сильно зависит от того, куда именно прописали. Что теперь выдаёт iptables-save?
Предположу, что команды были введены буквально, то есть с -A -- добавить в конец очереди. получилось что-то вроде
text

-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 
-A FORWARD -i eth0 -j forward_ext 
-A FORWARD -i eth1 -j forward_ext 
-A FORWARD -m limit --limit 3/min -j LOG --log-prefix "SFW2-FWD-ILL-ROUTING " --log-tcp-options --log-ip-options 
-A FORWARD -j DROP 
-A FORWARD -s 192.168.0.0/24 -d 192.168.1.0/24 -j ACCEPT
-A FORWARD -s 192.168.1.0/24 -d 192.168.0.0/24 -j ACCEPT

С учётом того, что в forward_ext не видно ни одного -j RETURN, дело даже до 4 правила в цепочке FORWARD не доходит.

#224160
newzenon написал:
Не знаю как там в Suse Firewall, но делается это так..

во-во, я как раз об этом: написала куча людей, которые не знают, как все это делается в SUSE :D

ТС, основы: http://en.opensuse.org/SuSEfirewall2 + мануальчег. И в Гугле инфы более чем.. на домашней машине естественно я не извращаюсь с 2мя подсетями..

#224224
inTime написал:
И в Гугле инфы более чем.. на домашней машине естественно я не извращаюсь с 2мя подсетями..

ИМХО если задача довольно сложная, то SUSE Firewall есть смысл отключить, и делать именно так, как в любом Linux - т.е. ручками прописывать правила iptables.

В итоге имеем
1 вариант - отключить firewall и прописывать правила в ручную (см. выше).
2 вариант - настроить firewall. inTime, как?

#224226

bormant, ну я надеялся что ТС хоть чуть чуть мозг включит.
Кто мешает кинуть правила в начало?

text
iptables -I FORWARD 1 -s 192.168.0.0/24 -d 192.168.1.0/24 -j ACCEPT
iptables -I FORWARD 1 -s 192.168.1.0/24 -d 192.168.0.0/24 -j ACCEPT
#224242
drBatty написал:
2 вариант - настроить firewall. inTime, как?

ну а как я-то проверю, с одной сетевухой по DHCP? а на работе одмины поиграть не дают smile
P. S. просто я уверен, что вдумчивого прочтения информации и пары экспериментов хватит. могу ошибаться, давно уже ничего такого не делал. ИМХО задача для одмина, хотя бы начинающего. я нет, просто юзер.

#224248
inTime написал:
ну а как я-то проверю, с одной сетевухой по DHCP?

вот именно. а я вот вполне себе проверял вышеприведённые правила. хотя сейчас у меня eth2 и eth3 bridge'ем включены, и к ним соответственно заведены две подсети. Потому FORWARD мне нужна лишь для проброски пакетов в/из глобальной Сети на локальные подсети.
Умеет-ли ваш firewall bridge - я не знаю.

#224250

Кто мешает поставить vde2 и поднять пару виртуальных свитчей - вообще сетевые не нужны. Или vlan'ы.

#224257
newzenon написал:
Кто мешает поставить vde2 и поднять пару виртуальных свитчей - вообще сетевые не нужны. Или vlan'ы.

никто не мешает. Просто физически у меня именно такая сеть - три сетевых на шлюзе. Прямо как у ТСа. (у него правда 2, т.к. нет глобальной Сети)

Войдите или зарегистрируйтесь, чтобы ответить.