Всем привет ... есть проблема
поднят gre туннель между cisco и centos.
вот как поднимал на centos туннель
cisco - xx.xxx.xx.160
centos - xx.xx.xx.158
ip tunnel add tun1 mode gre remote xx.xxx.xx.160 local xx.xx.xx.158 dev eth0
ifconfig tun1 10.10.80.5 netmask 255.255.255.252 pointopoint 10.10.80.6
ifconfig tun1 up
присвоенные локальные адреса туннеля пингует все хорошо .. по туннелю пакеты ходят ..я с cisco роутера сделал маршрут на centos для 14 ip
ip route vrf A 1xx.2xx.1xx.0 255.255.255.240 10.10.80.5после чего присваиваю ip на centos на eth0 а они не пингуются из вне . Проблема в том что такая схема на Debian работает ... а здесь почему то нет.
адреса добавляю следующей командой
ip address add 1xx.2xx.1xx.1 brd + dev eth0
ip address add 1xx.2xx.1xx.2 brd + dev eth0
и т.д
пробовал добавлять рендж через стандартный ifcfg-route0... не помогает .. адреса присваивает а из инета они не видныsysctl net.ipv4.conf.eth0.forwarding
net.ipv4.conf.eth0.forwarding = 1sysctl net.ipv4.conf.all.forwarding
net.ipv4.conf.all.forwarding = 1iptables пуст
почему не видно из инета ip которые я присвоил на eth0 centos в чем может быть дело ?
я думаю стоит начать с использования tcpdump
а на CentOS дефолтный маршрут через тунель?
>а на CentOS дефолтный маршрут через тунель?дефолтный маршрут через туннель не стоит делать ... так как нельзя весь трафик на centos пускать через туннель ...
но я пробовал добавлять маршрут для ip которые я присоединил на centos через туннель ... не помогло
еще такой момент ... когда я пробую пингануть из инета ip которые я присоединил ... я вижу в статусе туннеля начинает расти кол-во полученных пакетов... что значит что на cisco все в порядке и траф доходит до centos вот только centos не отвечает на запросы
>>а на CentOS дефолтный маршрут через тунель?
>
>дефолтный маршрут через туннель не стоит делать ... так как нельзя весь
>трафик на centos пускать через туннель ...
>но я пробовал добавлять маршрут для ip которые я присоединил на centos
>через туннель ... не помоглоКак именно это осуществлялось ? Команды, и т п
>еще такой момент ... когда я пробую пингануть из инета ip которые
>я присоединил ... я вижу в статусе туннеля начинает расти кол-во
>полученных пакетов... что значит что на cisco все в порядке и
>траф доходит до centos вот только centos не отвечает на запросыtcpdump вы для себя так и не открыли ?
>>>а на CentOS дефолтный маршрут через тунель?
>>
>>дефолтный маршрут через туннель не стоит делать ... так как нельзя весь
>>трафик на centos пускать через туннель ...
>>но я пробовал добавлять маршрут для ip которые я присоединил на centos
>>через туннель ... не помогло
>
>Как именно это осуществлялось ? Команды, и т пroute add -net 1x.2x.1x.0 netmask 255.255.255.240 gw 10.10.80.6
>>>>а на CentOS дефолтный маршрут через тунель?
>>>
>>>дефолтный маршрут через туннель не стоит делать ... так как нельзя весь
>>>трафик на centos пускать через туннель ...
>>>но я пробовал добавлять маршрут для ip которые я присоединил на centos
>>>через туннель ... не помогло
>>
>>Как именно это осуществлялось ? Команды, и т п
>
>route add -net 1x.2x.1x.0 netmask 255.255.255.240 gw 10.10.80.6Эта команда выставляет маршрут _к_ сети 1x.2x.1.x.0/28, хотя адреса этой сети уже на локальной машине, т.е. бессмыссленна в контексте данной проблемы.
В вашем случае поможет проверка следующим образом:
>когда я пробую пингануть из инета ip которые я присоединил ...
пропишите маршрут через туннель для сети/хоста "из инета", с которого проверяете доступность.
route add -net some.external.net.work netmask 255.255.x.y gw 10.10.80.6
пинганите еще раз. увидите работоспособность.
После этого читайте / гуглите на тему "Policy Based Routing", "Линукс и два провайдера" и т п, например тут: http://www.opennet.me/tips/info/2009.shtml ;-)
Цель: научиться делать маршрутизацию в зависимости от ip-адреса источника.
>>еще такой момент ... когда я пробую пингануть из инета ip которые
>>я присоединил ... я вижу в статусе туннеля начинает расти кол-во
>>полученных пакетов... что значит что на cisco все в порядке и
>>траф доходит до centos вот только centos не отвечает на запросы
>
>tcpdump вы для себя так и не открыли ?сделал tcpdump
tcpdump -i tun1 -n -nn -ttt 'ip proto \icmp'
мой ip > 1x.2x.1x.1: ICMP echo request, id 55916, seq 4352, length 40
5. 506867 IP мой ip > 1x.2x.1x.1: ICMP echo request, id 55916, seq 4608, length 40
5. 499205 IP мой ip > 1x.2x.1x.1: ICMP echo request, id 55916, seq 4864, length 40tcpdump -i eth0 -n -nn -ttt 'ip proto \icmp'
000000 IP 1x.2x.1x.1 > мой ip : ICMP echo reply, id 55916, seq 6656, length 40
5. 486886 IP 1x.2x.1x.1 > мой ip : ICMP echo reply, id 55916, seq 7168, length 40
5. 496281 IP 1x.2x.1x.1 > мой ip : ICMP echo reply, id 55916, seq 7424, length 40
5. 505836 IP 1x.2x.1x.1 > мой ip : ICMP echo reply, id 55916, seq 7680, length 40
5. 509901 IP 1x.2x.1x.1 > мой ip : ICMP echo reply, id 55916, seq 7936, length 40
1. 946765 IP 1x.2x.1x.1 > мой ip : ICMP echo reply, id 55916, seq 8192, length 40
2. 829968 IP 1x.2x.1x.1 > мой ip : ICMP echo reply, id 55916, seq 8448, length 40выходит что centos отвечает только вот на туннеле TX bytes:0 (0.0 b) ... не понимаю куда он тогда отвечает
видимо что то с маршрутизацией
а отвечает на дефолтный шлюз.
>[оверквотинг удален]
>5. 486886 IP 1x.2x.1x.1 > мой ip : ICMP echo reply, id 55916, seq 7168, length 40
>5. 496281 IP 1x.2x.1x.1 > мой ip : ICMP echo reply, id 55916, seq 7424, length 40
>5. 505836 IP 1x.2x.1x.1 > мой ip : ICMP echo reply, id 55916, seq 7680, length 40
>5. 509901 IP 1x.2x.1x.1 > мой ip : ICMP echo reply, id 55916, seq 7936, length 40
>1. 946765 IP 1x.2x.1x.1 > мой ip : ICMP echo reply, id 55916, seq 8192, length 40
>2. 829968 IP 1x.2x.1x.1 > мой ip : ICMP echo reply, id 55916, seq 8448, length 40
>
>выходит что centos отвечает только вот на туннеле TX bytes:0 (0.0 b)
>... не понимаю куда он тогда отвечает
>видимо что то с маршрутизациейдык по дефолтному маршруту и уходит, а он не смотрит в туннель, а в eth0.
дефолтный маршрут менять или не менять зависит от ситуации, а вот PBR (policy based routing) настраивать надо.
>выходит что centos отвечает только вот на туннеле TX bytes:0 (0.0 b)
>... не понимаю куда он тогда отвечает
>видимо что то с маршрутизациейэто оказывается кто-то убил мой маршрут(сервер не мой ..могли админы убить) ...
в общем добавил снова
route add -net 1x.2x.1x.0 netmask 255.255.255.240 gw 10.10.80.6TX bytes начал меняться TX bytes:11628 (11.3 KiB) .... что говорит что на мои icmp сервер centos отвечает .... но реально я у себя ответа не вижу ... очень странно
>>выходит что centos отвечает только вот на туннеле TX bytes:0 (0.0 b)
>>... не понимаю куда он тогда отвечает
>>видимо что то с маршрутизацией
>
>это оказывается кто-то убил мой маршрут(сервер не мой ..могли админы убить) ...
>
>в общем добавил снова
>route add -net 1x.2x.1x.0 netmask 255.255.255.240 gw 10.10.80.6Вы читаете что вам пишут ?
>
>TX bytes начал меняться TX bytes:11628 (11.3 KiB) .... что говорит что
>на мои icmp сервер centos отвечает ....Это ни о чем не говорит, кроме того, что что-то ходит по туннелю, а что это - науке пока не известно.
Чтобы узнать, отвечает или нет - средство одно - tcpdump.
>но реально я у себя ответа не вижу ... очень странно
Прочитайте мой ответ выше _внимательно_.
Прочитайте статью.
>Вы читаете что вам пишут ?
>
>Прочитайте мой ответ выше _внимательно_.
>Прочитайте статью.не увидел ваш ответ сразу ... спасибо ... буду изучать
>Прочитайте мой ответ выше _внимательно_.
>Прочитайте статью.создал таблицу маршрутизации дополнительную
echo 100 net1 >> /etc/iproute2/rt_tables
добавил правило
ip rule add from 1x.2x.1x.0/28 table net1
и добавил маршрут для таблицы
ip route add default via 10.10.80.6 table net1Все заработало ... спасибо большое за помощь