|
| 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).
| |
|
|