#/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. Последния ред на скрипта е за "умни" доставчици на Интернет, които не позволяват рутиране.

 

Коментари  

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

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

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


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