URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 71901
[ Назад ]

Исходное сообщение
"Маршрутизация..."

Отправлено Hall9000 , 03-Фев-07 07:23 
Здравствуйте народ!
Поставил Linux RedHat 9.0
Есть две сетевые карты, одна eth0 смотрит на провайдера и интернет работает, другая eth1 смотрит в сеть 192.168.0.0 (eth1=192.168.0.1)
Допустим в сети есть компьютер 192.168.0.2

С чего начать? Что должно быть установлено в Linux для маршрутизации?

Просто надо перенаправить с eth1 на eth0 пакеты, но как?

P.S.
Пингую с 192.168.0.2 сетевую eth1 192.168.0.1 - ответ есть
Пингую с 192.168.0.2 сетевую eth0 x.x.x.x - ответ есть
Еще слышал про iptables, его обязательно ставить или нет, но у меня ipchains в дистрибутиве


Содержание

Сообщения в этом обсуждении
"Маршрутизация..."
Отправлено Oyyo , 03-Фев-07 10:52 
>Здравствуйте народ!
>Поставил Linux RedHat 9.0
>Есть две сетевые карты, одна eth0 смотрит на провайдера и интернет работает,
>другая eth1 смотрит в сеть 192.168.0.0 (eth1=192.168.0.1)
>Допустим в сети есть компьютер 192.168.0.2
>
>С чего начать? Что должно быть установлено в Linux для маршрутизации?
>
>Просто надо перенаправить с eth1 на eth0 пакеты, но как?
>
>P.S.
>Пингую с 192.168.0.2 сетевую eth1 192.168.0.1 - ответ есть
>Пингую с 192.168.0.2 сетевую eth0 x.x.x.x - ответ есть
>Еще слышал про iptables, его обязательно ставить или нет, но у меня
>ipchains в дистрибутиве

внимательней смотри дистр, есть там iptables, а вообще он учтанавливается
по умолчанию.
если просто надо перенаправить с eth1 на eth0, то iptables достаточно.


"Маршрутизация..."
Отправлено s_dog , 03-Фев-07 13:44 
1) Советую поставить чё посвежее ;) будет легче.

"Маршрутизация..."
Отправлено Slimm , 03-Фев-07 20:19 
когда-то давно когда я поставил первый Линукс RedHat 5.0 (помоему)
очень долго бился с проблемой маршрутизации, тоже все пинговалось, а пакеты не маршрутились из сети в сеть, оказалось что по умолчанию маршрутизация в ядре выключена
и чтобы ее включить надо сделать это
echo "1" > /proc/sys/net/ipv4/ip_forward
чтобы не исполнять эту команду каждый раз после перезагрузки пропиши в
/etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1

а вот дальше уже можно браться за фаирвол, iptables это утилита управления фаирволом

ipchainse это старая утилита управления, актуальная для возможностей старых ядер
поэтому вникать в нее не советую

поумолчанию в фаирволе правил нет, поэтому ping на адрес провайдера должен идти с 192.168.0.2 (надеюсь маршрутизатор поумолчанию 192.168.0.1 ты прописал :)

удачи


"Маршрутизация..."
Отправлено Hall9000 , 04-Фев-07 12:43 

>а вот дальше уже можно браться за фаирвол, iptables это утилита управления
>фаирволом

А подробнее, что нужно написать для перенаправления пакетов с eth1 на eth0 ?

>поумолчанию в фаирволе правил нет, поэтому ping на адрес провайдера должен идти
>с 192.168.0.2 (надеюсь маршрутизатор поумолчанию 192.168.0.1 ты прописал :)
>
>удачи

Пинги идут с 192.168.0.1 на все сетевые моего маршрутизатора eth1 = 192.168.0.1 и eth0 = 192.168.0.1, а вот дальше по идее пинг должен идти на маршрутизатор провайдера, а его нету. С моего маршрутизатора eth0, которая смотрит в сеть провайдера пинг есть.


"Маршрутизация..."
Отправлено Slimm , 05-Фев-07 12:32 
>Пинги идут с 192.168.0.1 на все сетевые моего маршрутизатора eth1 = 192.168.0.1
>и eth0 = 192.168.0.1, а вот дальше по идее пинг должен
>идти на маршрутизатор провайдера, а его нету. С моего маршрутизатора eth0,
>которая смотрит в сеть провайдера пинг есть.

что-то тут ни чего не ясно
как это: eth1 = 192.168.0.1 и eth0 = 192.168.0.1 ???!!!
это не мыслимо!

сети должны быть разные!
напиши свои настройки интерфейсов подробней
и где tracert умирает?


"Маршрутизация..."
Отправлено Hall9000 , 05-Фев-07 18:21 
>>Пинги идут с 192.168.0.1 на все сетевые моего маршрутизатора eth1 = 192.168.0.1
>>и eth0 = 192.168.0.1, а вот дальше по идее пинг должен
>>идти на маршрутизатор провайдера, а его нету. С моего маршрутизатора eth0,
>>которая смотрит в сеть провайдера пинг есть.
>
>что-то тут ни чего не ясно
>как это: eth1 = 192.168.0.1 и eth0 = 192.168.0.1 ???!!!
>это не мыслимо!
>
>сети должны быть разные!
>напиши свои настройки интерфейсов подробней
>и где tracert умирает?


поправлю
eth1 = 192.168.0.2 и eth0 = 217.19.113.154


"Маршрутизация..."
Отправлено Hall9000 , 04-Фев-07 13:02 

>и чтобы ее включить надо сделать это
>echo "1" > /proc/sys/net/ipv4/ip_forward
>чтобы не исполнять эту команду каждый раз после перезагрузки пропиши в
>/etc/sysctl.conf
># Controls IP packet forwarding
>net.ipv4.ip_forward = 1


у меня нет /etc/sysctl.conf  :(


"Маршрутизация..."
Отправлено Oyyo , 04-Фев-07 19:23 
какой же всётаки фаервол стоит?
если iptables, покажи
/sbin/iptables -L FORWARD -v -n
/sbin/iptables -t nat -L -v -n

"Маршрутизация..."
Отправлено Oyyo , 04-Фев-07 20:10 
специально взял цитаты из предыдущих постов

>Здравствуйте народ!
>Поставил Linux RedHat 9.0
>Есть две сетевые карты, одна eth0 смотрит на провайдера и интернет работает,
>другая eth1 смотрит в сеть 192.168.0.0 (eth1=192.168.0.1)
>Допустим в сети есть компьютер 192.168.0.2

>Пинги идут с 192.168.0.1 на все сетевые моего маршрутизатора eth1 = 192.168.0.1
>и eth0 = 192.168.0.1, а вот дальше по идее пинг должен
получается и eth0 и eth1 присвоен один и тот же ИП 192.168.0.1
как я понимаю у провайдера подсеть 192.168.0.0/24
а те компьютеры что за тобой (у тебя в сети) откуда получают ИП,
тоже от провайдера? или это независимая от прова сеть?

>идти на маршрутизатор провайдера, а его нету. С моего маршрутизатора eth0,
>которая смотрит в сеть провайдера пинг есть.

какой же всётаки фаервол стоит?
вобщем для большей ясности
если iptables, покажи
/sbin/iptables -L FORWARD -v -n
/sbin/iptables -t nat -L -v -n

покажи вывод
ifconfig
и
route -n


"Маршрутизация..."
Отправлено Hall9000 , 05-Фев-07 16:59 

>какой же всётаки фаервол стоит?
>вобщем для большей ясности
>если iptables, покажи
>/sbin/iptables -L FORWARD -v -n

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination

>/sbin/iptables -t nat -L -v -n

Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination        

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination        

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination

>покажи вывод
>ifconfig

eth0      Link encap:Ethernet  HWaddr 00:80:48:B5:79:92  
          inet addr:217.19.113.154  Bcast:217.19.113.159  Mask:255.255.255.224
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:4 dropped:0 overruns:0 carrier:8
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:10 Base address:0xe000

eth1      Link encap:Ethernet  HWaddr 00:50:22:A4:28:6E  
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 b)  TX bytes:240 (240.0 b)
          Interrupt:12 Base address:0x6000

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:140 (140.0 b)  TX bytes:140 (140.0 b)


>route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
217.19.113.128  0.0.0.0         255.255.255.224 U     0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth1
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         217.19.113.129  0.0.0.0         UG    0      0        0 eth0


"Маршрутизация..."
Отправлено Slimm , 05-Фев-07 17:22 
что выдает такая комманда:
cat /proc/sys/net/ipv4/ip_forward

"Маршрутизация..."
Отправлено Hall9000 , 05-Фев-07 18:16 
>что выдает такая комманда:
>cat /proc/sys/net/ipv4/ip_forward

выдает 0


"Маршрутизация..."
Отправлено Slimm , 05-Фев-07 18:39 
>>что выдает такая комманда:
>>cat /proc/sys/net/ipv4/ip_forward
>
>выдает 0

это означает что маршрутизация в ядре выключена
и как бы ты не настраивал файрвол ни чего не будет

провайдер твою сеть у себя что прописал в маршрутах и будет бороться с каждым твоим IP адресом :)
думаю что нет, тебе еще и NAT нужен наверно?

выполни это
echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -F
iptables -t nat -F
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 217.19.113.154

и с IP 192.168.0.2 можно набрать ping www.ru


"Маршрутизация..."
Отправлено Hall9000 , 05-Фев-07 18:47 
>>>что выдает такая комманда:
>>>cat /proc/sys/net/ipv4/ip_forward
>>
>>выдает 0
>
>это означает что маршрутизация в ядре выключена
>и как бы ты не настраивал файрвол ни чего не будет
>
>провайдер твою сеть у себя что прописал в маршрутах и будет бороться
>с каждым твоим IP адресом :)
>думаю что нет, тебе еще и NAT нужен наверно?
>
>выполни это
>echo "1" > /proc/sys/net/ipv4/ip_forward
>
>iptables -F
>iptables -t nat -F
>iptables -P FORWARD ACCEPT
>iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 217.19.113.154
>
>и с IP 192.168.0.2 можно набрать ping www.ru

заработало :)
теперь чтобы это закрепить, куда надо записать?
чтобы после перезагрузки не слетело все...


"Маршрутизация..."
Отправлено Slimm , 05-Фев-07 18:56 
>>echo "1" > /proc/sys/net/ipv4/ip_forward
>>
>>iptables -F
>>iptables -t nat -F
>>iptables -P FORWARD ACCEPT
>>iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 217.19.113.154

странно что у тебя нету /etc/sysctl.conf
доустанови initscripts-7.14-1

либо
все эти команды пропиши в /etc/rc.d/rc.local


"Маршрутизация..."
Отправлено Hall9000 , 05-Фев-07 19:01 
>>>echo "1" > /proc/sys/net/ipv4/ip_forward
>>>
>>>iptables -F
>>>iptables -t nat -F
>>>iptables -P FORWARD ACCEPT
>>>iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 217.19.113.154
>
>странно что у тебя нету /etc/sysctl.conf

есть!

туда все это прописать?


"Маршрутизация..."
Отправлено Oyyo , 05-Фев-07 20:15 
пишем в файл /etc/sysconfig/iptables
если такого нет, создаём
=================================
*nat
:PREROUTING ACCEPT [164:10466]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
# следующая строка натит весь исходяший трафик
-A POSTROUTING -o eth0 -j SNAT --to-source 217.19.113.154
COMMIT
*filter
:INPUT ACCEPT [19:10000]
:FORWARD ACCEPT [9:10000]
:OUTPUT ACCEPT [1:10000]
COMMIT
==================================
выполняем команду
chkconfig --add iptables

теперь iptables будет стартовать при старте машины,
кстати проверь в этом случае форвардинг должен включатся

сат /proc/sys/net/ipv4/ip_forward
если полученое значение "0"
добавляем строку
echo 1 > /proc/sys/net/ipv4/ip_forward
в самый конец файла /etc/rc.d/rc.local
при старте включит форвард

изучаем iptables tutorial
http://gazette.linux.ru.net/rus/articles/iptables-tutorial.html
и
man iptables

и всё будет ОК


"Маршрутизация..."
Отправлено Hall9000 , 05-Фев-07 21:05 
>изучаем iptables tutorial
>http://gazette.linux.ru.net/rus/articles/iptables-tutorial.html

>man iptables
>
>и всё будет ОК


Спасибо, настроил, работает! будем изучать...


"Маршрутизация..."
Отправлено Slimm , 05-Фев-07 22:49 
про включение форвардинга после перезагрузки
как я уже тут писал, необходимо сделать это:
в /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1

будь внимательней!


"Маршрутизация..."
Отправлено Sergey , 04-Фев-07 20:11 
та айпитейблз, другого быть не может с дефолта, и роутинг там есть, скорее всего просто форвад закрыт, в 7.0 и 7.3 версиях и выше так стали в дефолт ставить, а может быть и раньше
выглядеть должно всё, типа, так:

cd /etc/sysconfig/network-scripts/
cat ./ifcfg-eth0      #интерфейс смотрящий на прова
DEVICE=eth0
ONBOOT=yes
IPADDR=YOUR.IP.ADDR.ESS
NETMASK=YOUR.NET.MA.SK
BOOTPROTO=none
GATEWAY=YOUR.GA.TE.WAY

cat ./ifcfg-eth1      #интерфейс внутренней сети, который будет выступать в роли шлюза
ONBOOT=yes
DEVICE=eth2
IPADDR=192.168.0.1
NETMASK=YOUR.LAN.MA.SK
BOOTPROTO=none

cd ..
cat ./network      #дополнительные параметры сети
NETWORKING=yes
DNS1=YOUR.DNS.IP.#1
DNS2=YOUR.DNS.IP.#2

iptables -I FORWARD -j ACCEPT      #разрешит все форварды
а вообще непонятно какой интерфейс имеет какие настройки


"Маршрутизация..."
Отправлено Hall9000 , 05-Фев-07 17:27 
>та айпитейблз, другого быть не может с дефолта, и роутинг там есть,
>скорее всего просто форвад закрыт, в 7.0 и 7.3 версиях и
>выше так стали в дефолт ставить, а может быть и раньше
>
>выглядеть должно всё, типа, так:
>
>cd /etc/sysconfig/network-scripts/
>cat ./ifcfg-eth0      #интерфейс смотрящий на прова
>DEVICE=eth0
>ONBOOT=yes
>IPADDR=YOUR.IP.ADDR.ESS
>NETMASK=YOUR.NET.MA.SK
>BOOTPROTO=none
>GATEWAY=YOUR.GA.TE.WAY
>
>cat ./ifcfg-eth1      #интерфейс внутренней сети, который будет
>выступать в роли шлюза
>ONBOOT=yes
>DEVICE=eth2
>IPADDR=192.168.0.1
>NETMASK=YOUR.LAN.MA.SK
>BOOTPROTO=none
>
>cd ..
>cat ./network      #дополнительные параметры сети
>NETWORKING=yes
>DNS1=YOUR.DNS.IP.#1
>DNS2=YOUR.DNS.IP.#2
>

у меня все так и есть.

>iptables -I FORWARD -j ACCEPT      #разрешит все
>форварды
>а вообще непонятно какой интерфейс имеет какие настройки

после появилось
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0