Здравствуйте народ!
Поставил 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 в дистрибутиве
>Здравствуйте народ!
>Поставил 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 достаточно.
1) Советую поставить чё посвежее ;) будет легче.
когда-то давно когда я поставил первый Линукс 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 ты прописал :)
удачи
>а вот дальше уже можно браться за фаирвол, 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, которая смотрит в сеть провайдера пинг есть.
>Пинги идут с 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 умирает?
>>Пинги идут с 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
>и чтобы ее включить надо сделать это
>echo "1" > /proc/sys/net/ipv4/ip_forward
>чтобы не исполнять эту команду каждый раз после перезагрузки пропиши в
>/etc/sysctl.conf
># Controls IP packet forwarding
>net.ipv4.ip_forward = 1
у меня нет /etc/sysctl.conf :(
какой же всётаки фаервол стоит?
если iptables, покажи
/sbin/iptables -L FORWARD -v -n
/sbin/iptables -t nat -L -v -n
специально взял цитаты из предыдущих постов>Здравствуйте народ!
>Поставил 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
>какой же всётаки фаервол стоит?
>вобщем для большей ясности
>если iptables, покажи
>/sbin/iptables -L FORWARD -v -nChain 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 destinationChain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destinationChain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination>покажи вывод
>ifconfigeth0 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:0xe000eth1 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:0x6000lo 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 -nKernel 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
что выдает такая комманда:
cat /proc/sys/net/ipv4/ip_forward
>что выдает такая комманда:
>cat /proc/sys/net/ipv4/ip_forwardвыдает 0
>>что выдает такая комманда:
>>cat /proc/sys/net/ipv4/ip_forward
>
>выдает 0это означает что маршрутизация в ядре выключена
и как бы ты не настраивал файрвол ни чего не будетпровайдер твою сеть у себя что прописал в маршрутах и будет бороться с каждым твоим IP адресом :)
думаю что нет, тебе еще и NAT нужен наверно?выполни это
echo "1" > /proc/sys/net/ipv4/ip_forwardiptables -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
>>>что выдает такая комманда:
>>>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заработало :)
теперь чтобы это закрепить, куда надо записать?
чтобы после перезагрузки не слетело все...
>>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
>>>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есть!
туда все это прописать?
пишем в файл /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и всё будет ОК
>изучаем iptables tutorial
>http://gazette.linux.ru.net/rus/articles/iptables-tutorial.html
>и
>man iptables
>
>и всё будет ОК
Спасибо, настроил, работает! будем изучать...
про включение форвардинга после перезагрузки
как я уже тут писал, необходимо сделать это:
в /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1будь внимательней!
та айпитейблз, другого быть не может с дефолта, и роутинг там есть, скорее всего просто форвад закрыт, в 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.WAYcat ./ifcfg-eth1 #интерфейс внутренней сети, который будет выступать в роли шлюза
ONBOOT=yes
DEVICE=eth2
IPADDR=192.168.0.1
NETMASK=YOUR.LAN.MA.SK
BOOTPROTO=nonecd ..
cat ./network #дополнительные параметры сети
NETWORKING=yes
DNS1=YOUR.DNS.IP.#1
DNS2=YOUR.DNS.IP.#2iptables -I FORWARD -j ACCEPT #разрешит все форварды
а вообще непонятно какой интерфейс имеет какие настройки
>та айпитейблз, другого быть не может с дефолта, и роутинг там есть,
>скорее всего просто форвад закрыт, в 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