Jag var i samma dilemma så jag valde att "outsourcea" min dns till loopia & sen satte jag upp en interndns som sköter mitt svarta nät. Det fungerar bra för mig då jag väldigt sällan skaffar ny domän eller ändrar i dns'en. Men det borde ju fungera ifall du sätter upp en interndns och sedan forwardar allt som inte ska till ihse.net till din yttre dns på NSLU2.
//-Job -----Original Message----- From: Magnus Ihse Bursie [mailto:[EMAIL PROTECTED] Sent: den 3 augusti 2008 15:06 To: debian-user-swedish@lists.debian.org Subject: Trixa med ipchains... Jag har följande scenario: * Ett LAN med ett antal datorer och gadgets på * En NSLU2 som kör Debian och som agerar brandvägg/router (och dessutom DNS-/DHCP-server etc, men det är inte relevant nu) * En domän (ihse.net) där jag har skapat adresser för specifika tjänster (t.ex. wiki.ihse.net, mail.ihse.net). * Jag gör port forwardning från min NSLU2 (som heter Jana) på t.ex. port 80 och 443 till en mer kraftfull dator inne på nätet (som heter Vesta) som har en Apache. * På Vesta har jag konfigurerat upp virtuella servrar, så att man kommer till webbmail om man surfar till mail.ihse.net och en wiki för wiki.ihse.net. * Dessa virtuella hostar har i DNS:en samma IP-adress, nämligen min externa IP-adress. Resultatet av denna konfiguration är att det går alldeles utmärkt att sitta nånstans på Internet och komma åt olika tjänster på mail.ihse.net och wiki.ihse.net. Men. Det går inte att komma åt tjänsterna på insidan av LAN:et. Eftersom wiki.ihse.net resolverar till min externa adress, kommer anropet från insidan av LAN:et att riktas till Jana (routern). Den ser att anropet kommer från insidan av LAN:et och försöker inte göra någon port forwarding. Istället får jag reda på att ingen lyssnar på port 80 på den adressen. Så, hur löser man detta? Jag har hittills gjort så att jag fuskat, och lagt in en rad för wiki.ihse.net som resolverar till Vesta:s adress i /etc/hosts på alla maskiner på LAN:et. Det har fungerat men känts lite hackigt. Nu har jag precis skaffat en Nokia N810 (grymt kul pryl, f.ö.! :-)) och min fru en laptop, och då blev det plötsligt uppenbart hur otillräcklig en sådan lösning är -- eftersom WLAN:et är på insidan av routern, så måste man ändra i /etc/hosts varje gång man tar N810:an/laptopen innanför eller utanför lägenheten. Det duger inte. Så jag är tillbaka nu på att försöka lösa problemet på ett bättre sätt. Men fasen vet hur. Två idéer: 1) Ändra så att DNS-servern lämnar ut olika adressuppgifter för wiki.ihse.net om förfrågan kommer inifrån LAN:et än utifrån. 2) Ändra ipchains-reglerna på routern, så att den gör som jag vill. Som jag förstått är det är 1) knepigt att få till och lite läskigt; jag vill ju inte att jag plötsligt börjar sitta och berätta för omvärlden att wikin ligger på 192.168... Alltså har jag satsat på 2. Men det är inte lätt. Jag har suttit och slitit lite med dokumentationen för ipchains, men jag får ingen rätsida på hur jag ska göra. Det brukar sluta med att Jana äter upp mina utgående accesser på port 80 vilket inte är riktigt vad jag tänkt mig. :-) Jag använder ett handhackat skript för att sätta upp mina nuvarande ipchains-regler. Så här ser de relevanta delarna ut just nu: --- INSIDE=eth0 OUTSIDE=eth1 EXTERNAL_IP=77.110.63.65 # Load firewalling modules modprobe iptable_filter modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ipt_LOG modprobe ipt_state # Load masquerading module modprobe iptable_nat ## Waste any previous iptables setup, and create new chain iptables -F iptables -X iptables -F -t nat iptables -X -t nat iptables -N jwall # Accept new connections from the inside iptables -A jwall -m state --state NEW -i ! $OUTSIDE -j ACCEPT # Accept all packets belonging to open connections iptables -A jwall -m state --state ESTABLISHED,RELATED -j ACCEPT # Accept IDENT packets iptables -A jwall -p TCP --destination-port ident -j ACCEPT # Accept ICMP packets iptables -A jwall -p ICMP -j ACCEPT # Ignore (drop) DHCP DISCOVER (?) packets iptables -A jwall -p UDP --source-port bootpc -d 255.255.255.255 --destination-port bootps -j DROP # Accept DNS iptables -A jwall -p UDP --destination-port domain -j ACCEPT iptables -A jwall -p TCP --destination-port domain -j ACCEPT # Drop the rest iptables -A jwall -j DROP ## Jump to our new chain from the INPUT and FORWARD chains iptables -A INPUT -j jwall iptables -A FORWARD -j jwall # Portforward http to vesta HTTPFORWARDADDR=192.168.0.12 HTTPPORT=80 iptables -t nat -A PREROUTING -i $OUTSIDE -p tcp --dport $HTTPPORT -j DNAT --to-destination $HTTPFORWARDADDR iptables -t nat -A PREROUTING -i $OUTSIDE -p udp --dport $HTTPPORT -j DNAT --to-destination $HTTPFORWARDADDR iptables -I FORWARD -i $OUTSIDE -p tcp --dport $HTTPPORT -j ACCEPT iptables -I FORWARD -i $OUTSIDE -p udp --dport $HTTPPORT -j ACCEPT --- Jag blir inte klok på hur jag ska göra för att få till det här. Någon som kan hjälpa till? /Magnus -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] -- This message was scanned by ESVA and is believed to be clean. Click here to report this message as spam. http://mail-gw.bjorck.info/cgi-bin/learn-msg.cgi?id=B04DB27EE6.4C823 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]