Автор Тема: Проблеми с маскарадинга  (Прочетена 1559 пъти)

PERMANENT

  • Напреднали
  • *****
  • Публикации: 94
    • Профил
Проблеми с маскарадинга
« -: Dec 25, 2006, 00:15 »
Здравеит искам да пожелая  на всички весели празници
и да не прекалявате с алкохола че като сте пияни не ми вършите работа'<img'>

Проблема ми е следният
Пробвам се да направя рутар които да дели нета чрез
маскарадинг.Дестрибуцията която ползвам е slackware 11
На рутера съм сложил две мрежови карти eth0-е свързана с вътрешната мрежа eth1-е свързана с доставчика които е на pppoe протокол.Сега направо ще пусна всичко за да не стават недоразумения.

Всичкия мрежом интерфиес
Цитат
eth0      Link encap:Ethernet  HWaddr 00:02:44:9D:72:A1
          inet addr:169.254.211.25  Bcast:169.254.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 'B)'  TX bytes:0 (0.0 'B)'
          Interrupt:10 Base address:0x4f00

eth1      Link encap:Ethernet  HWaddr 00:0A:E6:C5:1F:D1
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:26 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2588 (2.5 KiB)  TX bytes:578 (578.0 'B)'
          Interrupt:5 Base address:0xd400

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 'B)'  TX bytes:0 (0.0 'B)'

ppp0      Link encap:Point-to-Point Protocol
          inet addr:80.95.21.37  P-t-P:80.95.25.254  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1460  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:45 (45.0 'B)'  TX bytes:45 (45.0 'B)'


роуте таблицата на рутера
Цитат

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
80.95.25.254    *               255.255.255.255 UH    0      0        0 ppp0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
loopback        *               255.0.0.0       U     0      0        0 lo
default         *               0.0.0.0         U     0      0        0 ppp0


конфигулирам iptables само с това

Цитат

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

знам че за статичен ip адрес трябва да ползвам -j SNAT
но с него ми дава някъкав синтактичен проблем

машините от вътрешната мрежа могат да пингват рутера
но не и някои компютър от външната мрежа.
На тях е въведен gateway рутера но нищо не става
проблема които дава при пинг към вънщен комп е
Цитат

networt is unreachable
wrote (пингнатото ip) 64 chars ret -1

Кажете от къде е проблема защото аз идея си нямам

Имам и още един въпрос можели хубовете да дават нещо като втори физически адрес на потребителите
знам че е тъпо но трябва да разбера дали има нещо подобно

мерси предварително
Активен

dad

  • Напреднали
  • *****
  • Публикации: 127
    • Профил
Проблеми с маскарадинга
« Отговор #1 -: Dec 25, 2006, 01:17 »
Сигурен ли си, че доставчикът ти не следи TTL-ите на пакетите?
Цитат
Имам и още един въпрос можели хубовете да дават нещо като втори физически адрес на потребителите

Нещо не ти разбирам въпроса.



Активен

PERMANENT

  • Напреднали
  • *****
  • Публикации: 94
    • Профил
Проблеми с маскарадинга
« Отговор #2 -: Dec 25, 2006, 13:06 »
Нямам педстава дали доставчика ми следи ttl-а но ако приемем че е така какви възможности имам аз

това за хубовете малко трудно щи го убесня а и не искам темата да кривне на страни така че просто го забравете
Активен

metal

  • Напреднали
  • *****
  • Публикации: 414
    • Профил
Проблеми с маскарадинга
« Отговор #3 -: Dec 25, 2006, 13:32 »
Можеш да провериш с какъв ттл са пакетите от доставчика ти като от рутера пингнеш някой хост в интернет. Ако е 1 то ще трябва да го увеличиш с 1 (за едно ниво компове след рутера) Ако не знаеш как можеш да видиш отговора, който съм дал на Rock_man  в темата му Linux & windows.

Весели празници.
Активен

Gentoo 2007.0 - 2.6.23-r3
Debian testing - 2.6.22-3

dad

  • Напреднали
  • *****
  • Публикации: 127
    • Профил
Проблеми с маскарадинга
« Отговор #4 -: Dec 25, 2006, 13:43 »
Пробвай да добавиш тези 2 реда, след трансалционното правило:
Примерен код

iptables -t mangle -A PREROUTING -i ppp0 -j TTL --ttl-inc 1
iptables -t mangle -A POSTROUTING -s XX.XX.XX.XX/M -o ppp0 -j TTL --ttl-inc 1

В случая ХХ.ХХ.ХХ.ХХ/М е адресът на маскираната ти мрежа - 169.254.0.0/16 .
Между другото, защо използваш тази мрежа за автоматично адресиране, а не обичайната за случая клас С мрежа 192.168.0.0 с маска 24?
Активен

metal

  • Напреднали
  • *****
  • Публикации: 414
    • Профил
Проблеми с маскарадинга
« Отговор #5 -: Dec 25, 2006, 14:31 »
dad,това което пишеш ще работи, но ако се ползва интернат и от компа-рутер то пакетите на него ще са с ттл=2. Това не е ли сигнал за доставчика (според мен е)?!? Как се избягва това съм писал в поста който соча в предния си пост.

Весели празници!!!
Активен

Gentoo 2007.0 - 2.6.23-r3
Debian testing - 2.6.22-3

dad

  • Напреднали
  • *****
  • Публикации: 127
    • Профил
Проблеми с маскарадинга
« Отговор #6 -: Dec 25, 2006, 14:52 »
@metal, за пръв път чувам, за стойност на TTL на пакет 1 или 2...Доколкото знам, стойността за Линукс е 64, а за Уиндоус 128. Стойността на TTL намалява с единица на всеки следващ хоп, т.е., ако маскирата машина е с Линукс ОС, ще стане 63, а ако е с Уиндоус-127. Смисълът на това, което съм написал е, TTL стойността на пакетите, излизащи от маскирана мрежа да се увеличи с единица, т.е. да бъде 64 или 128, в зависимост от операционната система. Разбира се, може вместо да се увеличават с единица, направо да се фиксират на 64, което може би е по-удачно.
Доколкото за маршрутизатора, мисля, че не си прав.. Единственото подозрително, може да бъде, че пакетите излизащи директно от него ще имат TTL=64, тъй като ОС е Линукс, а на евентуални маскирани уиндоуски станции TTL да бъде 128. Ако греша, много моля някой да ме поправи.
Весела Коледа на всички'<img'>
Покрай тези TTL-и, забравихме да кажем на PERMANENT, преди да се занимава с промяната им, по какъвто и да било начин '<img'>, най-вече да укаже на ядрото на маршрутизатора да препраща пакети:
Примерен код
echo "1" > /proc/sys/net/ipv4/ip_forward




Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Проблеми с маскарадинга
« Отговор #7 -: Dec 25, 2006, 16:28 »
Според мен, проблемът не е TTL-related.

Това което ме кара да го мисля е следното:

Цитат
network is unreachable
wrote (пингнатото ip) 64 chars ret -1


Което означава, че машината, която се опитва да праща ICMP echo пакета е получила от някой рутер ICMP destination network unreachable (type 3, code 0).

ICMP destination unreachable съобщенията могат да имат различни кодове, указващи грешката, такива примерно са: PORT UNREACHABLE (code 3) - ако няма такава услуга, HOST UNREACHABLE (code 1) - ако няма layer2 свързаност между "последният" рутер и машината-цел, NETWORK UNREACHABLE (code 0) - ако по някаква причина пакетът не може да бъде препратен от някой рутер през интерфейсът, за когото има такъв route до мрежата на машината-цел. Има и други типове такива съобщения естествено, но тези са най-честите.

Ако ping каже нещо такова като горното, значи е получен icmp destination network unreachable от някой рутер по пътя. Сега да предположим, че провайдърът е вдигнал ТТЛ филтър и реже пакети да речем със стойност по-ниска от 64. Естествено съществува възможността да го правят малко по-културно и да връщат някаква icmp unreachable грешка, но в повечето случаи с които съм запознат, такива пакети с по-нисък ТТЛ просто се издроп-ват и нищо не се връща към клиента. Още повече че и да връщаха грешка, щеше да е по-вероятно някаква такава с код указващ "communication administratively prohibited", а не такава, указваща "destination network unreachable". Просто е странно де, но като знам какви гении има из родните доставчици не бих гарантирал че някой няма да се постарае да измисли точно такава глупост '<img'>

Значи много по-вероятната причина според мен е че на рутера или има сложен DROP за такива пакети във FORWARD chain-a. Или алтернативно, просто няма вдигнат IP forwarding, както бяха предложили по-нагоре.

Според мен проблемът е едно от двете. Това обяснява и как на вътрешният интерфейс има "влезнали" 2.5 кб данни, а през ppp интерфейса са "излезнали" само 45 байта. Макар че за съжаление трябваше да се пейстнат тези неща от ifconfig след поне 5-10 минути опити на вътрешни хостове да достъпват интернет, резултатите щяха да са по-показателни предполагам '<img'>


Весела коледа покрай другото '<img'>



Активен

"Knowledge is power" - France is Bacon

koko32

  • Напреднали
  • *****
  • Публикации: 34
    • Профил
Проблеми с маскарадинга
« Отговор #8 -: Dec 25, 2006, 17:58 »
Виж това ,може да ти помогне.Весели празници '<img'>
Активен

Ако си тъп обикновено е за постоянно

PERMANENT

  • Напреднали
  • *****
  • Публикации: 94
    • Профил
Проблеми с маскарадинга
« Отговор #9 -: Dec 25, 2006, 21:13 »
Благодаря на всички за помоща ако не съм се справил до ден два отново ще ви пиша
Весели празници
Активен