Nu vil jeg gerne have disse porte åbnet til en bestemt ipadresse på mit interne net... da der skal hostes spil på denne..... + at spillene stadig skal kunne spilles på hele netværket :)
27015 og så nogle flere.....
hvordan faen får jeg det løst, nu har jeg prøvet en del, men det hjælper ikke noget
Nedenstående er hvad virker hos mig - den kører ikke på ekstern ip men på ekstern interface (INET_IFACE=eth? eller ppp?) srcport=ekstern port (27015) host=intern adresse (192.168.100.? destport=intern port på $host (formentlig 27015)
Her står det at alle alle de tre main policies skal stå til åpen, det vil i praksis i dette tilfellet si at firewall står helt åpen. ette gjelder først og fremst i forhold til Linux maskinen selv. Innvendig LAN er allikevell beskyttet av NAT funsjon.
Når policies fra før av står til åpen så gir dette ikke noen mening (dvs å åpne for de samme ip pakkene 2 ganger):
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Denne ser grei ut slik at "netto effekt" av "irewall" blir en delt intenettforbindelse pluss beskuttelse av LAN ved hjelp av NAT.
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT
# enable Masquerade and forwarding iptables -t nat -A POSTROUTING -s $LAN_IP_NET -j MASQUERADE iptables -A FORWARD -j ACCEPT -i $LAN_NIC -s $LAN_IP_NET iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Open ports on router for server/services
# STATE RELATED for router iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Open ports to server on LAN iptables -A FORWARD -j ACCEPT -p tcp --dport 80 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 27015 -j DNAT --to 192.168.100.99
"Feil" i script over: Du skal kjøre web server på Linuxen ?? Du må i så fall åne for dette. Eksprimenter litt med firewall scripr generatoren så finner du ut av det.
Langbein>> nu har jeg brugt den generator... men den vil ikke skrive den adresse jeg har skrevet i den, som skal stå som server....
jeg skal jo sådan set bare have åbnet for alt indefra og ud, men lukket for alt udefra og ind... med undtagen de porte jeg åbner jo selvfølgelig, og det er
port 27015 (til counter-strike) den skal sendes til 192.168.100.100 Port 80 (til webserveren) som også kører ftp ssh og mail - 192.168.100.1 dermed skal jeg så åbne nogle flere, så der kan hostes spil på blizzards battlenet, men kan så ikke huske adressen. men det er alle sammen til den samme adrese, nemlig 192.168.100.100
det er det eneste der skal ske, og sys ikke jeg kan få den generator til at gøre det jeg vil ha
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT
# enable Masquerade and forwarding iptables -t nat -A POSTROUTING -s $LAN_IP_NET -j MASQUERADE iptables -A FORWARD -j ACCEPT -i $LAN_NIC -s $LAN_IP_NET iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Open ports on router for server/services iptables -A INPUT -j ACCEPT -p tcp --dport 80 iptables -A INPUT -j ACCEPT -p tcp --dport 21 iptables -A INPUT -j ACCEPT -p tcp --dport 25 iptables -A INPUT -j ACCEPT -p tcp --dport 22
# STATE RELATED for router iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Open ports to server on LAN iptables -A FORWARD -j ACCEPT -p tcp --dport 27015 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 27015 -j DNAT --to 192.168.100.100:27015
Jo, men der skal være en accept af disse porte - se afsnittet "Open ports on router for server/services" - ellers vil firewall afvise dem - selvom services er startet.
og hvad hvis jeg bare åbner port 27015 til hele det interne net, ville det ikke kunne lade sig gøre? kan jeg så lave en cs-server, eller skal det være til en specifik adresse.... er lidt tungnem lige nu..... :)
Scriptet er ikke bygget til flere hoste - så laver vi det lige selv. Udskift "FORWARD_IP" med "FORWARD_CS" alle steder - og herefter laver du en linie med "FORWARD_BLIZ=192.168.100.150" - og lav følgende ekstra linier "Open ports to server on LAN":
Når der bruges NAT, så oversættes samtlige inderside adresser (hos dig: 192.168.100.?) til samme yderside adresse ved afsendelse af en tcp-pakke (forbindelse).
Hvis vi nu skal kunne komme indenfor, så skal du kunne fordele 1 ip-adresse til hele din inderside (192.168.100.?).
Vi skal derfor lave en mulighed for at kunne komme indenfor på en given kombination af ip/port - som sendes videre til en (anden inderside) given kombination af ip/port.
Det er ikke muligt at sende port 27015 til samtlige inderside maskiner på port 27015 - men alene 1 given ip-adresse (maskine)
Jeg håber det forklarer mine ovenstående linier i scriptet - jeg kan godt lige samle det sammen til et samlet script - men så giv mig lige de rigtige portnumre til Blizz - alternativt skal du bruge et helt andet script (som jeg selv bruger).
Det er super advanceret, men kan alt det du ønsker - og mere til - og alt sættes vha. variable i starten af scriptet.
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT
# enable Masquerade and forwarding iptables -t nat -A POSTROUTING -s $LAN_IP_NET -j MASQUERADE iptables -A FORWARD -j ACCEPT -i $LAN_NIC -s $LAN_IP_NET iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Open ports on router for server/services iptables -A INPUT -j ACCEPT -p tcp --dport 80 iptables -A INPUT -j ACCEPT -p tcp --dport 21 iptables -A INPUT -j ACCEPT -p tcp --dport 25 iptables -A INPUT -j ACCEPT -p tcp --dport 22
# STATE RELATED for router iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Open ports to server on LAN (CS) iptables -A FORWARD -j ACCEPT -p tcp --dport 27015 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 27015 -j DNAT --to $FORWARD_CS:27015
# Open ports to server on LAN (BLIZZARDS battlenet 4000,6112,6113,6114,6115,6116,6117) for PORT in '4000,6112,6113,6114,6115,6116,6117' do iptables -A FORWARD -j ACCEPT -p tcp --dport $PORT iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 4000 -j DNAT --to $FORWARD_BLIZ:$PORT done # Enable forwarding echo 1 > /proc/sys/net/ipv4/ip_forward
Jeg vil lige teste det :) prøver at lægge det på maskinen her i aften når der ikke er brugere :) skriver igen snarrest :) Og igen mange mange tak for hjælpen :
Nej, dit ser helt korrekt ud! Du har dog åbnet for port 110 (pop3) - du skal være opmærksom på, at jo længere listen er over åbne porte - jo mere udsat er din firewall. Derfor skal du forsøge at lukke for disse services på anden vis - f.eks. tcp_wrapper.
Det var lidt mærkeligt - telnet gør det samme som outlook - prøv lige at lege outlook:
telnet 192.168.100.1 110 USER <dit brugernavn> PASS <dit password> LIST QUIT
Hvis det virker, så er der opstået et helt andet problem - enten noget med DNS eller brugervalidering - integreret med f.eks.mysql eller lignende (som også kræver lytteporte)?
Er du sikker på, at et eller andet ikke er blevet slettet på din maskine - prøv lige at fjerne fw - og test igen.
Det ser ud til, at /var/spool/mail (eller lignende) er blevet slettet. Maildir er normalt ikke påvirket af firewall, men hvis opslag på hjemmekatalog foregår i f.eks. mysql database, så kan det være problemet.
Det er vist ikke min udgave af scriptet du bruger - så havde Blizzard porte været med i FORWARD.
Hei, ser dere er godt i gang !! Scriptet ser ut til å bli meget bra, men det skal ikke mer en en enkelt detalj, for eksempel et komma for at det ikke vil kjøre. iptables -L gir ellers ikke en 100 % rett status. (Vet ikke hva det kommer av.) Vil forsøke på en testkjøring når jeg kommer hjem senere i kveld !
Det betyder, at du ikke kan kontakte din firewall på port 110 - hvorfra der alligevel ikke kan hentes post (se din egen fejlbeskrivelse for et par indlæg siden) - ellers har det ingen konsekvens.
Selvom pop3 serveren er kørende, så behøver firewall ikke acceptere forbindelse dertil (teoretisk kunne jeg [eller en anden] hacke din maskine på port 110, som du ikke bruger til noget).
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT
# enable Masquerade and forwarding iptables -t nat -A POSTROUTING -s $LAN_IP_NET -j MASQUERADE iptables -A FORWARD -j ACCEPT -i $LAN_NIC -s $LAN_IP_NET iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Open ports on router for server/services iptables -A INPUT -j ACCEPT -p tcp --dport 80 iptables -A INPUT -j ACCEPT -p tcp --dport 21 iptables -A INPUT -j ACCEPT -p tcp --dport 25 iptables -A INPUT -j ACCEPT -p tcp --dport 22
# STATE RELATED for router iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Open ports to server on LAN (CS) for PORT in '7002 6003 27005 27010 27011 27015' do iptables -A FORWARD -j ACCEPT -p udp --dport $PORT iptables -t nat -A PREROUTING -i eth0 -p udp --dport $PORT -j DNAT --to $FORWARD_CS:$PORT done
# Open ports to server on LAN (BLIZZARDS battlenet 4000,6112,6113,6114,6115,6116,6117) for PORT in '4000,6112,6113,6114,6115,6116,6117' do iptables -A FORWARD -j ACCEPT -p tcp --dport $PORT iptables -t nat -A PREROUTING -i eth0 -p tcp --dport $PORT -j DNAT --to $FORWARD_BLIZ:$PORT done # Enable forwarding echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT
# enable Masquerade and forwarding iptables -t nat -A POSTROUTING -s $LAN_IP_NET -j MASQUERADE iptables -A FORWARD -j ACCEPT -i $LAN_NIC -s $LAN_IP_NET iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Open ports on router for server/services iptables -A INPUT -j ACCEPT -p tcp --dport 80 iptables -A INPUT -j ACCEPT -p tcp --dport 21 iptables -A INPUT -j ACCEPT -p tcp --dport 25 iptables -A INPUT -j ACCEPT -p tcp --dport 22 iptables -A INPUT -j ACCEPT -p tcp --dport 143
# STATE RELATED for router iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Open ports to server on LAN (CS) for PORT in '7002 6003 27005 27010 27011 27015' do iptables -A FORWARD -j ACCEPT -p udp --dport $PORT iptables -t nat -A PREROUTING -i eth0 -p udp --dport $PORT -j DNAT --to $FORWARD_CS:$PORT done
# Open ports to server on LAN (BLIZZARDS battlenet 4000,6112,6113,6114,6115,6116,6117) for PORT in '4000 6112 6113 6114 6115 6116 6117' do iptables -A FORWARD -j ACCEPT -p tcp --dport $PORT iptables -t nat -A PREROUTING -i eth0 -p tcp --dport $PORT -j DNAT --to $FORWARD_BLIZ:$PORT done # Enable forwarding echo 1 > /proc/sys/net/ipv4/ip_forward
Virker afsendelse via port 25? Bliver mail sendt videre ud i verden? Virker modtagelse via port 110? (her bør svaret være nej) Virker modtagelse via port 143?
Hvis ovenstående er korrekt, så tror jeg du har en "dum" konfiguration i virtusers - at der skal findes brugere i mysql - på ydersiden af din firewall - og det er ikke nødvendigt.
Få rettet konfigurationen således, at alle opslag går til 192.168.100.1 - altså indersiden. Så kan du godt lukke ydersiden igen.
Personigt har jeg en masse services kørende på min maskine - men disse kan ikke tilgås på ydersiden. Til gengæld har jeg ssh kørende, således at jeg kan portforwarde mig til alle services fra den store verden - alene vha. en ssh-klient.
Det kunne også være måden at løse port 143/110 - og evt. port 21 problematikken - så de kan lukkes for resten af verden.
Jeps... CS virker :) og mailen også :) men jeg er ikke så vild med at lade andre logge på som root.... Og min anden kammerat som også er administrator har også styr på det :) Men håber jeg kan finde få mere hjælp herinde hvis det bliver...
hvis jeg nu opretter et spørgsmål hvor der står point til dig, så kan du lave et svar derinde :)
forresten også.... er det muligt at man kan lukke en maskines ip eller mac adresse ude fra alt... så den intet kan?
"forresten også.... er det muligt at man kan lukke en maskines ip eller mac adresse ude fra alt... så den intet kan?"
Her settes den i det dypeste mørket (også dypt nok til at man for eksempel mister remoote consol via telnet eller ssh):
#!/bin/sh
iptables -F iptables -t nat F
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP
Man kan også på tilsvarende måte sette alt åpent ved å sette alle policies til ACCEPT. (Da behøves også tillegsmodulene og eventuelt DNAT og MASQUERADE setninger.)
Virkemåte: Policy er den aller siste regel som trer i kraft når alle andre regeler er gjennomsøkt. Når ingen annen regel en policy finnes da blir det den eneste regel.
Man kan godt og med fordel lage flere firewall script slik at man har script til forskjellige situasjoner, for eksempel "open_all", "close_all", "normal", "remoote_controll", "high_security" osv.
Synes lap har gjort det meste og fortjener de fleste poengene denne gangen.
Godt svaret, begge to. Problemet med MySQL er skumlere end som så. Det er naturligvis ikke meningen at der skal være åbent for MySQL udadtil. Alle opslag bliver lavet på 127.0.0.1, men af en eller anden grund kan postfix ikke connecte til MySQL på 127.0.0.1 når fw er til. Jeg vil helst ikke køre forbindelsen via sockets, da det giver flere problemer, end det gør godt.
iptables -A INPUT -i eth1 -p tcp -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP
Håper dette er rett. Linux/iptables kan være litt tricky på detaljene i syntaksen av og til på en nærmest litt ulogisk måte, og da må man bare eksperimentere litt.
Overstående vil bare sperre for klientens tilgang til de prosessene som kjører inne i Linux maskinen. Ønsker man også å restikte for eksempel tilgangen til Internnett så må tilsvarende settes opp i FORWARD chain.
nu har scriptet åbnet for alt indefra og ud... men hvis jeg nu vil lukke, så man ikke kan bruge porten til kazaa... tror det er port 1080. er træt af at mit net bliver sløvet af andres kazaa....
Jeg så godt kommentaren - umiddelbart synes jeg, at opgaven har været så vanskelig (læs: tidskrævende), at det var mere end 200 point værd (totalt set), men sådan er reglerne.
Kan du tilbagekalde din accept og sende f.eks. 75-100 til langbein - jeg går ikke så højt op i det med point?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.