Форум: Networking
Тема: рутер
Автор: dlx

Мнение от dlx пуснато на Февруари 19 2007, 20:45
здравейте отново, пак като начинаещ ми изникна едно проблемче и се надявам някой по - търпелив да ми отговори. Включих си рутирането, позволих ipforward в sysctl.conf и всичко върви прекрасно до следващия рестарт. Изчетох повечето теми във форума, но тъкмо когато дискусията стигне до момента с автоматизирането и темата се прекъсва. С Ubuntu  6.04 server съм. Предполагам трябва да се сложи някой изпълним файл в rc.local, но само съм чел за това в две-три книги и ми е "почти" ясно само на теория-на практика нямам представа какво точно да направя. Надявам се някой да даде по-ясни насоки какво да направя, без да оплескам всичко за пореден път. През това време наблягам пак на теорията - дано изгрее нещо в главата ми. :6;
Мнение от nikolavp пуснато на Февруари 19 2007, 21:45
Мисля, че трябва да дадеш малко повече инфо:) какво слагаш в /etc/sysctl.conf? След като рестартираш компютъра interface-ите дигнати ли са
Код: 
ifconfig -a
След рестарта дай един изход от
Код: 
cat /proc/sys/net/ipv4/ip_forward
Ако не знаеш за какво ти говоря а и въобще хвърли един поглед на < http://www.gentoo.org/doc/en/home-router-howto.xml >

Мнение от quintessence пуснато на Февруари 19 2007, 22:47
Цитат:  (nikolavp @ Февруари 19 2007,21:45)

Мисля, че трябва да дадеш малко повече инфо:) какво слагаш в /etc/sysctl.conf? След като рестартираш компютъра interface-ите дигнати ли са
Код: 
ifconfig -a
След рестарта дай един изход от
Код: 
cat /proc/sys/net/ipv4/ip_forward
Ако не знаеш за какво ти говоря а и въобще хвърли един поглед на < http://www.gentoo.org/doc/en/home-router-howto.xml >

Потребителят пределно ясно е казал какъв е проблемът му ... че след рестартиране на системата му настойките за рутиране не се load-ват. Не смятам , че ще му е необходим tutoril-а ,който си му предложил .
Също така е казал какво е задал със sysctl-то

@dlx - да, правилно си се насочил към rc.local . Идеята е ,че трябва да ти се пускат настройките , които си задал за рутирането по време на стартиране на системата . Това ще стане като в rc.local зададеш необходимите неща , а те именно са - настройките ти на firewall-a :)
В /etc/sysctl.conf пред net.inet.ip.forwarding не трябва да има отметка (т.е да няма #) и да има стойност 1 :)
Остава да кажеш какъв software ползваш за firewall - предполагам iptables - но това ти ще кажеш :) При всички положения вариантите са 2
Конфигурационният файл на firewall-а при зареждане на системата съответния firewall трябва да го извиква , за да зареди направените от теб настройки .
Или да се направи скрипт със съдържанието на конфигурационния файл + добавяне на пътища до firewall-a и start/stop или там каквито опции има , за да може когато се изпълнява този скрипт , да знае кое приложение го ползва и какви ще са параметрите за стартирането му.

С две думи : кажи какъв firewall ползваш и дали конфигурационният му файл съдържа само правила , които се изпълняват ; или пък е скрипт с вече споменатите от мен неща :)

Мога да те насоча от сега . Приемаме ,че със зареждане на системата искаме да стартираме приложението X с конфигурационен файл X.conf ; приложението X се намира примерно в /sbin , а конфигурационния му файл в /etc

То тогава следното съдържание трябва да бъде добавено в rc.local

Код: 
if -x [ /sbin/X ]; then
         /sbin/X -f /etc/X.conf
fi


Сега нека приемем , че имаме скрипт , който генерира някакви правила за дадено приложение , зададени са пътища до приложението , зададени са и съответните опции (които да речем по default няма да се зареждат със скрипта, ако не сме ги задали) ... Нека имаме скрипт Y ,който се намира в /home и сме му задали опции за start/stop примерно

То тогава в rc.local ще имаме
Код: 
if -x [ /home/Y ]; then
         /home/Y start
fi



:)

Мнение от dlx пуснато на Февруари 20 2007, 08:16
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
махнах # в sysctl.conf - net/ipv4/ip_forward=1 - разрешена е обмяната на пакети. След това изпълнявам
sysctl -p /etc/sysctl.conf резултата е 1, което мисля, че е ок.
След това
/etc/init.d/procps.sh restart
и нета тръгва по DHCP за всичкимашини.  за iptables използвам само това, което е по-горе, т.е. не съм дал никакви по -специални инструкции. Това е и всичко, което открих във форума на самото убунту. ако трябва още някакво инфо - моля кажете ми за да го дам.
благодаря на всички за помоща

Мнение от nikolavp пуснато на Февруари 20 2007, 17:46
Цитат:  (quintessence @ Февруари 19 2007,22:47)

Цитат:  (nikolavp @ Февруари 19 2007,21:45)

Мисля, че трябва да дадеш малко повече инфо:) какво слагаш в /etc/sysctl.conf? След като рестартираш компютъра interface-ите дигнати ли са
Код: 
ifconfig -a
След рестарта дай един изход от
Код: 
cat /proc/sys/net/ipv4/ip_forward
Ако не знаеш за какво ти говоря а и въобще хвърли един поглед на < http://www.gentoo.org/doc/en/home-router-howto.xml >

Потребителят пределно ясно е казал какъв е проблемът му ... че след рестартиране на системата му настойките за рутиране не се load-ват. Не смятам , че ще му е необходим tutoril-а ,който си му предложил .
Също така е казал какво е задал със sysctl-то

@dlx - да, правилно си се насочил към rc.local . Идеята е ,че трябва да ти се пускат настройките , които си задал за рутирането по време на стартиране на системата . Това ще стане като в rc.local зададеш необходимите неща , а те именно са - настройките ти на firewall-a :)
В /etc/sysctl.conf пред net.inet.ip.forwarding не трябва да има отметка (т.е да няма #) и да има стойност 1 :)
Остава да кажеш какъв software ползваш за firewall - предполагам iptables - но това ти ще кажеш :) При всички положения вариантите са 2
Конфигурационният файл на firewall-а при зареждане на системата съответния firewall трябва да го извиква , за да зареди направените от теб настройки .
Или да се направи скрипт със съдържанието на конфигурационния файл + добавяне на пътища до firewall-a и start/stop или там каквито опции има , за да може когато се изпълнява този скрипт , да знае кое приложение го ползва и какви ще са параметрите за стартирането му.

С две думи : кажи какъв firewall ползваш и дали конфигурационният му файл съдържа само правила , които се изпълняват ; или пък е скрипт с вече споменатите от мен неща :)

Мога да те насоча от сега . Приемаме ,че със зареждане на системата искаме да стартираме приложението X с конфигурационен файл X.conf ; приложението X се намира примерно в /sbin , а конфигурационния му файл в /etc

То тогава следното съдържание трябва да бъде добавено в rc.local

Код: 
if -x [ /sbin/X ]; then
         /sbin/X -f /etc/X.conf
fi


Сега нека приемем , че имаме скрипт , който генерира някакви правила за дадено приложение , зададени са пътища до приложението , зададени са и съответните опции (които да речем по default няма да се зареждат със скрипта, ако не сме ги задали) ... Нека имаме скрипт Y ,който се намира в /home и сме му задали опции за start/stop примерно

То тогава в rc.local ще имаме
Код: 
if -x [ /home/Y ]; then
         /home/Y start
fi



:)
А може би ако беше дал декларацията на net.ipv4.ip_forward = 1, щяхме направо да я изключим като причина или да му кажем опцията, защото той каза че е пипал по този файл. Може би и howto-то ще му даде идея за нужните опции за firewall-a? Може би в този пост ненужно нападаш. Може би всички тези правила в скриптовете и така нататък са ненужни ако използва пакета iptables на ubuntu, който запазва правилата с едно просто /etc/init.d/iptables(ако е така) save.
ПОЗДРАВИ!!!



Мнение от dlx пуснато на Февруари 20 2007, 23:29
Преди да се пробвам със скриптовете на този етап ще пробвам с /etc/init.d/iptables save и ще дам резултата веднага. Рано или   късно сигурно ще се наложи да се пробвам и с писане на скриптове - ще падне четене и нещастни опити.
Засега се надявам това да проработи, ако не - вече не се притеснявам толкова много да питам.
Поздрави на всички участници в linux-index.
Това определено е най-отзивчивия форум, в който съм влизал
:28;

Мнение от quintessence пуснато на Февруари 21 2007, 01:10
Толко ли съм лоша , че всеки си мисли , че се заяждам  :14;  :21;  :29;
:P

Потребителят написа за проблема си :) От това, което е написал следва ,че firewall-a е настроен ( просто при рестартиране на системата настройките не се load ) :P

П.С. stumps сложи ми под nickname-a (или с ГОЛЕМИ БУКВИ под аватара) едно "LI заяждач" барем да мирясят всички  :33;  :12;



Мнение от dlx пуснато на Февруари 21 2007, 20:12
въведох /etc/init.d/iptables save но нищо не се получи - този файл не съществува в инсталацията, която ползвам. след това създадох изпълним файл, дадох му име internet  и го съхраних в /home. като съдържание на файла въведох командите, описани по - горе, които карат рутера да дава нет и на останалите компютри. в /etc/init.d/rc.local добавих следните редове, както ме посъветвахте. съвсем за първи път бъркам там и вероятно нещо сгреших защото магията не се получи и при рестартиране настройките пак не се възстановиха автоматично. редовете в rc.local:
if -x [/home/internet;
then
       /home/internet start
fi
тъй като нищо не се получи, засега съм на вариант при рестарт да изпълнявам ./internet, което е някакси много неудобно. моля да продължите да ме съветвате, ще се радвам на всяко мнение по въпроса

Мнение от nikolavp пуснато на Февруари 21 2007, 21:26
Цитат:  (dlx @ Февруари 21 2007,20:12)

въведох /etc/init.d/iptables save но нищо не се получи - този файл не съществува в инсталацията, която ползвам. след това създадох изпълним файл, дадох му име internet  и го съхраних в /home. като съдържание на файла въведох командите, описани по - горе, които карат рутера да дава нет и на останалите компютри. в /etc/init.d/rc.local добавих следните редове, както ме посъветвахте. съвсем за първи път бъркам там и вероятно нещо сгреших защото магията не се получи и при рестартиране настройките пак не се възстановиха автоматично. редовете в rc.local:
if -x [/home/internet;
then
       /home/internet start
fi
тъй като нищо не се получи, засега съм на вариант при рестарт да изпълнявам ./internet, което е някакси много неудобно. моля да продължите да ме съветвате, ще се радвам на всяко мнение по въпроса

Виж дали има нещо подобно в /etc/init.d/ диреkторията трябва да е там.
Относно редовете в rc.local пробвай:
Код: 
if [ -f /home/internet ];then
      if [ -x /home/internet ];then
           /home/internet start
      else
           chmod +x /home/internet
           /home/internet start
      fi
else
      echo "The file /home/internet cannot be found"
fi

Понеже си написал, че когато искаш да изпълниш скрипта пишеш ./internet в такъв случай махни аргумента start и на двете места отгоре и пробвай така ако имаш аргумент "start" го остави.Решението не е много красиво, затова те съветвам да потърсиш скрипта, или опитай
Код: 
iptables-save
и сложи после в rc.local едно
Код: 
iptables-restore
и си готов.
П.С. Понеже гледам, че имаш само едно "правило" и то е само за маскиране все пак погледни howto-то, което ти дадох и колежката каза, че е ненужно.



Мнение от dlx пуснато на Февруари 21 2007, 22:05
благодаря. ще изпробвам този вариант и ще съобщя за резултата. но в /etc/init.d не видях такава директория или файл или нещо, което да съдържа iptables в името си. мисля, че задодох ls -a, но нещо не съм съвсем сигурен. ако е бил скрит ще го проверя, но мисля, че го няма. ще съобщя резултата и ако нещо пак объркам - ще питам отново
Мнение от dlx пуснато на Февруари 22 2007, 12:03
въведох в rc.local горните редове и всичко е ок. сега захващам iptables. В /etc/init.d няма iptables или нещо, което да ме наведе на мисълта, че има връзка.
Благодаря отново за помоща, която ми оказахте.

Мнение от tolostoi пуснато на Февруари 22 2007, 12:17
Може просто в rc.local преди последният ред да си напишеш правилата които искаш да се изпълняват, то е също все едно си ги написал на ръка,след рестарт те ще се изпълнят (ако не е достатъчно елегантно за теб го направи по друг начин)
Мнение от dlx пуснато на Февруари 27 2007, 08:00
съжалявам, че отговарям със закъснение но пътувах из страната.
правилата трябва да ги изясня за себе си, за да знам какво точно правя и искам да направя. естествено това е форума към който ще се обръщам за помощ от тук нататък, ако имам някакви проблеми - засега няма аналог в българското пространство и хората тук знаят какво е да се занимаваш с нещо за първи път.
отново поздрави и благодаря на всички участници в linux-index project :28;

Powered by ikonforums 1.0.0 © 2006 ikonforums