/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
iptables blokerer delvist for tftp
Fra : Tomas Pedersen


Dato : 23-10-07 12:14

Ved forsøg på at hente en fil med tftp går overførslen i stå efter
knap 500 bytes, hvorefter klienten melder "transfer timed out" og serveren
melder "tftpd: read(ack): Connection refused".

Transaktionen går fint hvis denne regel undlades til iptables:
iptables -t nat -A POSTROUTING --src 192.168.1.0/24 -j SNAT --to $ExtIPAddr

Den kan jeg dårligt undvære, da den oversætter mine interne IP-adresser
til en enkelt ekstern.
Systemet er debian etch med kerne 2.6.22 på klienten og 2.6.9 på serveren,
samt tftpd-hpa.

Jeg gætter på at serverens forsøg på acknowledge på en eller anden måde
bliver NAT'et, så hvordan undgås det? Hvordan finder jeg ud af hvad der
faktisk sker?


Tomas

 
 
Kent Friis (23-10-2007)
Kommentar
Fra : Kent Friis


Dato : 23-10-07 15:58

Den 23 Oct 2007 11:14:16 GMT skrev Tomas Pedersen:
> Ved forsøg på at hente en fil med tftp går overførslen i stå efter
> knap 500 bytes, hvorefter klienten melder "transfer timed out" og serveren
> melder "tftpd: read(ack): Connection refused".
>
> Transaktionen går fint hvis denne regel undlades til iptables:
> iptables -t nat -A POSTROUTING --src 192.168.1.0/24 -j SNAT --to $ExtIPAddr
>
> Den kan jeg dårligt undvære, da den oversætter mine interne IP-adresser
> til en enkelt ekstern.

....uanset om pakken bliver sendt til internet eller eksterne maskiner.

Du bør nok checke på andet end src-adresse, så du kun NAT'er ud mod
internettet.

Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).

Niels Baggesen (23-10-2007)
Kommentar
Fra : Niels Baggesen


Dato : 23-10-07 16:07

Tomas Pedersen <patina@dbmail.dk> wrote:
> Jeg g?tter p? at serverens fors?g p? acknowledge p? en eller anden m?de
> bliver NAT'et, s? hvordan undg?s det? Hvordan finder jeg ud af hvad der
> faktisk sker?

tftp er en meget m?rkelig protokol - hvis det skal have en chance for at
virke skal du have et conntrack_tftp modul loaded.

tftp klienten sender fra port 69 til port 69 p? serveren, hvorefter
serveren svarer fra en vilk?rlig port som derefter er den port
klienten skal kommunikere til.

/Niels

--
Niels Baggesen -- @home -- ?rhus -- Denmark -- niels@baggesen.net
The purpose of computing is insight, not numbers -- R W Hamming

Tomas Pedersen (23-10-2007)
Kommentar
Fra : Tomas Pedersen


Dato : 23-10-07 16:48

On Tue, 23 Oct 2007 14:58:00 +0000, Kent Friis wrote:

> Den 23 Oct 2007 11:14:16 GMT skrev Tomas Pedersen:
>> Ved forsøg på at hente en fil med tftp går overførslen i stå efter
>> knap 500 bytes, hvorefter klienten melder "transfer timed out" og serveren
>> melder "tftpd: read(ack): Connection refused".
>>
>> Transaktionen går fint hvis denne regel undlades til iptables:
>> iptables -t nat -A POSTROUTING --src 192.168.1.0/24 -j SNAT --to $ExtIPAddr
>>
>> Den kan jeg dårligt undvære, da den oversætter mine interne IP-adresser
>> til en enkelt ekstern.
>
> ...uanset om pakken bliver sendt til internet eller eksterne maskiner.
Jeg er ikke med på hvad du mener, for mig er internet og eksterne maskiner
det samme.

> Du bør nok checke på andet end src-adresse, så du kun NAT'er ud mod
> internettet.
Jeg troede faktisk det var det POSTROUTING sørgede for.


Tomas

Kent Friis (23-10-2007)
Kommentar
Fra : Kent Friis


Dato : 23-10-07 17:53

Den 23 Oct 2007 15:47:46 GMT skrev Tomas Pedersen:
> On Tue, 23 Oct 2007 14:58:00 +0000, Kent Friis wrote:
>
>> Den 23 Oct 2007 11:14:16 GMT skrev Tomas Pedersen:
>>> Ved forsøg på at hente en fil med tftp går overførslen i stå efter
>>> knap 500 bytes, hvorefter klienten melder "transfer timed out" og serveren
>>> melder "tftpd: read(ack): Connection refused".
>>>
>>> Transaktionen går fint hvis denne regel undlades til iptables:
>>> iptables -t nat -A POSTROUTING --src 192.168.1.0/24 -j SNAT --to $ExtIPAddr
>>>
>>> Den kan jeg dårligt undvære, da den oversætter mine interne IP-adresser
>>> til en enkelt ekstern.
>>
>> ...uanset om pakken bliver sendt til internet eller eksterne maskiner.
> Jeg er ikke med på hvad du mener, for mig er internet og eksterne maskiner
> det samme.

D'oh, INTERNE maskiner.

>> Du bør nok checke på andet end src-adresse, så du kun NAT'er ud mod
>> internettet.
> Jeg troede faktisk det var det POSTROUTING sørgede for.

Nu bliver jeg helt i tvivl, og jeg synes ikke man iptables giver
et præcist svar.

Jeg bruger -i og/eller -j på alle mine regler der kun vedrører et
bestemt interface. --dst ! 192.168.0.1/24 kan også være en
mulighed, hvis du foretrækker ip-adresser.

Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).

Tomas Pedersen (23-10-2007)
Kommentar
Fra : Tomas Pedersen


Dato : 23-10-07 16:52

On Tue, 23 Oct 2007 17:07:04 +0200, Niels Baggesen wrote:

> tftp er en meget m?rkelig protokol - hvis det skal have en chance for at
> virke skal du have et conntrack_tftp modul loaded.
Så vidt jeg har læst mig til skal man have conntrack_tftp for at kunne
NAT'e, men jeg ønsker netop _ikke_ at NAT'e tftp. Al trafik foregår mellem
serveren og nogle klienter på mit eget lokalnet.

For alle tilfældes skyld vil jeg alligevel prøve med conntrack_tftp.


Tomas

Tomas Pedersen (23-10-2007)
Kommentar
Fra : Tomas Pedersen


Dato : 23-10-07 18:24

On Tue, 23 Oct 2007 16:52:33 +0000, Kent Friis wrote:

> Jeg bruger -i og/eller -j på alle mine regler der kun vedrører et
> bestemt interface. --dst ! 192.168.0.1/24 kan også være en
> mulighed, hvis du foretrækker ip-adresser.
>
Du har helt ret, det løste problemet.

Jeg forstår bare ikke helt hvorfor det kun er tftp der er problemer med.
vnc, nfs, ssh og http virker fint.


Tomas

Kent Friis (23-10-2007)
Kommentar
Fra : Kent Friis


Dato : 23-10-07 18:39

Den 23 Oct 2007 17:24:04 GMT skrev Tomas Pedersen:
> On Tue, 23 Oct 2007 16:52:33 +0000, Kent Friis wrote:
>
>> Jeg bruger -i og/eller -j på alle mine regler der kun vedrører et
>> bestemt interface. --dst ! 192.168.0.1/24 kan også være en
>> mulighed, hvis du foretrækker ip-adresser.
>>
> Du har helt ret, det løste problemet.
>
> Jeg forstår bare ikke helt hvorfor det kun er tftp der er problemer med.
> vnc, nfs, ssh og http virker fint.

Det er formentlig connection tracking der redder dem. Når den
indgående trafik ikke er NAT'et, skal svaret naturligvis heller
ikke være det.

Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).

Søg
Reklame
Statistik
Spørgsmål : 177493
Tips : 31966
Nyheder : 719565
Indlæg : 6408479
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste