#/bin/bash или Zoomaster ...или кое е общото

Защо Linux? Защо Debian? Защото с конзола е лесно! | Споделяне на Интернет чрез iptables
  
Събота, 06 Ноември 2010г. 18:55ч.

Защото с конзола е лесно!

Такаааа, от къде да започна?

Преди време ми се наложи да направя нещо много странно, а именно да споделям по кабел интернет между 2 стационарни компютъра (да се разбира десктопи). До тук лесно, ако Интернета пристига също по кабел - един суич и готово! Да ама не! В случая Интернета  идваше отдалечено през Wi-Fi. Сигнала се приема от PCI-адаптор на дъното на единия десктоп и към него има свързана насочена усилвателна антена 12 dB.  Да сложа същата карта и антена и надругия десктоп беше идея, но много скъпа. Ясно беше, че ще използвам възможностите които предоставя Linux за споделяне на мрежа.

Как се прави?  В графична среда опитах - не е като да не съм, и се замотах в някакви интефейси, кой от кой по-неразбираем. И тогава дойде на помощ добрата стара конзола - най-мощния инструмен в Linux.

  1. Свързваме двата десктопа с кабел през eth интерфейсите им
  2. Задаваме локална мрежа, със  статични ip адреси в /etc/network/interfaces, и на двата десктопа
  3. Остава рутирането на мрежовите интерфейси на десктопа с Wi-Fi PCI - адаптор-а. Изпълняваме последователно следните команди:

#iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT

#iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

#iptables -t mangle -A PREROUTING -i wlan0 -j TTL --ttl-set 64

Вече тябва да има Интернет на машината без Wi-Fi. За да се изпълняват тези команди автоматично, при всяко стартиране на на компютъра с Wi-Fi PCI - адаптор-а, се прави скрипт, който се записва като изпълним текстов файл. Ето го и него:

#!/bin/bash

iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -t mangle -A PREROUTING -i wlan0 -j TTL --ttl-set 64

Преместваме го в /etc/rc.*d/ в зависимост от това колко секунди след стартиране на системата искаме да се изпълни или добявяме последните три реда в в /etc/rc.local за незабавно изпълнение. Аз лично направих второто.

Важно!!! Скриптът рутира мрежата от eth0 към wlan0 интерфейс!!! Ако искате при вас да е по друг начин, просто им сменете имената с тези които ще пренасочвате вие.

Наистина е лесно, нали?

Edit. Последния ред на скрипта е за "умни" доставчици на Интернет, които не позволяват рутиране.

 

Коментари  

 
0 #1 Ники 2013-05-08 02:50
"Вече тябва да има Интернет на машината без Wi-Fi."

ТРябва, ама няма!
Цитиране | Докладвай на администратор
 

Добави коментар


Защитен код
Обнови

Моята фирма

Зоовет трейдинг

Абонирай се!

Абонирай се за целия блог!

Абонирай се само за Open Source статии!

Абонирай се само за ветеринарни статии!