Jump to content
Калькуляторы

Внутренняя маршрутизация на Linux Маршрутизация внутри системы между сетевыми интерфейсами.

Был когда то CentOS 5.x, проблем с данным вопросом не было, а вот с CentOS 6.x возникла "проблемка"

Есть сервер, включена маршрутизация

#sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

 

Настройка сети

#ifconfig
eth0      Link encap:Ethernet  HWaddr 00:21:54:CF:8E:E2
         inet addr:10.100.100.100  Bcast:10.100.100.100  Mask:255.255.255.255
         inet6 addr: fe80::221:5aff:fecf:3ee2/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:14961541 errors:0 dropped:0 overruns:0 frame:0
         TX packets:16103071 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:5956879190 (5.5 GiB)  TX bytes:12214707281 (11.3 GiB)

eth1  Link encap:Ethernet  HWaddr 00:21:5A:CF:3E:E2
         inet addr:172.20.22.1  Bcast:172.20.22.255  Mask:255.255.255.0
         inet6 addr: fe80::221:5aff:fecf:3ee2/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:514683 errors:0 dropped:0 overruns:0 frame:0
         TX packets:176194 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:79645505 (75.9 MiB)  TX bytes:97049760 (92.5 MiB)

 

Cо стороны Eth1 у клиента прописано так

адрес 172.20.22.2

маска 255.255.255.0

шлюз 172.20.22.1

 

то что дальше сервера клиент видит, но вот IP-адрес 10.100.100.100 который на интерфейсе Eth0 не видит.

 

Как решить данный вопрос?

Share this post


Link to post
Share on other sites

может быть proxy arp?

 

echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp

 

Я не помню деталей когда сталкивался с подобной ситуацией, но попробуйте.

Share this post


Link to post
Share on other sites

Адрес \32, он же адрес подсети и он же броадкаст. Не вижу проблем.

Какой там должен быть броадкаст по вашему?

 

1. Я тоже не вижу проблем, и о проблемах даже не упоминал. /32 - стрёмный и специальный случай, и не является обычным для интерфейса.

2. Я не знаю, какой там должен быть броадкаст - обратитесь к топикстартеру - только он знает, какой ему там нужен броадкаст.

3. Вы ищите с кем поругаться? :)

Share this post


Link to post
Share on other sites

Адрес \32, он же адрес подсети и он же броадкаст. Не вижу проблем.

Какой там должен быть броадкаст по вашему?

 

1. Я тоже не вижу проблем, и о проблемах даже не упоминал. /32 - стрёмный и специальный случай, и не является обычным для интерфейса.

2. Я не знаю, какой там должен быть броадкаст - обратитесь к топикстартеру - только он знает, какой ему там нужен броадкаст.

3. Вы ищите с кем поругаться? :)

 

Нет, я просто подумал, что может чего-то не знаю о \32, вот и всё :)

Share this post


Link to post
Share on other sites

/32 - стрёмный и специальный случай, и не является обычным для интерфейса

 

А /31 - стремные адреса?

/30 стремные :)

Перерерасход адресов же! :)

Share this post


Link to post
Share on other sites

Как я люблю такие темы.

 

"Адрес не видит!!111". Ему глаза завязали? Или он в темноте с фонариком не смог различить адрес? Что такое "не видит"?

Share this post


Link to post
Share on other sites

Как я люблю такие темы.

 

"Адрес не видит!!111". Ему глаза завязали? Или он в темноте с фонариком не смог различить адрес? Что такое "не видит"?

Так что мне в кавычках писать "не видит"? Все поняли, кроме тебя получается.

 

может быть proxy arp?

 

echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp

 

Я не помню деталей когда сталкивался с подобной ситуацией, но попробуйте.

 

спасибо, помогло

Share this post


Link to post
Share on other sites

Так что мне в кавычках писать "не видит"? Все поняли, кроме тебя получается.

 

Да хоть маркером выдели, один хрен не ясно. Не знаю кто что понял, но реально же фигня написана.

Не видит это что? Не пингует, не может сделать на него коннект, в трейсроуте не отображается? Что конкретно из этого?

 

Вангую, что если тебе помогает proxy_arp, то у тебя все не очень хорошо с роутингом.

Share this post


Link to post
Share on other sites

А если ванговать еще глубже, то наверное корень бед во включенном net.ipv4.conf.ethХ.rp_filter. Но это зависит, конечно же, от того что такое "не видит".

Share this post


Link to post
Share on other sites

не видит - не доступен

а трассировка в моем случае ничего не покажет.

с роутингов все ок, так как он включен

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

 

#ifconfig
eth0      Link encap:Ethernet  HWaddr 00:21:54:CF:8E:E2
         inet addr:10.100.100.1  Bcast:10.100.100.255  Mask:255.255.255.0
         inet6 addr: fe80::221:5aff:fecf:3ee2/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:14961541 errors:0 dropped:0 overruns:0 frame:0
         TX packets:16103071 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:5956879190 (5.5 GiB)  TX bytes:12214707281 (11.3 GiB)

eth1  Link encap:Ethernet  HWaddr 00:21:5A:CF:3E:E2
         inet addr:172.20.22.1  Bcast:172.20.22.255  Mask:255.255.255.0
         inet6 addr: fe80::221:5aff:fecf:3ee2/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:514683 errors:0 dropped:0 overruns:0 frame:0
         TX packets:176194 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:79645505 (75.9 MiB)  TX bytes:97049760 (92.5 MiB)

 

хост 10.100.100.1 будет не доступным, а вот 10.100.100.2 будет доступным (10.100.100.2 другой комп, который подключен к той сети)

Share this post


Link to post
Share on other sites

не видит - не доступен

 

-_- Русский язык такой богатый, да и сетевые термины есть устоявшиеся. Но ты все равно выбираешь какое-то слово, которое ничего не характеризует.

Давай я помогу тебе, как носитель языка. Например, в твоем случае "клиент не видит" и "от клиента не доступен" надо читать как "клиент не может установить соединение с сервисом на адресе 10.100.100.1". Вот это вполне четкое и понятное описание, которое позволяет сразу дать ответ (см. мой прошлый совет), не вызывая обсуждения на 2 недели с кучей вовлеченных.

Share this post


Link to post
Share on other sites

не видит - не доступен

 

-_- Русский язык такой богатый, да и сетевые термины есть устоявшиеся. Но ты все равно выбираешь какое-то слово, которое ничего не характеризует.

Давай я помогу тебе, как носитель языка. Например, в твоем случае "клиент не видит" и "от клиента не доступен" надо читать как "клиент не может установить соединение с сервисом на адресе 10.100.100.1". Вот это вполне четкое и понятное описание, которое позволяет сразу дать ответ (см. мой прошлый совет), не вызывая обсуждения на 2 недели с кучей вовлеченных.

не придирайся умник, лучше бы просто ответил, остальным спасибо, тебе отдельное не спасибо

p.s.

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

Edited by u.s.s.r

Share this post


Link to post
Share on other sites

Проверь iptables. Возможно есть правила, которые блокируют прохождение пакетов. Если есть, пропиши ACCEPT на эти подсети.

Edited by ne-vlezay80

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.