Avatar billede _et Praktikant
12. april 2003 - 16:01 Der er 15 kommentarer og
1 løsning

Redirect af enkelt port - haster

Jeg har en linux box, med shorewall.

Jeg vil gerne have at jeg kan telnette udefra til min Win maskine bagved en linuxserver ( mandrake 9.1 )

Der er ingen telnet på linúx, og der er 2 netkort - Net og Local

Jeg vil gerne have at når jeg sidder et sted i verden og skriver "telnet xxx.com" så redirecter "xxx.com:23" til "192.168.1.20:23" -

Altså: Server sender vidre til lokalnet

Jeg vil mene jeg skal bruge en NAT noget ligende dette i min NAT eller rules??
DNAT net loc:192.168.1.20 tcp 23

eller.:
REDIRECT net 23 tcp 23 - !192.168.1.20
Avatar billede langbein Nybegynder
12. april 2003 - 19:48 #1
Du bruker en prerouting setning (hvis det dreier seg om iptables):

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 23 -j DNAT --to 192.168.0.20:23

Forustetter at det ikke er noen forward filtering rulses som hindrer dette i å fungere. Forutsetter også at eth0 er koplet opp mot internett.
Avatar billede langbein Nybegynder
12. april 2003 - 19:50 #2
Eventuelt også for å åpne forwarding rules:

iptables -A FORWARD -i eth0 -p tcp --dport 23 -j ACCEPT
Avatar billede _et Praktikant
12. april 2003 - 22:04 #3
tak jeg prøver
Avatar billede _et Praktikant
13. april 2003 - 21:08 #4
burde jeg kunne se, reglen hvis jeg skriver "iptables --list" for det kan jeg ikke.

Hvordan kan jeg se om routingen virker, for jeg kan ikke få forbindelse til min telnet
Avatar billede langbein Nybegynder
13. april 2003 - 23:09 #5
Nei du ser ikke nat reglene ved bare å skrive kommando "iptables -L"

Skriver du der i mot "iptables -t nat -L" da ser du også nat reglene.

Du må ellers passe på et det ikke er noen utgående forewarding filtrerings regler som restrikter trafikken. Utgående kan være tricky å sette opp. La den stå åpen under uttesting. (Mange firewalls lar utgående filtrering stå permanenet åpen på grunn av de problemer som filtrering av utgående trafikk kan medføre.)

Denne kan ellers gnerere en del syntax:
http://iptables.1go.dk/index1.php

Også her er vel utgående filter satt helt åpnent. (så vidt jeg kan huske.)
(Her er jo ellers en del å se på.)
Avatar billede langbein Nybegynder
13. april 2003 - 23:12 #6
Laget et testscript ved hjelp av scriptgenerator over. Den setter åpen for utgående trtafikk som default:

iptables -P OUTPUT ACCEPT
Avatar billede _et Praktikant
14. april 2003 - 12:23 #7
# Diable forwarding
echo 0 > /proc/sys/net/ipv4/ip_forward

LAN_IP_NET='192.168.0.1/24'
LAN_NIC='eth1'
WAN_IP='xx.xx.xx.xx'
WAN_NIC='eth0'

# load some modules (if needed)

# Flush
iptables -t nat -F POSTROUTING
iptables -t nat -F PREROUTING
iptables -t nat -F OUTPUT
iptables -F

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

# STATE RELATED for router
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


# Enable forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward


Jeg har lavet dette script. Men inden jeg vil bruge det vil jeg gerne vide hvad det gør? Det burde forwarde SSH(22) til 192.xxxxx

Gør det det?

Sletter det de gamle regler, og kommer de gamle regler igen ved genstart?
Avatar billede langbein Nybegynder
14. april 2003 - 22:14 #8
"Gør det det?" Nei, det ser ikke ut til å finnes noen forwarding i dette scriptet.

"Sletter det de gamle regler, og kommer de gamle regler igen ved genstart?"
Det sletter de gamle regler og erstatter de med nye for denne kjøresession.
Ved rebooting av PC så vil scriptets innhold være helt "glemt" og alle ting vil være ved det opprinnelige.

Men inden jeg vil bruge det vil jeg gerne vide hvad det gør?

Det sletter/flusher alle andre eksiterende rules.
# Flush
iptables -t nat -F POSTROUTING
iptables -t nat -F PREROUTING
iptables -t nat -F OUTPUT
iptables -F



Det ser i utgangspunktet ut til å være mulig å sette opp en lokal forbindelse med serveren som klient og workstations på lan som server:
iptables -P INPUT DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Det benyttes statefull inspection i scriptet men modul for statement inspection er ikke loadet. Tviler på at dette vil kjøre.
Hvis statefull inspection virker uten lasting av ekstra kernel modul så ser det også ut som om det vil være mulig å benytte linux boksen som klient i forhold til eksterne servere.

Her følger et standardoppsett for en delt internettforbindelse:

# 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
Den siste setningen ser ut til å være uten mening fordi trafikkretning ut uansett er åpen.

Hva scriptet i praksis gjør ?
Scriptet ser i praksis ut til å inneholde en delt internettforbindelse.
Mulig at det også vil være mulig å bruke linux boksen som en klient i forhold til eksterne og interne servere.


Kan du sette opp en liste/kravspec over hvordan tingene skal kjøre !?
Avatar billede geekdk Nybegynder
14. april 2003 - 22:47 #9
du kunne også hente en proxy her http://proxy.sourceforge.net/download.shtml
alt du skal gøre er at compile den med make, derefter kører du den med  ./proxy -s 8080 -d 80 -D 10.0.0.100  <-- dette er port 8080 der bliver forwarded til ip 10.0.0.100 lokalt port 80  ellers ./proxy --help
Avatar billede langbein Nybegynder
14. april 2003 - 23:26 #10
Med utgangspunkt i specken i det opprinnelige spørsmålet,tror denne skulle gjøre jobben sånn noenlunde:

# eth0 til internett, eth1 til lan

# Enable forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# loade noen moduler
modprobe ip_nat_ftp

# Slette gamle rules
iptables -F
iptables -t nat -F
iptables -t mangle -F

# Sette policies, dvs default regler
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

# Aapne for trafikk fra lan inn til router/server
iptables -A INPUT -i eth1 -j ACCEPT

# sette opp en delt internettforbindelse
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# Forwarde til intern telnet server
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-destination 192.168.1.20
Avatar billede langbein Nybegynder
14. april 2003 - 23:32 #11
Det er etter mitt syn ikke mulig å bruke en proxy på denne måte for å forwarde trafikk utenfra og til en innvendig server, i hvert fall ikke ut fra det som jeg kjenner til. Proxies av de som jeg har sett til nå brukes da normalt til å transortere data den motsatte vei, dvs fra eksterne servere til klienter på lan. Dersom man skal forwarde en ekstern request in til en intern server så bruker man vel ikke en proxy ???
Avatar billede langbein Nybegynder
14. april 2003 - 23:34 #12
Hmm man må visst stadig revurdere ...
http://proxy.sourceforge.net/
Avatar billede langbein Nybegynder
14. april 2003 - 23:37 #13
Metoden med prerouting og iptables er vel ellers mye brukt og den er vel ellers en ganske velprøvd og enkel metode.
Avatar billede _et Praktikant
15. april 2003 - 14:25 #14
Jeg har fået løst problemet, ved at tilføje
DNAT
Avatar billede _et Praktikant
15. april 2003 - 14:31 #15
DNAT  net  masq:192.168.1.20  tcp    23    -    xxx.xxx.xxx.xxx
i min firewall, så laver den selv den iptable.  - Chain net_dnat (1 Ref)......

Det er et spændende område af linux, jeg vil undersøge nærmere.
Jeg takker mange gange for den gode hjælp, og håber at se langbein/andre i mine spørgsmål igen

Mvh
Teddy
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester