Linux за българи: Форуми

Linux секция за начинаещи => Настройка на хардуер => Темата е започната от: ChochoD в Mar 15, 2008, 08:20



Титла: Мост м/у eth1 i eth2
Публикувано от: ChochoD в Mar 15, 2008, 08:20
Ок, с риск и това да отиде в кошчето (поне този път няма да е заради това, че съм писал на латиница) подкарал съм външната мрежа ( известна още като internet на латинница) на маршрутизатора ( известен на латиница като router) през eth1. Подкарал съм и ЛМ (Локална Мрежа известна като LAN  на латиница) през eth2. 2те мрежи работят, но незнам как да направя мост (известен на латиница като bridge). Ето топологията на мрежата :

                            web server с реално IP
                                         |          
                                         |                debian router
internet (91.92.167.1)----- switch ---- eth1 (91.92.167.90)
                                         |  |
                                         |  |---------eth2 (90.0.0.1)
                                         |
                                       LAN
                                   (90.0.0.X)                        
                                  
Интернета върви на маршрутизатора, мога да пинг-на и LAN-a. Незнам как да задам на eth2 да взема инернет от eth1. Интересува ме как да стане.

(Пробвах варианти (главно с brctl бяха) , вече не помня адресите, но не ставаше.  Затова моля за конкретни указания с тези от примера горе, защото явно някъде съм бъркал като съм следвал примерите)





Титла: Мост м/у eth1 i eth2
Публикувано от: luda_glawa в Mar 15, 2008, 09:24
//offtopic
Виж първата си тема, виж и тази и ми кажи коя е по-добра? Да ти кажа за мен има разлика. Не е причина само кирилицата. Хубаво е да даваш повече информация.

//ontopic
Така. Доколкото разбирам (поправи ме ако греша) мрежата си я настроил - просто маршрутизатора не прехвърля пакетите от едната мрежа в другата. Ако е само това т.е. настроил си правилните мрежови адреси, маски, "gateway" адреси и просто не минават пакети през рутера - пробвай тази команда:

Примерен код
echo 1 > /proc/sys/net/ipv4/ip_forward


Имай предвид, че това решение е валидно, докато не спреш/ рестартираш компютъра. За да го направиш постоянно трябва да добавиш

Примерен код
net.ipv4.conf.default.forwarding=1


в /etc/sysctl.conf

Относно шейпинг-а, кажи какво искаш да постигнеш. Иваче командата, която ти трябва е - "iptables". Но там нещата са груби, затова те питам какво точно искаш да постигнеш.

P.S. Хубаво е да дадеш и изхода от командата "route".





Титла: Мост м/у eth1 i eth2
Публикувано от: BRADATA в Mar 15, 2008, 13:20
Цитат (ChochoD @ Март 15 2008,09:20)
Ок, с риск и това да отиде в кошчето (поне този път няма да е заради това, че съм писал на латиница) подкарал съм външната мрежа ( известна още като internet на латинница) на маршрутизатора ( известен на латиница като router) през eth1. Подкарал съм и ЛМ (Локална Мрежа известна като LAN  на латиница) през eth2. 2те мрежи работят, но незнам как да направя мост (известен на латиница като bridge). Ето топологията на мрежата :

                            web server с реално IP
                                         |          
                                         |                debian router
internet (91.92.167.1)----- switch ---- eth1 (91.92.167.90)
                                         |  |
                                         |  |---------eth2 (90.0.0.1)
                                         |
                                       LAN
                                   (90.0.0.X)
Интернета върви на маршрутизатора, мога да пинг-на и LAN-a. Незнам как да задам на eth2 да взема инернет от eth1. Интересува ме как да стане.

(Пробвах варианти (главно с brctl бяха) , вече не помня адресите, но не ставаше.  Затова моля за конкретни указания с тези от примера горе, защото явно някъде съм бъркал като съм следвал примерите)

Абе аз така като гледам май на момчето не му е много ясно какво точно иска да прави... Идват ми няколко предположения (той ще каже кое е правилното):
1. Разглеждайки картинката забелязвам само публични адреси, но си мисля, че мрежата 90.0.0.0/24 не трябва да е такава, а частна. Ако това предположение е вярно то трябва да се разреши IP forwarding на дебианския сървър и да се активира snat или masquerade на eth1. Също така изниква въпроса защо са набучени всички в един суич?
2. Ако наистина всички адреси са публични то на дебианския рутер трябва да се разреши IP forwarding и да се опишат в рутинг таблицата на internet мрежите зад дебианския сървър. Въпроса за суича седи и тук...
3. Спря тока на кълбото ...  :p


Титла: Мост м/у eth1 i eth2
Публикувано от: KPETEH в Mar 15, 2008, 14:40
ха ха ха брадата кефиш ме ми то цялата схема е грешна
особео с eth2 който не е ясно на дебианската машина ли е или просто е пльоснат ей така за да запълни схемата :-)





Титла: Мост м/у eth1 i eth2
Публикувано от: p3tzata_ в Mar 15, 2008, 20:04
Момчето иска нещо просто, но явно не може да го обясни.
Но тои не знае, че аз мога да чета мисли   :)

Така той има web server с реално IP , но него не го закачаме.
После има комп. с линукс, който има релно IP 91.92.167.90 и gateway 91.92.167.1 на мрежова платка eth1, на който е подкарал интернета, това е добре.

Ти искаш да даваш интернет на други комп. от този линукс.

На платката eth2 слагаш ип 192.168.0.1 с маска 255.255.255.0 без gateway
На другите комп. слагаш ип-та от порядака на 192.168.0.х с gateway 192.168.0.1 и dns които ти е дал доставчика.
Следните команди трябва да ги испълниш на линукса
Примерен код

#iptables -F
#iptables -t nat -F
#iptables -t mangle -F
#iptables -X

#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to-source 91.92.167.90

iptables разбирасе трябва да бъде стартирана
трябва да добавиш
net.ipv4.conf.default.forwarding=1
в /etc/sysctl.conf
после
Примерен код
#sysct -p

И те съветвам да исползваш тази топология
Примерен код
                                                    debian router
internet (91.92.167.1)------switch------- eth1 (91.92.167.90)
                                         |                 |
                   web server с реално IP        |
                                                           | (връзката е вътре в машината)
                                                 eth2 (192.168.0.1)
                                                           |
                                                       switch
                                                         |  |
                                                         LAN
                                                     (192.168.0.X)


Би трябвало това да е...

П.П.

Никой няма да ти се кара, ако напишеш с латиница LAN, router, bridge даже е желателно, като аз направих едно предложение тук





Титла: Мост м/у eth1 i eth2
Публикувано от: ChochoD в Mar 15, 2008, 22:43
eth1 и eth 2 са в дебиан рутера.
luda_glava ме е разбрал най-точно. Подкарал съм нета на рутера през  eth1, като и локалната мрежа през eth2.

1. искам eth2 да взема нет от eth1
2. рутера да шейпва скороста към отделните IPта от мрежата 90.0.0.Х
3. Да филтрира достъпа до интернет на отделните IPта от мрежата 90.0.0.Х

общо взето това е което искам, но зациклих на 1ва точка още...

всичко което ми предлагате мога да го пробвам в понеделник (тъй като тогава съм на бачкане и мога да го пробвам и да дам отговор какво е станало).





Титла: Мост м/у eth1 i eth2
Публикувано от: VladSun в Mar 15, 2008, 22:56
http://www.linux-bg.org/cgi-bin/ib3/ikonboard.cgi?act=ST;f=6;t=16758


Титла: Мост м/у eth1 i eth2
Публикувано от: BRADATA в Mar 16, 2008, 18:40
Цитат (ChochoD @ Март 15 2008,23:43)
eth1 и eth 2 са в дебиан рутера.
luda_glava ме е разбрал най-точно. Подкарал съм нета на рутера през  eth1, като и локалната мрежа през eth2.

1. искам eth2 да взема нет от eth1
2. рутера да шейпва скороста към отделните IPта от мрежата 90.0.0.Х
3. Да филтрира достъпа до интернет на отделните IPта от мрежата 90.0.0.Х

общо взето това е което искам, но зациклих на 1ва точка още...

всичко което ми предлагате мога да го пробвам в понеделник (тъй като тогава съм на бачкане и мога да го пробвам и да дам отговор какво е станало).

Приятелю, съветвам те първо да попрочетеш нещо отгоре-отгоре за мрежовата топология и принцип на действие и едва тогава да сядаш да правиш такива сложни неща. Ще ти задам няколко въпроса (някои заяждачески, някои по същество):
1. Къде ще го "носи" този "нет" eth2 като го "вземе" от eth1?
2. "Скоростта" на какво трябва да се шейпва?
      2.1. Какво ще стане ако някой си сложи сам IP от мрежата 91.92.167.0/24 и това IP се окаже свободно?
3. Какво означава за теб "филтриране" на достъп?
      3.1. Какво ще стане ако някой си сложи сам IP от мрежата 91.92.167.0/24 и това IP се окаже свободно?


Не се обиждай, но "зациклянето" ти е породено именно от незнание, а за него не можеш да се оправдаваш защото на този сайт има няколко доста добри статии относно решаване  на мрежови проблеми.

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


Титла: Мост м/у eth1 i eth2
Публикувано от: ChochoD в Mar 17, 2008, 11:11
BRADATA,
1.eth2 трябва да взема нет от eth1 и да го пуска на lan-a 90.0.0.X.,
2. Скоростта на interneta на user-ите от lan-a (90.0.0.x)
3. филтъра е по IP и MAC





Титла: Мост м/у eth1 i eth2
Публикувано от: ChochoD в Mar 17, 2008, 11:49
Цитат (p3tzata_ @ Март 15 2008,21:04)
Момчето иска нещо просто, но явно не може да го обясни.
Но тои не знае, че аз мога да чета мисли   :)

Така той има web server с реално IP , но него не го закачаме.
После има комп. с линукс, който има релно IP 91.92.167.90 и gateway 91.92.167.1 на мрежова платка eth1, на който е подкарал интернета, това е добре.

Ти искаш да даваш интернет на други комп. от този линукс.

На платката eth2 слагаш ип 192.168.0.1 с маска 255.255.255.0 без gateway
На другите комп. слагаш ип-та от порядака на 192.168.0.х с gateway 192.168.0.1 и dns които ти е дал доставчика.
Следните команди трябва да ги испълниш на линукса
Примерен код

#iptables -F
#iptables -t nat -F
#iptables -t mangle -F
#iptables -X

#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to-source 91.92.167.90

iptables разбирасе трябва да бъде стартирана
трябва да добавиш
net.ipv4.conf.default.forwarding=1
в /etc/sysctl.conf
после
Примерен код
#sysct -p

И те съветвам да исползваш тази топология
Примерен код
                                                    debian router
internet (91.92.167.1)------switch------- eth1 (91.92.167.90)
                                         |                 |
                   web server с реално IP        |
                                                           | (връзката е вътре в машината)
                                                 eth2 (192.168.0.1)
                                                           |
                                                       switch
                                                         |  |
                                                         LAN
                                                     (192.168.0.X)


Би трябвало това да е...

П.П.

Никой няма да ти се кара, ако напишеш с латиница LAN, router, bridge даже е желателно, като аз направих едно предложение тук

p3tzata_, пробвах твоя вариант и топология но ето докъде стигнах:

/etc# iptables -F
/etc# iptables -t nat -F
/etc# iptables -t mangle -F
/etc# iptables -X
:/etc# iptables -t nat -A POSTROUTING -s 192.168.0.1/24 -o eth1 -j SNAT -to-source 91.92.167.90

Bad argument `91.92.167.90'
Try `iptables -h' or 'iptables --help' for more information.





Титла: Мост м/у eth1 i eth2
Публикувано от: neter в Mar 17, 2008, 12:55
Цитат
:/etc# iptables -t nat -A POSTROUTING -s 192.168.0.1/24 -o eth1 -j SNAT -to-source 91.92.167.90

Не, не така. Първо, пише се --to-source (с две тирета отпред) и второ, това е правилото, което ти трябва
Примерен код
/sbin/iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE

Това ще маскира цялата мрежа 192.168.0.0/24 (което значи с маска 255.255.255.0). По-добре е да изпълняваш това правило за всеки отделен хост. Пример
Примерен код
/sbin/iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.2 -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.5 -j MASQUERADE

Още, нужно е да направиш и нещата, които ти е описал luda_glawa и още, надявам се че си преправил схемата на мрежата да бъде такава, каквато ти казах ;)





Титла: Мост м/у eth1 i eth2
Публикувано от: ChochoD в Mar 17, 2008, 13:34
Сегашната топология е такава

                      web server с реално IP
                                         |          
                                         |                debian router
internet (91.92.167.1)----- switch ---- eth1 (91.92.167.90)
                                          
                                                      eth2 (192.168.0.1)--------switch--------LAN(192.168.0.X)
                                                       (eth1 и eth 2 са в дебиан рутера.)


Титла: Мост м/у eth1 i eth2
Публикувано от: ChochoD в Mar 17, 2008, 13:42
/sbin# /sbin/iptables -t -nat -A POSTROUTING -o eth2 -s 192.168.0.0/24 -j MASQUERADE
iptables v1.3.6: can't initialize iptables table `-nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.


Титла: Мост м/у eth1 i eth2
Публикувано от: kbanev в Mar 17, 2008, 13:56
Без (-) тирето при nat
Примерен код
/sbin/iptables -t nat -A POSTROUTING -o eth2 -s 192.168.0.0/24 -j MASQUERADE


Титла: Мост м/у eth1 i eth2
Публикувано от: ChochoD в Mar 17, 2008, 14:55
ок, всичко върви (засега).
сега стигаме до стъпка 2 - филтриране по IP i MAC...
Благодаря на всички потрудили се за да успея да направя bridge-a.


Титла: Мост м/у eth1 i eth2
Публикувано от: p3tzata_ в Mar 17, 2008, 15:03
Цитат (ChochoD @ Март 17 2008,15:55)
ок, всичко върви (засега).
сега стигаме до стъпка 2 - филтриране по IP i MAC...
Благодаря на всички потрудили се за да успея да направя bridge-a.

Аиде да пробваш с този файл и кажи дали е  станло
ето и съсържанието на файла:

Цитат

#!/bin/bash

IPTABLES=/usr/sbin/iptables #ili putja do tam
ARP=/sbin/arp

#user1
$IPTABLES -A FORWARD -s 192.168.0.2 -m mac --mac-source ! AA:BB:CC:DD:EE:FF -j DROP
$ARP -s 192.168.1.2 AA:BB:CC:DD:EE:FF
#za vseki potrebitel s IP

#Opiswane na ne izpolzwanite IP-ta
#с МАК -  00:00:00:00:00:00 ! Така:
$IPTABLES -A FORWARD -s 192.168.0.100 -m mac --mac-source ! 00:00:00:00:00:00 -j DROP
$ARP -s 192.168.1.100 00:00:00:00:00:00


Файла ако се казва filter.sh и се намира в папката /home/ivan
то той ще се стартира така

Примерен код
sh /home/ivan/filter.sh






Титла: Мост м/у eth1 i eth2
Публикувано от: ChochoD в Mar 17, 2008, 15:54
$IPTABLES -A FORWARD -s 192.168.0.14 -m mac --mac-source ! 00:10:60:5f:d0:f7 -j DROP
bash: /usr/sbin/iptables: No such file or directory





Титла: Мост м/у eth1 i eth2
Публикувано от: p3tzata_ в Mar 17, 2008, 16:00
Цитат (ChochoD @ Март 17 2008,16:54)
$IPTABLES -A FORWARD -s 192.168.0.14 -m mac --mac-source ! 00:10:60:5f:d0:f7 -j DROP
bash: /usr/sbin/iptables: No such file or directory

дай изхода от командата:
Цитат
whereis iptables


ако ти върне /sbin/iptables значи трябва във файла да промениш от /usr/sbin/iptalbes  на /sbin/iptables





Титла: Мост м/у eth1 i eth2
Публикувано от: ChochoD в Mar 17, 2008, 17:42
whereis iptables
iptables: /sbin/iptables /lib/iptables /usr/include/iptables.h /usr/share/man/man8/iptables.8.gz


Титла: Мост м/у eth1 i eth2
Публикувано от: p3tzata_ в Mar 17, 2008, 17:57
трябва във файла да промениш от /usr/sbin/iptalbes  на /sbin/iptables


Титла: Мост м/у eth1 i eth2
Публикувано от: ChochoD в Mar 17, 2008, 18:04
IPTABLES=/sbin/iptables
 ARP=/sbin/arp

$IPTABLES -A FORWARD -s 192.168.0.14 -m mac --mac-source ! 00:10:60:5f:d0:f7 -j DROP
$ARP -s 192.168.0.14 00:10:60:5f:d0:f7
bash: /sbin/arp: No such file or directory


Титла: Мост м/у eth1 i eth2
Публикувано от: neter в Mar 17, 2008, 18:22
Теб за всяка подробност ли трябва да те упътва човек? :) Нали грешката е същата като с iptables, значи и решението е същото. Влагай малко мисъл в нещата, които правиш ;)


Титла: Мост м/у eth1 i eth2
Публикувано от: ChochoD в Mar 17, 2008, 18:26
еми опитвам се...

xdigital-bg:~# whereis arp
arp: /usr/sbin/arp /usr/share/man/man8/arp.8.gz /usr/share/man/man7/arp.7.gz
xdigital-bg:~# ARP=/usr/sbin/arp xdigital-bg:~# $ARP -s 192.168.0.14 00:10:60:5f:d0:f7





Титла: Мост м/у eth1 i eth2
Публикувано от: p3tzata_ в Mar 18, 2008, 09:56
ChochoD, искам учтиво да те помоля първо да отвориш "тръсачката"

и по отделно да търсиш по следните думи:

1 - Рутер (може и на латински)
2 - Iptables
3 - ARP
4 - Shaping (може и на български)
5 - споделяне интернет


И да прочетеш всички теми които ти се отворят.


Титла: Мост м/у eth1 i eth2
Публикувано от: ChochoD в Mar 18, 2008, 17:08
потърсих днес в форума на ''shaping'' и "шейпинг" и освен моята тема видях още 2, но те не ми бяха от полза...





Титла: Мост м/у eth1 i eth2
Публикувано от: p3tzata_ в Mar 18, 2008, 18:02
Цитат (ChochoD @ Март 18 2008,18:08)
потърсих днес в форума на ''shaping'' и "шейпинг" и освен моята тема видях още 2, но те не ми бяха от полза...

ТИ ПРОСТО СИ УНИКАЛЕН

/off-topic

Ценен урок за използвУването на търсачката


В полето Ключови думи Се попълва думата,по която ще търсим
В полето Тип търсене Избираме по какво да търсим, желателно е да се избере Съобщение и теми
В полето Форуми Избираме в кои форуми да търсим, желателно е да се избере "<<All open forums"
В полето Търси в... Избираме в какво да търсим желателно е да се избере "Заглавие на теми и съобщение"
В полето Търси от Избираме периода от който да търсим желателно е да се избере "Началото"
И чак тогава натискаме бутона Търсене

Имам едни личен въпрос, ти да не си от град Шумен





Титла: Мост м/у eth1 i eth2
Публикувано от: ChochoD в Mar 19, 2008, 13:03
Ок, принципно пропуска ми беше, че не бях избрал най-долу "търси от началото", а само "последният месец"...
сега намерих доста повече инфо , даже прекалено много, което само ме обърка, да не говорим колко време още ще ми отнеме да прочета и всички линкове в постовете...
затова молих за конкретни решения, от някой който знае как да го направя. С помощта на netter и теб (p3tzata_) подкарах поне нета на LANa. За което съм ви много благодарен.

//офтопик: В момента на дневен ред е да подкарам шейп на скоростта по IP на юзърите от LANa. Ако тук не се намери кой да ми каже как става (но не с линкове, и отговори тип "намери в търсачката и прочети всичко) ще потърся помощ от други форуми, било и англоговорящи. Все в някой  ще се намери някой да ми  помогне, както тук ми помогнахте в началото.

П.С. не , не съм от Шумен, а от София.





Титла: Мост м/у eth1 i eth2
Публикувано от: p3tzata_ в Mar 19, 2008, 14:36
Ако си с Ubuntu ключовата тема е тази

но ако не си, ключовите думи са cbq.init или htb.init
Повечето диствибуци са със вградени шеипъри, въпроса е да го откриеш кои е за твоита, но принципа на действие е еднакъв

И няма да се отчайваш, четене и търсене му е майката

Ако си с Fedora пращай ми лични съобщения, ще ти помагам с каквото мога  ;)





Титла: Мост м/у eth1 i eth2
Публикувано от: ChochoD в Mar 19, 2008, 14:59
С Debian съм(на работата). На домашното РС съм с ubuntu и win Vista (не мога да съм само с линукс защото имам тунер , който не мога да подкарам под линукс, въпреки указанията който са писани точно за моя модел и за убунту; също така и ползвам active sync за pocket PC и го синхронизирам, но за това не съм и чел още дали има еквивалент в линукс), но не ми се е налагало да правя никога рутер.