share internet connection
Lucian Adrian Grijincu
lucian.grijincu la gmail.com
Lun Ian 5 16:18:54 GMT 2009
Salut,
îți trimit atașat un script pe care îl rulez eu pentru a ruta wireless
o conexiune prin dhcp sau pppoe (trbuie să modifici variabile IFACE
pentru a selecta ppp0 sau eth0 sau care o fi numele interfeței pe care
ești legat la internet).
Mie îmi merge bine între plăci wireless intel. N-am reușit să-l fac să
meargă când clientul wireless are o placă broadcom - nu cred că e din
cauza scriptului.
Îți sugerez să scoți wireless-ul din NetworkManager pe server (Click
dreapta pe iconița nm-applet, debifează „Activează Rețeaua fără fir"),
altfel NetworkManager va încerca să modifice el configurațiile
interfeței wireless.
Folosește scriptul atașat nu ce e în email, am mai introdus comentarii
în corpul emailului și s-ar putea să fi stricat ceva.
ATENȚIE: citește bine ce face scriptul ăsta, s-ar putea să-ți strice
configurații de-ale tale:
* suprascriu /etc/dhcp3/dhcpd.conf și /etc/default/dhcp3-server
* modific tabelele de iptables
* cine știe ce altceva.
S-ar putea să ai nevoie să modifici anumite variabile sau parole.
Scriptul ăsta configurează și un server de dhcp pe calculatorul meu
care va da adrese din spațiul
[192.168.5.100 .. 192.168.5.200] clienților wireless. Poți renunța la
serverul DHCP și clienții wireless vor trebui să-și seteze adrese IP
manual. Va trebui să modifici serverul de DNS și domain-name-ul: pune
ce ai tu în /etc/resolv.conf.
calculatorul care routează are adresa 192.168.5.1.
Am configurat NAT peste rețeaua writeless, și am dat drumul la
forwardarea de pachete.
Am pus reguli în iptables pentru a modifica TTL-ul pachetelor: ISP-ul
meu îmi trimite pachete cu TTL = 1, și nu ajung până la hopul următor
și se descotorisește de toate pachetele care vin de la un hop în plus.
#!/bin/bash
# asta e interfata wireless
WIFI=wlan0
#SSID-ul și parola pentru wireless.
SSID=mimititi
PASS=55555
# ip-urile pe rețeaua wireless sunt din spațiul de adrese [192.168.5
.. 192.168.255]
SUBNET=192.168.5
# interfața prin care ești conectat la internet.
IFACE=eth0
#IFACE=ppp0
disable_wpa_roaming()
{
if [ $(ps -e | grep wpa_supplicant | wc -l) -ge 1 ] ; then
echo "Disabling WPA roaming..."
wpa_action $WIFI stop
fi
}
configure_ad_hoc_wireless_card()
{
echo "Configuring wireless link..."
/sbin/iwconfig $WIFI mode ad-hoc essid $SSID channel 1
/sbin/iwconfig $WIFI key s:$PASS
}
configure_interface_address()
{
echo "Configuring interface address..."
/sbin/ifconfig $WIFI $SUBNET.1 netmask 255.255.255.0
sleep 2
/sbin/ifconfig $WIFI up
}
activate_nat()
{
echo "Activating NAT..."
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -F
/sbin/iptables -t nat -A POSTROUTING -s $SUBNET/24 -o $IFACE -j MASQUERADE
}
mangle_ttl()
{
echo "Mangling TTL..."
iptables -t mangle -A PREROUTING -i $IFACE -j TTL --ttl-inc 1
iptables -t mangle -A POSTROUTING -j TTL --ttl-set 64
}
configure_dhserver()
{
echo "Configuring DHCP server..."
local DHCPSERVER_INTERFACES=/etc/default/dhcp3-server
local DHCPSERVER_CONF=/etc/dhcp3/dhcpd.conf
cp $DHCPSERVER_INTERFACES $DHCPSERVER_INTERFACES.back
echo 'INTERFACES="'$WIFI'"' > $DHCPSERVER_INTERFACES
cp $DHCPSERVER_CONF $DHCPSERVER_CONF.back
echo 'subnet '$SUBNET'.0 netmask 255.255.255.0 {
range '$SUBNET'.100 '$SUBNET'.200;
option domain-name-servers 141.85.0.81, 141.85.0.82;
option domain-name "p16.eregie.pub.ro";
option routers '$SUBNET'.1;
option broadcast-address '$SUBNET'.255;
default-lease-time 600;
max-lease-time 7200;
}' > $DHCPSERVER_CONF
}
disable_wpa_roaming
configure_ad_hoc_wireless_card
configure_interface_address
activate_nat
mangle_ttl
configure_dhserver
/etc/init.d/dhcp3-server restart
--
.
..: Lucian
-------------- partea urmãtoare --------------
Un ataÅŸament non-text a fost ÅŸters...
Nume: ubuntuw.sh
Tip: application/x-sh
Mărime: 1810 octeţi
Desc: indisponibil(ă)
Url : https://lists.ubuntu.com/archives/ubuntu-ro/attachments/20090105/54bbc9c6/attachment-0001.sh
Mai multe informaþii despre lista de discuþii ubuntu-ro