Автор Тема: ip route problem  (Прочетена 1850 пъти)

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
ip route problem
« -: Oct 06, 2004, 09:46 »
привет

Проблема ми е следния: закачих се на adsl internet-a на бтк  и имам една стара машинка коята ще го играе рутерче т.е. трябва да рапзределя нета между мен и още един съсед. Прочетох от-до http://www.lartc.com и това което правя е следното:
$echo 200 rt1 >> /etc/iproute2/rt_tables
$ip rule add from 10.0.0.2 table rt1
$ip route add default via 83.228.18.111 dev eth1 table rt1
$ip route flush cache

както може да се досетите от заглавието на поста работата не тръгва '<img'>

малко уточнения: eth0: 10.0.0.1 255.0.0.0 - въте6ната мрежа
eth1; 83.228.28.111 255.255.255.252 - тези настройки си ги взима автоматично по dhcp от adsl модема на бтк (zxdsl831 ethernet)

моята машинка зад рутерчето е 10.0.0.2, а на съседа ще е 10.0.0.3, ама требва поне на моята да дойде нета че да пусна и на него '<img'>
Активен

vesok

  • Напреднали
  • *****
  • Публикации: 39
    • Профил
ip route problem
« Отговор #1 -: Oct 06, 2004, 10:31 »
Цитат
малко уточнения: eth0:...

Прекалено е малко :-(

Като начало на рутера пусни:

echo "1" > /proc/sys/net/ipv4/ip_forward

и виж дали се оправя. Ако не (пак на рутера) пусни

ifconfig
ping 212.50.10.132
traceroute 212.50.10.132
route -n
cat /proc/sys/net/ipv4/ip_forward
iptables -L

и постни тук резултатите...

Също от клиента:

traceroute 212.50.10.132
Активен

  • Гост
ip route problem
« Отговор #2 -: Oct 06, 2004, 11:34 »
Проблема не изглежда да е в рутирането. Незнам дали си пропуснал да го кажеш или не си го направил, но това което по-скоро ти липсва според мен е правило в iptables което да маскира пакетите. Пусни пинг от твоята машина до някъде си и tcpdump -n -i eth0 ( eth1) на рутера. би трябвало да виждаш запитванията и на двата интерфейса. Другото което е ... защо изобщо използваш таблиците на iproute2 ? То не че има нещо лошо човек да се учи щом иска, но при твоя случай дори няма нужда да се заиграваш с рутирането за да работят нещата.
Ще си позволя да ти дам няколко идеи:

1)

Цитат

малко уточнения: eth0: 10.0.0.1 255.0.0.0 ...


предполагам че тази маска ти е дало по подразбиране, но имай предвид че:

255.0.0.0        - 10.х.х.х
255.255.0.0    - 10.0.х.х
255.255.255.0 - 10.0.0.х

ти си прецени какъв клас мрежа (A,B,C) искаш да се търси през eth0

2)
таблиците в iproute2 (както и в iptables) са полезни когато искаш да прекарваш ip през правила различни от общовалидните (друг gateway за определена група от адреси или вид трафик и т.н.). Ако нямаш някакъв такъв случай, не ти е необходимо да ги ползваш (пак казвам освен ако не си решил просто да ги разучиш). Направи един експеримент:
махни iproute2 правилата и само вдигни интерфейсите с прилежащите им адреси
Примерен код

# eth0
# маска 255.0.0.0

ifconfig eth0 10.0.0.2 broadcast 10.255.255.255 netmask 255.0.0.0 up

# или

ip addr add 10.0.0.2/8 broadcast 10.255.255.255 dev eth0



eth1 го остави да си вземе адреса по DHCP. след като имаш и двата интерфейса вдигнати правилно напиши:

Примерен код

route -n


резултатът ще е:

Цитат

10.0.0.0           0.0.0.0           255.0.0.0        U     0      0        0 eth0
83.228.18.111   0.0.0.0            255.255.255.252 U     0      0        0 eth1
127.0.0.0     127.0.0.1        255.0.0.0            UG    0      0        0 lo
0.0.0.0         83.228.18.111   0.0.0.0               UG    0      0        0 eth1


какво означава това ? следното:
ред 1 - всичко което е за 10.х.х.х да се търси през eth0
ред 2 - всичко което е за 83.228.18.111/252 да се търси през eth1
ред 3 - всичко което е за 127.х.х.х да се търси през 127.0.0.1 на интерфейс lo (loopback)
ред 4 - всичко останало (0.0.0.0) да се пуска да си търси късмета през eth1 (83.228.18.111)

Така. Хайде сега погледни (преведи) какво си написал ти:
Всичко което е от 10.0.0.2 да отива в таблица rt1.
Всичко попаднало в таблица  rt1 за което няма специално правило, да се пуска през  eth1.

Получава се дублиране - два различни начина да поискаш от машината да прави едно и също нещо. Необходимо ли ти е ?

3) това вече е само като предложение. понеже и аз съм със същия модем през БТК. има една недомислица при тях че модема обновява ip-то на всеки 30 секунди. при условие че си си платил за статичен, реален адрес той на всеки 30 секунди подава една и съща информация ... само сметни за 24 часа колко пъти е това. най-малкото се отваря работа на logrotate демона. Това можеш да го избегнеш като си сложиш адреса статично на eth1. Така хем ще си имаш твоя адрес хем модема никой няма да го пита за ip и няма да тичкат излишни пакети между него и рутера.

Поздрави !
Активен

  • Гост
ip route problem
« Отговор #3 -: Oct 06, 2004, 11:52 »
така
значи поне засега няма да имам никакви ограничения, като трафик, време и т.н т.е. според думите не нтенев няма нужда от правила в рутиращите таблици
второ аз съм задал това ip i netmask нарочно - в смисъл че съм наясно с класовете мрежи маски и т.н. - просто за пример съм го дал

ще пробвам само с ifconfig и ще постна резултата

благодаря за съвета за статичното ip
Активен

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
ip route problem
« Отговор #4 -: Oct 06, 2004, 14:42 »
само с вдигана на интерфейсите пак не става работата '<img'>

route -n дава същия изход който казва нтенев но когато пусна sniffer-a и Ping от машина зад рутера само на вътрешния интерфейс (eth0 - който е за 10.10.10.255 мрежата) минавата пакети а на външния нищо не стига
Активен

  • Гост
ip route problem
« Отговор #5 -: Oct 06, 2004, 18:13 »
ок ... значи с рутирането всичко е наред. тогава остават 2 потенциални проблема.

а) както каза vesok
Цитат

echo "1" > /proc/sys/net/ipv4/ip_forward


това е позволение да прехвърля пакетите от един интерфейс към друг (провери като стойност какво имаш в /proc/sys/net/ipv4/ip_forward трябва да е 1, ако е 0 значи е забранено, ако е нещо друго - един бог знае '<img'> )
Обикновенно този ред се поставя в началото на скрипта който вдига firewall (iptables)

б) не се маскират пакетите. това най-лесно ще го провериш със проверката когато рутера е закачен той самия има ли интернет. ако той има а машините за него не (но виждат самия рутер) значи това е проблема. решение (ако следвам че изходящия ти интерфейс за интернет е eth1)

Примерен код

iptables -t nat -A POSTROUTING  -s 10.0.0.0/24 -o eth1 -j SNAT 83.228.18.111

# може и  -j MASQUERADE


виж тези неща и ако не помогнат, казвай да борим нататък '<img'>

Поздрави !
Активен

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
ip route problem
« Отговор #6 -: Oct 07, 2004, 17:52 »
мерси много на нтенев - това реши проблема
за съжаление възникна друг проблем който се оказа че се разрешава доста по сложно, а именно:
по принцип скоростта между РС-тата зад рутера трябва да е една и съща, ама не е точно така '<img'>
ако единия се конектне първи и почне да сваля (тегли) нещо на другия браузването му е много зле т.е. кофти скорост
ако и двамата теглят скоростта е ок и за двата

проблема е решава с load balance ама след доста четене нещо не се светнах много много '<img'>)
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
route
Настройка на програми
ivanatora 2 1646 Последна публикация Jul 19, 2003, 09:07
от mrvoland
route-иране
Настройка на програми
Soulstealer 2 1138 Последна публикация Jul 12, 2004, 19:57
от avatar3000
route
Настройка на програми
dido_333 2 1289 Последна публикация Oct 01, 2004, 16:26
от n_antonov
Защо 'route' се изпълнява бавно (15 секунди)?
Настройка на програми
nobby 3 1302 Последна публикация Dec 11, 2004, 17:40
от zazzko
Problem s route
Настройка на програми
borovaka 3 1302 Последна публикация Aug 28, 2006, 22:35
от senser