NAT opsætning

Få hjælp og support til alt server-relateret. Guides og How-to's i forbindelse med servere hører også til her.
thj01
Indlæg: 2667
Tilmeldt: 21. nov 2006, 10:06
Geografisk sted: Fredericia

NAT opsætning

Indlæg af thj01 »

Er der nogle der kender nogle gode simple guides til opsætning af simple NAT servere (maquarading) med dhcp og firewall?

Dvs der skal være opsætning af netkort
opsætning af DHCP, DNS, FIREWALL - gerne ved hjælp af værktøjer som webmin
Forfatter til Ubuntuguiden: http://www.vidas.dk/guides/ubuntuguiden.html

Kører LTS udgaverne.

"It's always easy if you know how to do it."
Brugeravatar
NickyThomassen
Admin
Indlæg: 3652
Tilmeldt: 5. mar 2010, 19:58
IRC nickname: nicky
Geografisk sted: 192.168.20.42

Re: NAT opsætning

Indlæg af NickyThomassen »

God != simpel her, for der kommer til at mangle en masse detaljer.
Desuden er det vist lidt optimistisk at tage det hele på én gang :)

Jeg ville starte med DNS da det er lettest, og i hvert fald med ISCs programmer, har samme syntax som DHCP. Dernæst ville DHCP give mening, og en simpel opsætning på ét netværk uden underlige ting er ret nemt at sætte op. Udfordringen kommer ved flere subnets delt af routere og den slags, men det bruger man nok ikke i privaten (hvis det er til det). Desuden skal du nok kigge på at sætte både statisk og dynamisk IPs op på serveren, for imens det ene kort formodningsvis får sin IP fra en anden DHCP-server, så skal det andet kort nok have en fast IP-adresse som fx 192.168.1.1.

Det er vigtigt at skelne imellem DHCP-client programmet, som sætter adresser op på den maskine det kører på, og så DHCP-server dæmonen, som giver adresser til andre computere. Forskellige distroer har forskellige navne til dem, og i fx Debian er forskellen meget lille. Jeg har da kludret rundt i det nogle gange.

Afslutningsvis ville jeg så sætte NAT op, og derefter bruge serveren som router. Der er sikkert flere måder man kan sætte iptables op på, men jeg hackede det her sammen for nogle måneder siden, og det ser ud til at virke fint:

Kode: Vælg alt

#!/bin/sh
PATH=/usr/sbin:/sbin:/bin:/usr/bin
sleep 5
#
# Delete all existing rules.
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
#
# Always accept loopback traffic
iptables -A INPUT -i lo -j ACCEPT
#
# Allow established connections, and those not coming from the outside
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW ! -i eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
#
# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
#
# Masquerade.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#
# Don't forward from the outside to the inside.
iptables -A FORWARD -i eth0 -o eth0 -j REJECT
#
# Enable routing.
echo 1 > /proc/sys/net/ipv4/ip_forward
#
exit 0

Jeg har sat cron til at køre scriptet ved @REBOOT, for iptables gemmer ikke sin config imellem upstarts. I det her script er eth0 på netsiden, altså WAN, imens eth1 er på lokalsiden, LAN. Regler om fx åbne porte til SSH bruger jeg ikke selv, men de kan bare tilføjes løbende efter behov.

Jeg ved helt ærligt ikke om der findes en grafisk måde at lave det her på, for jeg har ikke kigget efter den.
Brugeravatar
Martin Jørgensen
Indlæg: 406
Tilmeldt: 24. dec 2010, 15:58
IRC nickname: Martinjo84

Re: NAT opsætning

Indlæg af Martin Jørgensen »

Man kan også bruge UFW til håndtere iptables det gør det noget mere håndterligt.
thj01
Indlæg: 2667
Tilmeldt: 21. nov 2006, 10:06
Geografisk sted: Fredericia

Re: NAT opsætning

Indlæg af thj01 »

Jeg spørger fordi jeg har stykket det sammen - af en masse forskellige guides på nettet.

Men jeg mangler stadig at finde en der tager det hele på en gang - på en simpel måde.


F.eks. slås jeg lige nu med at isc-dhcp-server'en skal genstartes efter at serveren er startet på - ellers kan klienterne ikke fange en adresse :|


Og så kan webmin opsætte et masquarade netværk, med få klik.
Forfatter til Ubuntuguiden: http://www.vidas.dk/guides/ubuntuguiden.html

Kører LTS udgaverne.

"It's always easy if you know how to do it."