роутинг между сетевыми картами (не проходит пинг)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

VelloRibbo
Сообщения: 220
ОС: Фетровая

роутинг между сетевыми картами

Сообщение VelloRibbo »

есть сервер который надо сделать маршрутизатором. В него воткнуты три сетевые карты.

которая смотрит в локалку eth0 10.12.0.12/255.255.255.0
которая смотрит в инет eth3 10.12.2.25/255.255.255.0 gw 10.12.2.1
которая смотрит во интранет eth1 10.12.1.31/255.255.254.0

нужно что бы с интранета пакета шли в локалку с IP 10.99.0.0/255.255.255.0, и с инета шли в локалку.
в принципе можно только настроить маршрутизацию с интранета в локалку...инет пустил через squid

команды выполненые на маршрутизаторе:

#route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.12.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3
10.12.1.0 10.12.1.1 255.255.255.0 UG 0 0 0 eth1
10.12.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.12.0.0 0.0.0.0 255.255.254.0 U 0 0 0 eth1
10.99.0.0 10.12.1.1 255.255.0.0 UG 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth3
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 10.12.2.1 0.0.0.0 UG 0 0 0 eth3

#traceroute www.ya.ru
traceroute to www.ya.ru (213.180.204.8), 30 hops max, 40 byte packets
1 10.12.2.1 (10.12.2.1) 0.563 ms 0.543 ms 1.253 ms
2 192.168.65.2 (192.168.65.2) 24.893 ms 25.633 ms 25.727 ms
3 195.161.208.168 (195.161.208.168) 26.533 ms 26.662 ms 25.281 ms
4 iosh-car0-fa0-0-3.rt-comm.ru (217.106.18.21) 26.159 ms 26.261 ms 25.747 ms
5 msk-dsr5-ge1-48.rt-comm.ru (217.106.0.2) 58.585 ms 59.159 ms 57.530 ms
6 msk-dsr5-ge1-48.rt-comm.ru (217.106.0.2) 54.877 ms 54.467 ms 54.458 ms
7 195.161.158.186 (195.161.158.186) 54.870 ms 54.299 ms 58.320 ms
8 ya.ru (213.180.204.8) 62.408 ms 60.110 ms 61.804 ms

#traceroute 10.99.16.232
traceroute to 10.99.16.232 (10.99.16.232), 30 hops max, 40 byte packets
1 10.12.1.1 2.876 ms 0.701 ms 0.217 ms
2 172.16.52.74 (172.16.52.74) 22.709 ms 24.479 ms 25.414 ms
3 172.16.199.13 (172.16.199.13) 44.424 ms 42.364 ms 39.367 ms
4 10.99.16.232 39.411 ms 55.752 ms 59.987 ms

На машине с IP 10.12.0.11

#traceroute 10.99.16.232
traceroute to 10.99.16.232 (10.99.16.232), 30 hops max, 40 byte packets
1 10.12.0.12 (10.12.0.12) 0.15 ms 0.90 ms 134 ms
2 * * *
3 * * *
4 * * *

30 * * *

Я так понял что сетевой интерфей с IP 10.12.0.12 не знает что делать с пакето пршедшим с IP 10.12.0.11?

в /etc/sysctl.conf параметр

net.ipv4.ip_forward = 1

ping с 10.12.0.11 до 10.99.16.232 не проходит
Спасибо сказали:
Аватара пользователя
Unicorn
Сообщения: 689
Статус: Бригадир мучеников Аль-Аксы
ОС: Gentoo 100% fresh, Archlinux

Re: роутинг между сетевыми картами

Сообщение Unicorn »

Здесь похожий случай, все заработало. Посмотри, сделай по аналогии.

http://linuxforum.ru/index.php?showtopic=2...mp;#entry286729
Gentoo, Archlinux / Athlon2600+ / SATA RAID 0 LVM / GNOME
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: роутинг между сетевыми картами

Сообщение sash-kan »

сеть
(VelloRibbo @ Dec 19 2006, в 16:20) писал(а):которая смотрит во интранет eth1 10.12.1.31/255.255.254.0
пересекается с сетью
(VelloRibbo @ Dec 19 2006, в 16:20) писал(а):которая смотрит в локалку eth0 10.12.0.12/255.255.255.0

выделено:
$ ipcalc 10.12.1.31/255.255.254.0
Address: 10.12.1.31 00001010.00001100.0000000 1.00011111
Netmask: 255.255.254.0 = 23 11111111.11111111.1111111 0.00000000
Wildcard: 0.0.1.255 00000000.00000000.0000000 1.11111111
=>
Network: 10.12.0.0/23 00001010.00001100.0000000 0.00000000
HostMin: 10.12.0.1 00001010.00001100.0000000 0.00000001
HostMax: 10.12.1.254 00001010.00001100.0000000 1.11111110
Broadcast: 10.12.1.255 00001010.00001100.0000000 1.11111111
Hosts/Net: 510 Class A, Private Internet
как решение можно увеличить маску до 24 бит.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
VelloRibbo
Сообщения: 220
ОС: Фетровая

Re: роутинг между сетевыми картами

Сообщение VelloRibbo »

Вообщето я не могу изменять параматры интранета. мне их выдает админ интранета. Могу только изменить параметры локалки...Может есть еще какойто выход.. В винде с этими параметрами и маршрутизацией все работало :(
Спасибо сказали:
Аватара пользователя
Olden Gremlin
Сообщения: 365
Статус: RAP22-RIPE
ОС: Debian GNU/Linux Wheezy

Re: роутинг между сетевыми картами

Сообщение Olden Gremlin »

VelloRibbo писал(а):
19.12.2006 17:22
которая смотрит в локалку eth0 10.12.0.12/255.255.255.0
которая смотрит в инет eth3 10.12.2.25/255.255.255.0 gw 10.12.2.1
которая смотрит во интранет eth1 10.12.1.31/255.255.254.0

нужно что бы с интранета пакета шли в локалку с IP 10.99.0.0/255.255.255.0, и с инета шли в локалку.
в принципе можно только настроить маршрутизацию с интранета в локалку...инет пустил через squid


Так как маска для сетей не везде установлена в 24 бита, то для начала попытаемся проанализировать что и с чем у нас может, в данном случае, пересекаться по адресному пространству:

Код: Выделить всё

olden@olden:~$ ipcalc 10.12.0.12/255.255.255.0
Address:   10.12.0.12           00001010.00001100.00000000. 00001100
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   10.12.0.0/24         00001010.00001100.00000000. 00000000
HostMin:   10.12.0.1            00001010.00001100.00000000. 00000001
HostMax:   10.12.0.254          00001010.00001100.00000000. 11111110
Broadcast: 10.12.0.255          00001010.00001100.00000000. 11111111
Hosts/Net: 254                   Class A, Private Internet

olden@olden:~$ ipcalc 10.12.2.25/255.255.255.0
Address:   10.12.2.25           00001010.00001100.00000010. 00011001
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   10.12.2.0/24         00001010.00001100.00000010. 00000000
HostMin:   10.12.2.1            00001010.00001100.00000010. 00000001
HostMax:   10.12.2.254          00001010.00001100.00000010. 11111110
Broadcast: 10.12.2.255          00001010.00001100.00000010. 11111111
Hosts/Net: 254                   Class A, Private Internet

olden@olden:~$ ipcalc 10.12.1.31/255.255.254.0
Address:   10.12.1.31           00001010.00001100.0000000 1.00011111
Netmask:   255.255.254.0 = 23   11111111.11111111.1111111 0.00000000
Wildcard:  0.0.1.255            00000000.00000000.0000000 1.11111111
=>
Network:   10.12.0.0/23         00001010.00001100.0000000 0.00000000
HostMin:   10.12.0.1            00001010.00001100.0000000 0.00000001
HostMax:   10.12.1.254          00001010.00001100.0000000 1.11111110
Broadcast: 10.12.1.255          00001010.00001100.0000000 1.11111111
Hosts/Net: 510                   Class A, Private Internet


С удивлением замечаем, что множество адресов 10.12.0.0/23 является универсумом для множества адресов 10.12.0.0/24. Соответственно без "вырывания гланд через задний проход" обойтись врядли получится. Но никто не говорит, что нельзя! Однажды я такой фокус проделывал.
Тоесть, для начала, имеем следующее описание интерфейсов:

Код: Выделить всё

auto eth0
iface eth0 inet static
        address 10.12.0.12
        netmask 255.255.255.0
        network 10.12.0.0
        broadcast 10.12.0.255

auto eth1
iface eth1 inet static
        address 10.12.1.31
        netmask 255.255.254.0
        network 10.12.0.0
        broadcast 10.12.1.255

auto eth3
iface eth3 inet static
        address 10.12.2.25
        netmask 255.255.255.0
        network 10.12.2.0
        broadcast 10.12.2.255
        gateway 10.12.2.1


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

Код: Выделить всё

# ip link list
# ip addr list
# ip rule list
# ip route list
# iptables-save
«Когда у общества нет цветовой дифференциации штанов — то нет цели!»
nic-hdl: RAP22-RIPE
Спасибо сказали:
VelloRibbo
Сообщения: 220
ОС: Фетровая

Re: роутинг между сетевыми картами

Сообщение VelloRibbo »

# ./ip link list
1: lo: <LOOPBACK,UP,10000> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:01:02:77:b9:55 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:50:da:4a:14:76 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
link/ether 00:04:76:e4:a7:05 brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:11:d8:01:af:55 brd ff:ff:ff:ff:ff:ff
6: sit0: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0

# ./ip addr list
1: lo: <LOOPBACK,UP,10000> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:01:02:77:b9:55 brd ff:ff:ff:ff:ff:ff
inet 10.12.0.12/24 brd 10.12.0.255 scope global eth0
inet6 fe80::201:2ff:fe77:b955/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:50:da:4a:14:76 brd ff:ff:ff:ff:ff:ff
inet 10.12.1.31/23 brd 10.12.1.255 scope global eth1
inet6 fe80::250:daff:fe4a:1476/64 scope link
valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
link/ether 00:04:76:e4:a7:05 brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:11:d8:01:af:55 brd ff:ff:ff:ff:ff:ff
inet 10.12.2.25/24 brd 10.12.2.255 scope global eth3
inet6 fe80::211:d8ff:fe01:af55/64 scope link
valid_lft forever preferred_lft forever
6: sit0: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0

# ./ip rule list
0: from all lookup local
32766: from all lookup main
32767: from all lookup default

# ./ip route list
10.12.2.0/24 dev eth3 proto kernel scope link src 10.12.2.25
10.12.1.0/24 via 10.12.1.1 dev eth1
10.12.0.0/24 dev eth0 proto kernel scope link src 10.12.0.12
10.12.0.0/23 dev eth1 proto kernel scope link src 10.12.1.31
10.99.0.0/16 via 10.12.1.1 dev eth1
169.254.0.0/16 dev eth3 scope link
127.0.0.0/8 dev lo scope link
default via 10.12.2.1 dev eth3

# ./iptables-save
# Generated by iptables-save v1.3.5 on Wed Dec 20 14:21:05 2006
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4614:1223218]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -i eth0 -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p ipv6-crypt -j ACCEPT
-A RH-Firewall-1-INPUT -p ipv6-auth -j ACCEPT
-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Wed Dec 20 14:21:05 2006

Вот результаты. Чесно говоря темный лес для меня :(. Может фаирволл тормозит пакеты? Но я его не настраивал пока. Кстати у меня стоит виндовый контролер домена может ли это как то влиять?
Спасибо сказали:
Аватара пользователя
Olden Gremlin
Сообщения: 365
Статус: RAP22-RIPE
ОС: Debian GNU/Linux Wheezy

Re: роутинг между сетевыми картами

Сообщение Olden Gremlin »

VelloRibbo писал(а):
20.12.2006 14:26
Вот результаты. Чесно говоря темный лес для меня :(. Может фаирволл тормозит пакеты? Но я его не настраивал пока. Кстати у меня стоит виндовый контролер домена может ли это как то влиять?


Последние вводные вопросы:
10.12.2.1 - принимает маршрутизацию на твою локалку 10.12.0.12/24 или требуется MASQUERADE твоей сети?
10.12.1.1 - принимает маршрутизацию на твою локалку 10.12.0.12/24 или требуется MASQUERADE твоей сети?

А вообще...
Сохрани и распакуй аттач к этому сообщению.
Это скрипт файрвола. Причем достаточно универсальный по своей природе.
Все правила описываются в двух-трех переменных.

Код: Выделить всё

###########################################################
# Определение локальных правил для интерфейсов в формате:
# интерфейс:адрес_или_сеть_назначения-адрес_на_интерфейсе
IFACE_LOCAL="eth0:10.12.0.0/24-10.12.0.12
eth2:10.12.0.0/23-10.12.1.31
eth3:10.12.2.0/24-10.12.2.25"
###########################################################

###########################################################
# Определение транзитных правил для интерфейсов в формате:
# {интерфейс_назначения:адрес_или_сеть_назначения}-{интерфейс_источника:адрес_или_сеть_источника}
IFACE_TRANSIT="{eth1:10.12.1.31/23}-{eth0:10.12.0.12/24}
{eth3:10.12.2.25/24}-{eth0:10.12.0.12/24}
{eth1:0.0.0.0/0}-{eth0:10.12.0.12/24}
{eth3:0.0.0.0/0}-{eth0:10.12.0.12/24}"
###########################################################


по большому счету тебя могут/должны интересовать две "зеркальные" функции route_up/route_down - объявляет "нестандартный" роутинг. и вышеприведенные переменные.

причем, даже если твой интернет и интранет провайдер принимает маршрутизацию на твою локалку, то в этом скрипте будет достаточным всего-лишь вставить ремарку на строки

Код: Выделить всё

                if_masq 10.12.0.0/24 eth1
                if_masq 10.12.0.0/24 eth3
«Когда у общества нет цветовой дифференциации штанов — то нет цели!»
nic-hdl: RAP22-RIPE
Спасибо сказали:
VelloRibbo
Сообщения: 220
ОС: Фетровая

Re: роутинг между сетевыми картами

Сообщение VelloRibbo »

Olden Gremlin писал(а):
20.12.2006 16:14
Последние вводные вопросы:
10.12.2.1 - принимает маршрутизацию на твою локалку 10.12.0.12/24 или требуется MASQUERADE твоей сети?
10.12.1.1 - принимает маршрутизацию на твою локалку 10.12.0.12/24 или требуется MASQUERADE твоей сети?


10.12.2.1 это модем. В принципе там возможно будет нужна некая маршрутизация но еще не факт... Поэтому будем считать что нет.
10.12.1.1 это Cisco маршрутизатор на интранете. Туда я доступа не имею :( оттуда идет почта и некоторые сетевые интерфейсы, а так же иногда удаленное администрирование.

В принципе скрипт работает.
За скрип спасибо большое! :)
Этот скрипт дает настройки только фаирвола или еще и некий маскарадинг на сетке?
Спасибо сказали:
Аватара пользователя
Olden Gremlin
Сообщения: 365
Статус: RAP22-RIPE
ОС: Debian GNU/Linux Wheezy

Re: роутинг между сетевыми картами

Сообщение Olden Gremlin »

VelloRibbo писал(а):
20.12.2006 16:57
10.12.2.1 это модем. В принципе там возможно будет нужна некая маршрутизация но еще не факт... Поэтому будем считать что нет.
10.12.1.1 это Cisco маршрутизатор на интранете. Туда я доступа не имею :( оттуда идет почта и некоторые сетевые интерфейсы, а так же иногда удаленное администрирование.

Я не спрашивал о том, что за устройства.
Имелось в виду: интернет/интранет провайдеры/операторы настраивают роутинг на твою сеть или нет?
По ходу нет. Поэтому их хосты и хосты всего сообщества просто не знают о твоей сети.
Кстати, пока ты будешь иметь адреса в множестве приватных сетей определенных RFC1918 (Address Allocation for Private Internets), то из Интернета (мира) тебя никто и не увидит.
Следовательно, если адреса твои лежат в подмножестве адресов 10.0.0.0/8 (а так оно и есть) ты обязан "маскарадить" свою сеть!

VelloRibbo писал(а):
20.12.2006 16:57
В принципе скрипт работает.

Чесслово - я не шаман. ;) Просто одна из многих наработок... В оригинале скрипт весит несколько больше и имеет еще кое-какую функциональность... Но это уже другой вопрос...

VelloRibbo писал(а):
20.12.2006 16:57
За скрип спасибо большое! :)

Немазачто. Лишь бы помогло и пошло на пользу :D

VelloRibbo писал(а):
20.12.2006 16:57
Этот скрипт дает настройки только фаирвола или еще и некий маскарадинг на сетке?

На этот вопрос поможет ответить

Код: Выделить всё

$ grep -i "masq" ./30488

;)
«Когда у общества нет цветовой дифференциации штанов — то нет цели!»
nic-hdl: RAP22-RIPE
Спасибо сказали:
VelloRibbo
Сообщения: 220
ОС: Фетровая

Re: роутинг между сетевыми картами

Сообщение VelloRibbo »

Спасибо огромное!!! Буду разбираться с данным скриптом. Вопросов больше не имею. :)
Спасибо сказали:
VelloRibbo
Сообщения: 220
ОС: Фетровая

Re: роутинг между сетевыми картами

Сообщение VelloRibbo »

Здраствуйте, теперь возник вопрос в связ с этим скриптом, можно ли сделать отсылку пакетов которые идут в с сети в интернет, на службу squid, или както еще сделать мониторинг за пользователями?
Спасибо сказали: