Som opfølgning på:
http://www.hol.dk[...]
Her følger en howto i at lave en trådløs linux router:
Min distribution er Gentoo, men det skulle kunne lade sig gøre med enhver moderne distribution.
Forudsætninger:
Det er ikke alle trin der er strengt nødvendige, så hvis man eks. ikke skal have trådløs understøttelse kan man springe den del over
Følgende forudsætninger skal være opfyldt:
Linux maskinen skal være konfigureret til at være på nettet
Følgende skal være installeret i en virkende stand:
iptables
dhcp
brifgeutils
Et trådløst netkort der understøtter master mode (som eks. target=_blank>
http://www.edbpriser.dk[...]
En dhcp server, hvis du vil anvende dhcp (bruger selv
http://developer.berlios.de[...]
)
2 netkort skal være installerede, hvoraf det ene skal være forbundet til internet.
.........Dhcp.................
Hvis du har valgt den anbefalede dhcp server, skal du hente filen dhcpd.conf. Dette gøre med kommandoen:
'wget
http://83.88.144.243[...]
Filens indhold er:
-------------------------------------------------------------------
ddns-update-style ad-hoc;
subnet 192.168.0.0 netmask 255.255.255.0
{
range 192.168.0.1 192.168.0.99;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.100;
option domain-name-servers 212.10.10.4;
default-lease-time 7200;
max-lease-time 86400;
host steffen
{
hardware ethernet 00:11:09;5E:A7:71;
fixed-address 192.168.0.1;
}
}
--------------------------------------------------------------------
Ret nu filen, så den passer til dit ønskede setup, det eneste der er vigtigt at rette er linjen
'option domain-name-servers 212.10.10.4;' da jeg ikke tror man kan tilgå denne navneserver fra alle ip´er.
Under linjen 'host steffen' kan der ses et eksempel på fast allokering af ip adresser.
Kopier filen over til '/etc/dhcp/' med kommandoen 'cp ./dhcpd.conf /etc/dhcp/dhcpd.conf' og genstart dhcp serveren med kommandoen '/etc/init.d/dhcp restart' Hint: Der kan forekomme afvigelser, da ikke alle Linux distributioner (eks. slackware) anvender samme opstartsmetoder.
1.......Trådløs understøttelse...............
Nu skal vi have forbundet det trådløse netkort med det trådede, dette gør med en 'bro'
hent filen myap fra 83.88.144.243 med kommandoen 'wget 83.88.144.243/myap'
Filens indhold er:
---------------------------------------------------------------
#/bin/sh
modprobe bridge
#Set the card in master mode
iwconfig ath0 mode master
iwconfig ath0 essid "vinter"
iwconfig ath0 key s:vinter
iwconfig ath0 key on
#Create the bridge
brctl addbr br0
brctl addif br0 ath0
brctl addif br0 eth1
ifconfig ath0 0.0.0.0
ifconfig eth1 0.0.0.0
ifconfig br0 192.168.0.100
----------------------------------------------------------------
Rediger nu filen, så den passer til dine behov, dvs. lav navnet på accesspointet om (essid´et)
Lav krypteringsnøglen om (key´en)
Dernæst skal du ændre navnene til netkortene (i mit tilfælde 'ath0' og 'eth1' hint: se dine netkort med ifconfig for trådede, og iwconfig for trådløse). Det er vigtigt, at det trådede netkort du vælger, er det der peger på dit lokalnetværk.
Nu skulle du gerne have gkort følgende:
* Ændret filen, så navnet på access pointet er rigtigt
* Ændret filen, så koden er en du selv har valgt
* Ændret filen, så navnene på netkortene er korrekte.
Gør nu filen eksekverbar med kommandoen 'chmod +x ./myap' og eksekver den med kommandoen './myap; /etc/init.d/dhcp restart' Grunden til vi genstarter dhcp, er at den ellers ikke tildeler adresser på den nyoprettede bro, hvis du anvender samba, skal du også genstarte denne.
Når kommandoen køres, mister du din forbindelse til serveren, der går dog kun ca. 5 sekunder, så er den klar igen.
1.......Selve routerdelen...............
Nu skal vi have lavet selve routerdelen, hent filen myrouting med kommandoen
'wget
http://83.88.144.243[...]
Filens indhold er:
----------------------------------------------------------------------
#!/bin/sh
EXT_IP="83.88.144.243"
LAN_NET="192.168.0.0/24"
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe iptable_nat
modprobe ipt_MASQUERADE
modprobe ip_nat_ftp
#Stopper forwarding
echo 0 > /proc/sys/net/ipv4/ip_forward
#Flusher etc.etc.
/sbin/iptables -t nat -F
/sbin/iptables -F
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P INPUT DROP
#Accepter traffik til localhost og lan
/sbin/iptables -A INPUT -s 127.0.0.1 -j ACCEPT
/sbin/iptables -A INPUT -s $LAN_NET -j ACCEPT
#Accepter traffik til ssh
iptables -A INPUT -m state --protocol tcp --state NEW --destination-port 22 -j ACCEPT
# Source NAT alle LAN connections til vores externe IP, hvis
# trafikken fra disse ikke er til en af vores LAN IP net.
/sbin/iptables -t nat -A POSTROUTING -s $LAN_NET -d ! $LAN_NET -j SNAT --to $EXT_IP
# Tillad derefter trafik vi selv har sat igang at komme igennem
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Her ses et eksempel på at forwarde porte, hvis du vil dette, skal du fjerne # foran hver linje,
ændre ip adresserne, og køre scriptet igen.
#iptables -A INPUT -p udp --destination-port 7990:20999 -j ACCEPT
i#ptables -A INPUT -p tcp --destination-port 7990:20999 -j ACCEPT
i#ptables -t nat -I PREROUTING -p tcp --dport 7990:20999 -j DNAT --to-destination 192.168.0.1
i#ptables -t nat -I PREROUTING -p udp --dport 7990:20999 -j DNAT --to-destination 192.168.0.1
# Forwarding startes.
echo 1 > /proc/sys/net/ipv4/ip_forward
----------------------------------------------------------------------
Det eneste du skal ændre med denne konfiguration er, at ændre linje 1 og 2, så ip´erne passer til dit setup. Læg mærke til LAN_NET ip´en, det er vigtigt du beholder syntaksen.
Gem filen og gør den eksekverbar med kommandoen
'chmod +x ./myrouting'
Kør nu filen med kommandoen
'./myrouting'
Og din nye linux router skulle nu fungere.
Jeg har vagt ikke at fortælle om, hvordan du starter dette ved maskinstart, da det er meget individuelt fra distribution til distribution, så hvis du ønsker dette, så RTFM istedet for at kontakte mig, alle andre spørgsmål er velkomne, det er dog ikke sikkert jeg kan besvare dem, og da jeg læser til eksamen for tiden, er det muligt der går lidt mere end 5 minutter før jeg svarer, dette skal ikke ses som en invitation til at sende mig flere mails, en er ganske udermærket, jeg svarer når jeg har tid.
Held og lykke
--
Jeg repræsenterer mig selv ved dette svar, og ikke min hund.
My crime is that of curiosoty.
The Mentors manifest