Vraag & Antwoord

OS Linux

RH8: router/firewall in thuisnetwerk, waar gaat het mis?

12 antwoorden
  • Howdy, Via een red hat-pc probeer ik een xp-pc toegang te geven tot het internet. De pc's communiceren al wel met elkaar, voor zover ik heb kunnen constateren met de network traffic analyzer, maar een internet-verbinding is er nog niet. Nu vermoed ik dat dit komt doordat de NAT-instellingen nog niet goed staan. Als dat grafisch kan, doe ik dat liever, want ik weet niet hoe ik commandline commando's terug kan draaien. In een linux-starter vond ik dit: su /sbin/modprobe iptable-nat /sbin/iptables -t nat -A [enter] POSTROUTING -o eth0* -j MASQUERADE echo 1 >/proc/sys/net/ ipv4/ip-forward [enter] exit *eth0: staat hier de ehernetkaart waar het internet binnenkomt, of de kaart die met de andere pc communiceert? (eth0 of eth1 in mijn geval) ---------------------------------- andere vraag: Bi de route-instellingen in de netwerkinstellingen van eth0 (verbinding pc 2) kan naast destination network en Prefix ook Gateway worden ingevuld. Hier heb ik het ipadres van eth0, die als gateway voor de xp-pc moet fungeren ingevuld. Klopt dat, of moet Gateway hier worden leeg gelaten? En in General, het tabblad naast 'route', kan het Default Gateway Adress worden ingevuld. Hier staat nu het DNS adress van de xp-pc. Moet hier hetzelfde ip adres staan als het eigen adres van de kaart (eth0)? Ik hoop dat mijn vragen duidelijk genoeg zijn. Kan iemand mij hier een handje mee helpen? groeten, BB!
  • eth0 is je eerste netwerkinterface, eth1 je tweede. Welke communiceert met het modem, en welke met het LAN kun je uitvogelen met het commando [b:2df8b55c92]ifconfig[/b:2df8b55c92] Op de XP-pc moet je het ip-adres van je RH-computer (het ip-adres van het LAN) opgeven als standaard gateway. Of je masquerading-commando klopt weet ik zo niet, misschien iemand anders? Een grafische interface voor het instellen van de Linux-firewall is oa guarddog ( www.simonzone.com/software/guarddog ) Max
  • Die gatewayinstellingen kloppen nu wel. Is er wel een grafische interface vor de routing? Simonzone is trouwens even niet bereikbaar. Bedankt voor de tip!
  • Routing wordt bij Linux verzorgt door de firewall, via masquerading. Met guarddog zou je dus je router moeten kunnen instellen. guarddog is ook bereikbaar op http://apps.kde.com Verder meende ik dat RH een grafische interface heeft voor de firewal (?) Max
  • voor de firewall wel, voor de router niet. Nou ja, ik heb een mooie howto gevonden. eens zien.
  • He wat flauw van RH dat ze geen routing beschikbaar maken in hun firewall configuratie. SuSE doet dat wel nmlk, enaangezien zowel de firewall als de router via ip-tables geregeld wordt is het een kleine moeite om deze in de firewallconfiguratie mee te nemen. Weet je zeker dat dit bij RH niet mogelijk is via de gui?? Max
  • Zoals Max al zegt, je moet eerst weten welke kaarten met wat communiceren. Geef je interne netwerk bijvoorbeeld IP's 192.168.0.xxx en je externe netwerk (de internetkant) 10.0.0.xxx Dan zit je zeker nooit met twee kaarten in hetzelfde subnet. Stel nu dat je Eth1 192.168.0.10 geeft en Eth0 geef je een IP uit de 10.0.0.xxx range. Je moet dan uiteraard zorgen dat je via Eth0 kan internetten, anders heeft het geen nut. Dit kan je allemaal controleren met commando 'ifconfig' en evt. met 'netstat -rn' Plak dan onderstaande firewall-script in een texteditor en sla het op met de naam 'firewall.sh' in bijvoorbeeld de map /root [code:1:33aa635143] #!/bin/sh # Masquerading firewall (simpel) ############################################################################ # variabelen # waar iptables staat IPTABLES="/sbin/iptables" # interfaces # interface waarmee gateway aan lokale netwerk zit INTERNAL_INTERFACE="eth1" # interface waarmee gateway aan het internet zit EXTERNAL_INTERFACE="eth0" # ipadressen / netwerken LAN="192.168.0.1/24" # lokale netwerk ############################################################################ # clean-up + init # flush en clear alle rules en zet de tellers op 0 ${IPTABLES} -F ${IPTABLES} -X ${IPTABLES} -Z ${IPTABLES} -t nat -F ${IPTABLES} -t nat -X ${IPTABLES} -t nat -Z # set de default policies ${IPTABLES} -P INPUT ACCEPT ${IPTABLES} -P FORWARD DROP ${IPTABLES} -P OUTPUT ACCEPT ${IPTABLES} -t nat -P PREROUTING ACCEPT ${IPTABLES} -t nat -P POSTROUTING ACCEPT ${IPTABLES} -t nat -P OUTPUT ACCEPT ############################################################################ # initialiseren van de kernel ## Enable IP forwarding echo 1 > /proc/sys/net/ipv4/ip_forward ############################################################################ # masquerade ## Alles met afkomst van of bestemming lokale netwerk heeft forwarden ${IPTABLES} -A POSTROUTING -t nat -o ${EXTERNAL_INTERFACE} -j MASQUERADE ${IPTABLES} -A FORWARD -i ${INTERNAL_INTERFACE} \ -o ${EXTERNAL_INTERFACE} -s ${LAN} -d ! ${LAN} -j ACCEPT ${IPTABLES} -A FORWARD -o ${INTERNAL_INTERFACE \ -i ${EXTERNAL_INTERFACE} -d ${LAN} -s ! ${LAN} \ -m state --state RELATED,ESTABLISHED -j ACCEPT [/code:1:33aa635143] Vanaf de concole geeft je nu het commando [code:1:33aa635143]sh /root/firewall.sh[/code:1:33aa635143] Nu kijk je met [code:1:33aa635143]/sbin/iptables -L[/code:1:33aa635143] of het script is geactiveerd, er moeten twee regeltjes bijstaan nu. Nu geef je in je netwerk de clients de IP's 192.168.0.xxx en als GATEWAY geef je nu 'Eth1' op, dus in dit geval 192.168.0.1 Nu zou je moeten kunnen internetten. Let er wel op dat je de DNS gegevens goed invult op de clients... Ik meen te weten dat er ergens een } vergeten is, maar daar kom je vanzelf achter. Hij geeft dan vast een fout op die bepaalde regel. Je opent dan het script nog een keer, gaat naar die regel toe en veranderd dat... Succes en ik ben benieuwd...:P
  • Hoi Michael, Max, tof dat jullie me probeert te helpen. Hoewel ik me bij deze uitleg een beetje begin dom te voelen, daarom wil ik graag zeker weten of ik je goed begrepen heb (voordat ik om zeep help, wat ik niet kan herstellen). (Bij mij: eth0 = netwerk eth1 = internet) #onderstaande wordt alleen ingevoerd in 'Network Configuration' -> 'Devices' -> 'edit' -> 'General'. (In 'Network Configuration' -> 'Devices' -> 'edit' -> 'Route' : wordt niets ingevuld?) (In 'Network Configuration' -> 'Devices' -> 'edit' -> 'Hardware Device' : wel of geen 'Bind to MAC adress' en 'Device alias') (In 'Network Configuration' -> 'Hosts' -> staat nu reeds 127.0.0.1 localhost.localdomain : is OK? Voer ik daar nog een host bij? (192.168.0.2) #Komen er dan 3 adressen?: linux-box: eth1: 127.0.0.1/255.255.255.0 192.168.0.2 (gateway) eth0: 192.168.0.1/255.255.255.0 (eigen adres) +DNS 192.168.0.2 ((gateway adres, (een derde, soort virtueel ip-adres?)) xp-pc: 192.168.0.3/255.255.255.0 (eigen adres) +((diezelfde?) DNS) 192.168.0.2 (Gateway) firewall-script: #De voertaal op mijn linux-box is engels, verstaat rh nederlands, leest 'ie er overheen, of moet ik die (tijdelijk) veranderen in Nederlands, om dit script uit te kunnen voeren? #In dit script kom ik de opdracht /sbin/modprobe iptable-nat /sbin/iptables -t nat -a [enter] niet tegen, dus misschien is het niet van belang, maar ik noem het voorval toch: In de linux-starter waarmee ik start, staat bovenstaande regel als: /sbin/modprobe iptable-nat /sbin/iptables -t nat -A [enter] maar, dan zegt 'ie: /sbin/modprobe invalid option --A in de lijst options die dan volgt staat -a voor 'load-all_matching_modules'. als ik /sbin/modprobe iptable-nat /sbin/iptables -t nat -a invoer, zeht 'ie: Can't locate module iptables which is needed for /sbin/iptab Is dat relevant? Ik weet, dat zijn een heleboel vragen, ik hoop niet teveel! Groeten, Maarten
  • [quote:c510eb7948="bluebear"] #Komen er dan 3 adressen?: [/quote:c510eb7948] yep, eentje van lo (loopbackdevice) eentje voor eht0 en eentje voor eht1 [quote:c510eb7948] linux-box: eth1: 127.0.0.1/255.255.255.0 192.168.0.2 (gateway) [/quote:c510eb7948] Deze klopt niet, 127.0.0.1 is je locale host, oftewel je loopbackdevice. Dit moet 192.168.02 zijn, aangezien je dat adres gebruikt als gatewaycomputer. Hier hoort tevens geen gateway ingevuld te staan, deze pc is immers zelf de gateway. [quote:c510eb7948] eth0: 192.168.0.1/255.255.255.0 (eigen adres) +DNS 192.168.0.2 ((gateway adres, (een derde, soort virtueel ip-adres?)) [/quote:c510eb7948] ook hier hoeft geen gateway te staan, de pc zelf is de gateway. Verder moet hier ook geen 192.168.0.1 staan, aangezien deze netwerkkaart verbonden is met Internet, dit ip-adres is een intern adres. Vul hier dus je ip-adres in die je van je provider hebt gekregen, of laat dit via dhcp bepalen... [quote:c510eb7948] xp-pc: 192.168.0.3/255.255.255.0 (eigen adres) +((diezelfde?) DNS) 192.168.0.2 (Gateway) [/quote:c510eb7948] de xp-adres heeft alleen verbinding met het netwerk? Dan kloppen de ip-adressen, vooropgesteld dat 192.168.0.2 het ip-adres is van de netwerkkaart waarmee de Linux-pc met XP is verbonden. Max
  • Wat voor internet heb je? ADSL? Je moet namelijk zorgen dat de netwerkkaart aan de internetzijde - bij jou dus eth1 - al;s gateway je ADSL-modem heeft. (Als je er ook nog een router tussen hebt zitten - dus NIET de linux pc maar een hardwarematige router wordt het nog ingewikkelder, maar daar ga ik NIET vanuit) Eth0 hoeft inderdaad GEEN gateway te hebben, omdat je Linux pc zelf als router gaat dienen. Die 127.blablabla dat is gewoon de localhost, die mag je zo laten staan. Belangrijk is dus het volgende: Internetmodem IP: 10.0.0.138 | | Eth1 < Linux PC > Eth0 IP: 10.0.0.150 192.168.0.1 Gateway: 10.0.0.138 GEEN GATEWAY | | Hier de clients met IP 192.168.0.xxx Succes...
  • Het werkt! Het werkt! te gek! De routing tenminste. Masquerading niet geloof ik, want mijn gewone ipadres kwam meteen tevoorschijn bij Shields up!. Nu wil ik de boel beter dichttimmeren. Is het nu mogelijk om de firewall-script te combineren met een interface als guarddog? Ik dacht het niet, omdat guarddog alle regels voor iptables reset, dat zou het huidige werk ongedaan maken. Is het mogelijk om verdere regels aan dit script toe te voegen? Trouwens, Max: Simon, van simonzone.com, heeft de firewall en het de router/masquerading gesplitst in 2 verschillende programma's: guarddog: firewall guidedog: routing/ ipmasquerade Bij mij werkte guidedog alleen wel, maar als ik daarna guarddog installeerde en een rijkdom aan instellingscombinaties probeerde, bleef internet voor beide pc's uit. -------------------------------------------------------------------------------------- [quote:449d816ec2] eth0: 192.168.0.1/255.255.255.0 (eigen adres) +DNS 192.168.0.2 ((gateway adres, (een derde, soort virtueel ip-adres?)) [/quote:449d816ec2] ook hier hoeft geen gateway te staan, de pc zelf is de gateway. Verder moet hier ook geen 192.168.0.1 staan, aangezien deze netwerkkaart verbonden is met Internet, dit ip-adres is een intern adres. Vul hier dus je ip-adres in die je van je provider hebt gekregen, of laat dit via dhcp bepalen... Zoals ik je begrijp kan bovenstaande niet tegelijk met onderstaande. #[A:] eth1 kan ik niet tegelijk het provider-adres geven en 10.0.0.150 #[B]: Waar voer je dit adres in? ##[A]: Ik wat gerommeld en kwam er toen op 10.0.0.138 op te voeren als host, met hetzelfde domeinnaam als de localhost benoemd door mijn provider. Verder heb ik in 'Network Configuration' --> 'Devices' --> 'route' 10.0.0.150 opgegeven als destination adress en 10.0.0.138 als gateway. Internetmodem IP: 10.0.0.138 <-------------------------------------------B | | Eth1 < Linux PC > Eth0 IP: 10.0.0.150 192.168.0.1 <---------------------------------A Gateway: 10.0.0.138 GEEN GATEWAY | | Hier de clients met IP 192.168.0.xxx -------------------------------------------------------------------------------------------------- zo ziet het er nu uit: [root@local root]# /sbin/iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy DROP) target prot opt source destination ACCEPT all -- 192.168.0.0/24 !192.168.0.0/24 ACCEPT all -- !192.168.0.0/24 192.168.0.0/24 state RELATED,ESTABLISHED Chain OUTPUT (policy ACCEPT) target prot opt source destination [root@local root]# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.0.0 0.0.0.0 255.255.255.248 U 40 0 0 eth0 146.50.160.0 0.0.0.0 255.255.240.0 U 40 0 0 eth1 127.0.0.0 0.0.0.0 255.0.0.0 U 40 0 0 lo 0.0.0.0 146.50.160.1 0.0.0.0 UG 40 0 0 eth1 [root@local root]# ifconfig eth0 Link encap:Ethernet HWaddr 00:02:44:40:CA:43 inet addr:192.168.0.1 Bcast:192.168.0.7 Mask:255.255.255.248 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:252 errors:0 dropped:0 overruns:0 frame:0 TX packets:224 errors:0 dropped:0 overruns:0 carrier:0 collisions:2 txqueuelen:100 RX bytes:33056 (32.2 Kb) TX bytes:106059 (103.5 Kb) Interrupt:5 eth1 Link encap:Ethernet HWaddr 00:50:DA:11:72:72 inet addr:146.50.168.78 Bcast:146.50.175.255 Mask:255.255.240.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1718 errors:0 dropped:0 overruns:1 frame:0 TX packets:811 errors:0 dropped:0 overruns:0 carrier:0 collisions:7 txqueuelen:100 RX bytes:589623 (575.8 Kb) TX bytes:98141 (95.8 Kb) Interrupt:9 Base address:0x6c00 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:92 errors:0 dropped:0 overruns:0 frame:0 TX packets:92 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5976 (5.8 Kb) TX bytes:5976 (5.8 Kb) Bedankt dat je me zover geholpen hebt! vriendelijke groet, Maarten
  • In het bovenstaande firewall-script, (firewall.sh) wil ik een aantal regels toevoegen om DC++ ruim baan te geven. Dat zijn de volgende 2 mogelijkheden: 1. Linux 2.4, postrouting example Code: iptables -t nat -A POSTROUTING -d 192.168.0.2 -s 192.168.0.0/24 -p tcp --dport 555 -j SNAT --to 192.168.10.1 iptables -t nat -A POSTROUTING -d 192.168.0.2 -s 192.168.0.0/24 -p udp --dport 555 -j SNAT --to 192.168.10.1 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 555 -j DNAT --to 192.168.10.2:555 iptables -t nat -A PREROUTING -i eth1 -p udp --dport 555 -j DNAT --to 192.168.10.2:555 iptables -t nat -A PREROUTING -d 213.112.8.55 -p tcp --dport 555 -j DNAT --to 192.168.10.2:555 iptables -t nat -A PREROUTING -d 213.112.8.55 -p udp --dport 555 -j DNAT --to 192.168.10.2:555 2. Linux 2.4, prerouting example Code: iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 555 -j DNAT --to 192.168.0.2:555 iptables -t nat -A PREROUTING -i eth1 -p udp --dport 555 -j DNAT --to 192.168.0.2:555 Waar en hoe implementeer je deze regels? moet er onderaan weer een rij ################### komen? zoals: ############################################# # postrouting en dan iptables -t nat -A POSTROUTING -d 192.168.0.2 -s 192.168.0.0/24 -p tcp --dport 555 -j SNAT --to 192.168.10.1 iptables -t nat -A POSTROUTING -d 192.168.0.2 -s 192.168.0.0/24 -p udp --dport 555 -j SNAT --to 192.168.10.1 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 555 -j DNAT --to 192.168.10.2:555 iptables -t nat -A PREROUTING -i eth1 -p udp --dport 555 -j DNAT --to 192.168.10.2:555 iptables -t nat -A PREROUTING -d 213.112.8.55 -p tcp --dport 555 -j DNAT --to 192.168.10.2:555 iptables -t nat -A PREROUTING -d 213.112.8.55 -p udp --dport 555 -j DNAT --to 192.168.10.2:555 ?

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.