Hur konfigurerar jag nätverket?

Här skriver vi våran FAQ. Vill du komma med förslag, skriva själv eller rätta stavfel så gör det här. Någorlunda färdiga frågor komer att läggas i forumet FAQ.
Post Reply
User avatar
Emil.s
Posts: 4366
Joined: 24 May 2005, 22:22
Location: Hedemora/Dalarna
Contact:

Hur konfigurerar jag nätverket?

Post by Emil.s » 18 October 2006, 21:20

Det finns några program som används i första hand:
ifconfig
route
iwconfig
dhcpcd
dhclient
ip

För mer info om dem så finns manualsidorna. "man xxx"...

LAN:

Använda DHCP
Den vanligaste (och enda?) typen av automatiska inställningar kallas för DHCP (Dynamic Host Configuration Protocol).
Det finns flera DHCP klienter, både bättre och sämmre.
En vanlig och bra klient är "dhcpcd". Den finns inte alltid installerad, men finns oftast i pakethanteraren.
En annan är "dhclient". Problemet med den är att det inte alltid funkar så bra ihop med Windows.

För att konfugurera nätverket med DHCP så gör du såhär:

dhcpcd:

Code: Select all

dhcpcd *inteface*
dhclient

Code: Select all

dhclient *interface*
"*inteface*" ska såklart ersättas med ditt nätverkskort. Om du inte vet vad det heter se nedan.


Hur vet jag vad mitt nätverkskort heter?
Det finns flera bra sätt att ta reda på det.

Det enklaste är att bara köra "ifconfig -a". Då borde du få upp en lista.

Code: Select all

ifconfig -a

Mitt kort hittas inte!
Har du kompilerat kärnan själv så ska du försäkra dig om att du har tagit med drivrutiner för ditt kort. Eller testa med en "standard kärna".
Skulle det ändå inte funka så kan man börja med att kolla på tillverkarens hemsida och se om det finns drivrutiner där.

Vet du inte vad kortet heter kan du använda "lspci" och/eller "lshw".

Finns det inte drivrutiner på tillverkarens hemsida kan det bli problem. Testa att söka på Google.com/linux efter "kortnamn + linux". Har du tur är det någon som har lyckats få igång det på något annat sätt. :)


Lägg till egna hostnames
Om du vill att det ska funka att gå in på "http://servern" för att gå in på servern som har IP: 192.168.0.45 så är det i /etc/hosts du ska ändra.
Lägg bara till en rad som "127.0.0.1 localhost".
Ett exempel:

Code: Select all

root@hostname: /home/emil # cat /etc/hosts
127.0.0.1       localhost
192.168.49.78    servern

Ändra datorns hostname:
I de flesta distar är det bara att öppna filen "/etc/hostname" och ändra.
Det finns bara en rad, som ska bestå av ett ord.
Exempel:

Code: Select all

root@hostname: / # cat /etc/hostname
hostname
Men i tex Fedora, så ändrar man i /etc/sysconfig/network


Mitt kort hittas. Hur ställer man in IP, Gateway osv?
för att ställa in IP-nummret använder du ipconfig:

Code: Select all

ifconfig *interface* 192.168.0.1
Vill du ändra nätmasken gör du såhär:

Code: Select all

ifconfig *interface* 192.168.0.1 netmask 255.255.0.0
Ställa in Gateway:

Code: Select all

route add default gw 127.0.0.1
127.0.0.1 ska såklart ersättas med Gatewayens adress.

Ställa in DNS-servrar:
Det görs i filen "/etc/resolv.conf"
Vill du använda tex 123.456.789.000 som DNS så lägger du bara till raden:
"nameserver 123.456.789.000"

Ett exempel:
/etc/resolv.conf wrote:root@Sandnabba: / # cat /etc/resolv.conf
nameserver localhost
nameserver 123.456.789.000
nameserver 187.499.31.7

Flera NICs: Använda datorn som router:
Har man flera nätverkskor kan man använda datorn som router.

Har du 2 interna nät kan du agera router mellan dem. För att det ska funka räcker det med slå på "packet forwarding".
Kör detta som root:

Code: Select all

echo 1 > /proc/sys/net/ipv4/ip_forward
Detta måste köras vid varje omstart. Vill du att det ska funka automatisk kan du ändra en rad i /etc/sysctl.conf.
Leta reda på raden "net.ipv4.ip_forward = 0", och ändra 0 till 1.


Om du har ett internt nätverk, och ett externt. Alltså ett NIC med din externa IP, så lär du använda iptables.

Börja med att lägga till en regel som släpper ut trafiken från det interna nätverket:

Code: Select all

/sbin/iptables -A FORWARD -i ethX0 -j ACCEPT
Sen lägger du till en som släpper tillbaka svarstrafiken:

Code: Select all

/sbin/iptables -t nat -A POSTROUTING -o ethX1 -j MASQUERADE
X0 och X1 ska såklart bytas ut som dina nätverkskorts namn.
X0 ska vara ditt interna kort. X1 ska vara ditt externa

Dett gäller tills du startar om datorn. Vill du att det ska köras när du starar så är det bara att skriva ett bash script. (Kommer kanske sen...)


Läs mer om iptables och säkerhet här:
http://tingeling.dyndns.org/tekla/linux ... index.html
http://www.netfilter.org/projects/iptables/index.html
http://iptables-tutorial.frozentux.net/ ... orial.html


WLAN:
WLAN kan ibland vara mycket knepigt att få igång i Linux.

Det mesta, som DNS, Gateway, hostnames osv ställs in på samma sätt som
för LAN.
Men när man ställer in IP nummret så är det anorlunda. Då används "iwconfig".

Hur får man igång kortet?
Testa att köra "iwconfig":

Code: Select all

root@Sandnabba: ~ # iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     unassociated  ESSID:off/any
          Mode:Managed  Channel=0  Access Point: 00:00:00:00:00:00
          Bit Rate=0 kb/s   Tx-Power:off
          Retry:on   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
Om kortet hittas så fortsätt med nästa punkt.
Om inte, se LAN delen om kort som inte hittas.

Ställa in IP-adress osv

"man iwconfg"! :D
Skojja bara. :P


Bondning:
Hur får man igång Bonding (2 el. fler NIC's sammankopplade): Skrivet av "gramse"

Du behöver ha bonding driver support med i kärnan.
För 2.4.x kärnan:

Code: Select all

# cd /usr/src/linux-2.4.x
# make menuconfig
# Network device support
   [*] Network device support
     [*] Bonding driver support
# make dep
# make bzImage
# make modules (om du har med modulstöd i kärnan)
# make modules_install (om du har med modulstöd i kärnan)
# cp arch/i386/boot/bzImage /boot/mykernel
# cp System.map /boot
För 2.6.x kärnan:

Code: Select all

# cd /usr/src/linux-2.6.x
# make menuconfig
   Device Drivers ---> Networking Support 
     [*] Network device support      
       [*]   Bonding driver support
# make
# make modules_install (om du har med modulstöd i kärnan)
# cp arch/i386/boot/bzImage /boot/mykernel
# cp System.map /boot
Glöm inte att editera /etc/lilo.conf och köra lilo.

Sen måste vi kompilera in ifenslave också

För att installera ifenslave.c, (kernel 2.4.x) skriv:

Code: Select all

# cd /usr/src/linux/include/linux/
# gcc -Wall -Wstrict-prototypes -O -I/usr/src/linux/include ifenslave.c -o ifenslave
# cp ifenslave /sbin/ifenslave
För att installera ifenslave.c, (kernel 2.6.x) skriv:

Code: Select all

# cd /usr/src/linux-2.6.x/Documentation/networking/
# gcc -Wall -Wstrict-prototypes -O -I/usr/src/linux-2.6.x/Documentation/networking ifenslave.c -o ifenslave
# cp ifenslave /sbin/ifenslave
Sedan startar vi nätverket med (eller skriv in det i /etc/rc.d/net kanske heter något annat i din dist själv kör jag CRUX)

Code: Select all

/sbin/ifconfig bond0 192.168.0.xxx netmask 255.255.255.000
/sbin/ifenslave bond0 eth0
/sbin/ifenslave bond0 eth1
/sbin/route add default gw 192.168.0.xxx
byt ut alla x till vad du nu själv har för siffror.
Last edited by Emil.s on 7 November 2006, 22:48, edited 3 times in total.
Innan ni postar: Läs FAQen
När ni postar:
Posta i Rätt forum! Och skriv/formulera dig rätt

User avatar
Emil.s
Posts: 4366
Joined: 24 May 2005, 22:22
Location: Hedemora/Dalarna
Contact:

Post by Emil.s » 18 October 2006, 21:22

Sådär. Rejält uppdaterad. :)
Fyller på med mer, och skriver om WLAN senare.

Kolla gärna efter stavfel och fel. :P

Och är det något annat som borde tas upp när man ändå skriver?
Innan ni postar: Läs FAQen
När ni postar:
Posta i Rätt forum! Och skriv/formulera dig rätt

User avatar
fagerjan
Posts: 889
Joined: 21 December 2004, 18:05
Location: Dalsbruk, Finland
Contact:

Post by fagerjan » 18 October 2006, 22:42

Kommandot ip borde tas upp. Ingår i iproute2-sviten. Kan göra allt som behövs för att konfigurera nätanslutningen.

Se http://www.policyrouting.org/iproute2-toc.html och http://lartc.org/.
Fagerjan

User avatar
Emil.s
Posts: 4366
Joined: 24 May 2005, 22:22
Location: Hedemora/Dalarna
Contact:

Post by Emil.s » 19 October 2006, 18:43

fagerjan wrote:Kommandot ip borde tas upp. Ingår i iproute2-sviten. Kan göra allt som behövs för att konfigurera nätanslutningen.

Se http://www.policyrouting.org/iproute2-toc.html och http://lartc.org/.
Det har du rätt i. Skriver om det sen...

WLAN var krångligare än jag trott. :P

Kan någon förklara på svenska vad essid och nwid är?
Innan ni postar: Läs FAQen
När ni postar:
Posta i Rätt forum! Och skriv/formulera dig rätt

User avatar
Emil.s
Posts: 4366
Joined: 24 May 2005, 22:22
Location: Hedemora/Dalarna
Contact:

Post by Emil.s » 4 November 2006, 01:37

Lade till om hur man gör för att använda datorn som router. :)

Man kanske borde ta med en kort guide till iptables också. :)
Innan ni postar: Läs FAQen
När ni postar:
Posta i Rätt forum! Och skriv/formulera dig rätt

User avatar
Plutonium
Posts: 161
Joined: 2 January 2006, 00:42
Location: Essunga
Contact:

Post by Plutonium » 4 November 2006, 02:29

fagerjan wrote: Kan någon förklara på svenska vad essid och nwid är?
ESSID = är "identiteten" på det trådlösa nätverket.
Nwid = Network id, alltså en kanal mellan 0 till 13 som wlan använder av..

User avatar
fagerjan
Posts: 889
Joined: 21 December 2004, 18:05
Location: Dalsbruk, Finland
Contact:

Post by fagerjan » 4 November 2006, 13:33

Emil.s wrote:Har du 2 interna nät kan du agera router mellan dem. För att det ska funka räcker det med slå på "packet forwarding".
Kör detta som root:
Kod:
echo 1 > /proc/sys/net/ipv4/ip_forward
Ovanstående kommando har den nackdelen att det måste köras efter varje omstart. För att göra bestående ändring så editerar man filen /etc/sysctl.conf :
net.ipv4.ip_forward = 0 ändras till net.ipv4.ip_forward = 1
Last edited by fagerjan on 4 November 2006, 13:38, edited 1 time in total.
Fagerjan

User avatar
fagerjan
Posts: 889
Joined: 21 December 2004, 18:05
Location: Dalsbruk, Finland
Contact:

Post by fagerjan » 4 November 2006, 13:34

Plutonium wrote:
fagerjan wrote: Kan någon förklara på svenska vad essid och nwid är?
ESSID = är "identiteten" på det trådlösa nätverket.
Nwid = Network id, alltså en kanal mellan 0 till 13 som wlan använder av..
Det var inte jag utan Emil.s som frågade.
Fagerjan

User avatar
kjell-e
Posts: 2817
Joined: 21 December 2002, 16:27
Location: Linköping
Contact:

Post by kjell-e » 4 November 2006, 19:59

Ändra datorns hostname:
Bara att öppna filen "/etc/hostname" och ändra.
Det stämmer inte för alla distributioner. I t.ex. fedora ställer man in HOSTNAME i filen /etc/sysconfig/network .

Det kanske skulle vara på sin plats att skriva om var och hur man skriver in sina nätverksinställningar i olika linuxdistributioner.

User avatar
Emil.s
Posts: 4366
Joined: 24 May 2005, 22:22
Location: Hedemora/Dalarna
Contact:

Post by Emil.s » 7 November 2006, 22:50

Uppdaterat! :)

WLAN kommer nog när jag fått min bärbara dator...
Innan ni postar: Läs FAQen
När ni postar:
Posta i Rätt forum! Och skriv/formulera dig rätt

User avatar
Emil.s
Posts: 4366
Joined: 24 May 2005, 22:22
Location: Hedemora/Dalarna
Contact:

Post by Emil.s » 10 November 2006, 10:50

Kan ta en fråga till...
Hur ställer man in statisk ip osv i olika distar?
I Ubuntu/Debian är det ju /etc/network/interfaces
I Gentoo /etc/conf.d/net

Finns det något generellt sätt?
Innan ni postar: Läs FAQen
När ni postar:
Posta i Rätt forum! Och skriv/formulera dig rätt

Nille_kungen
Posts: 1506
Joined: 28 August 2005, 00:00

Post by Nille_kungen » 10 November 2006, 13:30

I slackware görs det i /etc/rc.d/rc.inet1.conf eller med verktyget netconfig.
Men det går även att göra direkt med ifconfig vilket borde vara mera generellt.
The more linux u go, The slacker u get

User avatar
Emil.s
Posts: 4366
Joined: 24 May 2005, 22:22
Location: Hedemora/Dalarna
Contact:

Post by Emil.s » 10 November 2006, 16:01

Jo, tänkte mer på något generellt sätt vid uppstarten av systemet.
Men det är väl iof bara att skriva ett eget bashscript...
Innan ni postar: Läs FAQen
När ni postar:
Posta i Rätt forum! Och skriv/formulera dig rätt

User avatar
fagerjan
Posts: 889
Joined: 21 December 2004, 18:05
Location: Dalsbruk, Finland
Contact:

Post by fagerjan » 10 November 2006, 16:02

Med ip:

Code: Select all

ip address add 192.168.0.1/24 brd + dev eth0
Sätter adressen 192.168.0.1 på eth0 med nätmasken 255.255.255.0 och standard broadcast.

Genom att köra:

Code: Select all

iptables-save > /etc/sysconfig/iptables
bibehålls iptables inställningar utan att behöva ett skript.
Fagerjan

User avatar
Emil.s
Posts: 4366
Joined: 24 May 2005, 22:22
Location: Hedemora/Dalarna
Contact:

Post by Emil.s » 10 November 2006, 16:07

fagerjan wrote:Med ip:

Code: Select all

ip address add 192.168.0.1/24 brd + dev eth0
Sätter adressen 192.168.0.1 på eth0 med nätmasken 255.255.255.0 och standard broadcast.

Genom att köra:

Code: Select all

iptables-save > /etc/sysconfig/iptables
bibehålls iptables inställningar utan att behöva ett skript.
Tar med hela IP kommandot i en egen del tror jag. :)

iptables-save...
Hur blir det då med rader som tex denna:

Code: Select all

ME=`/sbin/ifconfig eth0 |sed -n '/inet/s/^[ ]*inet addr:\([0-9.]*\).*/\1/p'`
?

Jag har föresten ingen /etc/sysconfig katalog. :o
Innan ni postar: Läs FAQen
När ni postar:
Posta i Rätt forum! Och skriv/formulera dig rätt

Post Reply