IP alias och source IP

Niklas Hallqvist niklas at appli.se
Sun Apr 27 17:43:21 CEST 2008


Tja du svara ju själv, du nattar ju. AT innebär ju att din source adress 
skrivs om till den
du angivit i din nat-regel.  Jag kan inget om FreeBSD's NAT, men rent 
generellt är det ju glasklart.
Efter routen är väld skapas ett state som mappar sann källadress-port 
tupel, till den adress NAT-regeln specificerar och en ledig port.  Sedan 
översätts ut och inkommande paket enligt den mappningen.

Om du kan bör du slå av NATtning för de käladresser som tillhör nät du 
inte vill NATta.  I PF gör man det med "no nat"-direktivet om jag uinte 
minns fel, med FreeBSD kanske inte kör PF som standard?
 
Niklas


Mattias Barthel skrev:
> Niklas Hallqvist wrote:
>   
>> I allmänhet bestäms avsändaradress beroende på den route som används, i 
>> den mening att avsändaradressen blir en av de adresser som det utgående 
>> interfacet har.  Man kan tycka att
>> när man anger en adress i ett subnät som delas av endast en av det 
>> utgående interfacets alias, att just det aliaset skall användas som 
>> källadress, men jag vet inte om det är så på FreeBSD, på OpenBSD gör det 
>> som Du vill.  Jag tror att FreeBSD gör det också, p.g.a. den gemensamma 
>> historiken.
>>
>> Dock innan IP-trafik skickas måste något som heter adressresolution ske, 
>> via protokollet ARP.
>> ARP använder sig av broadcast-trafik, och bör nog (det är mycket 
>> längesedan jag kunde den exakta teorin bakom detta) vara beroende på 
>> matchande nätmasker både hos sändare och mottagare.  Om ditt modem har 
>> nätmask 255.255.255.0 och du har 255.0.0.0 är jag inte säker på att ARP 
>> fungerar.  Så du måste nog veta nätmasken på modemet och sedan sätta 
>> samma på ditt alias.
>>
>> Kolla med tcpdump arp, om ARP-trafiken ser rätt ut.
>>
>> På din ursprungliga fråga, visst, många utilities tillåter dig att binda 
>> din klientport till en specifik IP.
>>
>> ping använder sig av -I (för interface address), telnet på OpenBSD 
>> använder sig av -b (för bind(2) vilket är det systemanrop man använder) 
>> vilket jag tror att undertecknad lade till för hur länge sedan som 
>> helst, men kan minnas fel.  OpenSSH använder -b också.  netcat (eller nc 
>> som det heter på OpenBSD) använder -s (för "source address").  man(1) är 
>> din vän, många kommandon kan sätta käll-IP, men inte alla...
>>
>> Niklas
>>
>>
>>
>>   
>>     
> Hmmm.
> Först vill jag tacka för era svar.
>
> Ping -S verkar inte ha någon effekt. Kanske source addressen sätts om 
> någonstans på vägen.
> Det kan kanske vara värt att nämna att jag kör nat på if xl0.
> -----
> # ping  -S 10.0.0.1 modem
> PING modem (10.0.0.138) from 10.0.0.1: 56 data bytes
> ^C
> --- modem ping statistics ---
> 3 packets transmitted, 0 packets received, 100% packet loss
> #
> #
> # tcpdump -i xl0 host 10.0.0.138
> tcpdump: listening on xl0
> 17:15:31.742250 89.131.129.100 > modem: icmp: echo request (DF)
> 17:15:32.737895 89.131.129.100 > modem: icmp: echo request (DF)
> 17:15:33.737755 89.131.129.100 > modem: icmp: echo request (DF)
> ------
>
> Vidare, arp verkar funka som det ska faktiskt.
>
>
> # arp -a
> modem (10.0.0.138) at 00:15:e9:f9:53:17 on xl0 [ethernet]
> ? (10.255.255.255) at ff:ff:ff:ff:ff:ff on xl0 permanent [ethernet]
> ? (89.131.128.1) at 00:00:5e:00:01:03 on xl0 [ethernet]
> ? (89.131.143.255) at ff:ff:ff:ff:ff:ff on xl0 permanent [ethernet]
> freja (192.168.1.129) at 00:1f:3a:31:cd:d7 on fxp0 [ethernet]
> ? (192.168.1.131) at (incomplete) on fxp0 [ethernet]
> ? (192.168.1.231) at 00:1c:b3:7c:63:b6 on fxp0 [ethernet]
> ? (192.168.1.244) at 00:b0:d0:e9:15:f6 on fxp0 [ethernet]
> ? (192.168.1.250) at 00:0a:e6:dd:a9:68 on fxp0 [ethernet]
> ? (192.168.1.255) at ff:ff:ff:ff:ff:ff on fxp0 permanent [ethernet]
> # arp -d modem
> modem (10.0.0.138) deleted
> # tcpdump arp
> tcpdump: listening on xl0
> 17:12:33.149022 arp who-has modem tell 10.0.0.1
> 17:12:33.149377 arp reply modem is-at 0:15:e9:f9:53:17
>
>
>
>
> Mattias
>
> _________________________________________________
> BSD Users Sweden -- BUS at stacken.kth.se
> https://lists.stacken.kth.se/mailman/listinfo/bus
>
>   


More information about the BUS mailing list