Forum start | Logga in | Bli medlem |


Komma åt modemet trots att man är ansluten?

Diskussion kring säkerhet och nätverk.

Komma åt modemet trots att man är ansluten?

Inläggav dot 4 april 2009, 23:25

Har ADSL via ett modem som agerar brygga. ISP ger via modemet IP till nätverkskortet med DHCP. Det fungerar.

För att komma åt inställningarna i modemet måste man dock själv sätta ett lokalt IP, då når man modemet via en annan lokal IP-adress.

Kan man på nåt sätt både ha och äta kakan - nå modemets inställningar trots att man fått IP via DHCP?

Skulle det fungera att ansluta modemet till en switch, och därefter koppla datorn med 2 nätverkskort, en som är satt till fast IP och en som är satt till DHCP? Då säger ju ena kortet "ja tack" och blir global, och det andra "nej tack" och når inställningarna ?
(Dock förbenat omständigt, bara för att nå inställningarna ibland...)
Du når mig även på: dotpointer@gmail.com
dot
 
Inlägg: 272
Blev medlem: 17 juni 2004, 18:54
Ort: Värmdö

Re: Komma åt modemet trots att man är ansluten?

Inläggav kjell-e 5 april 2009, 02:10

Eftersom du kan ha virtuella interface så går det utmärkt att använda olika IP-nät på samma fysiska nät. Du kan t.ex. låta eth0 ha en IP-adress på 1.2.3/24 och eth0:1 en adress på 192.168.0.0/16 och eth0:2 en adress på 172.22.1.0/24 ...

När du från datorn vill nå en adress på 192.168-nätet kommer den trafiken att automatiskt gå via eth0:1. Så med virtuella interface kan du lösa problemet.
Användarvisningsbild
kjell-e
 
Inlägg: 2664
Blev medlem: 21 december 2002, 16:27
Ort: Linköping

Re: Komma åt modemet trots att man är ansluten?

Inläggav dot 5 april 2009, 20:02

Hur tar sig detta mot program som jobbar mot ethX då?
T ex dnsmasq, har de stöd för sånt här? Eller kan man redirecta program som bara har stöd för vanliga typen av interface till ett specifikt interface?
Du når mig även på: dotpointer@gmail.com
dot
 
Inlägg: 272
Blev medlem: 17 juni 2004, 18:54
Ort: Värmdö

Re: Komma åt modemet trots att man är ansluten?

Inläggav mikma 5 april 2009, 22:47

Det handlar inte om någon annan typ av interface utan det är möjligt att ha flera ip-adresser knutet till ett nätverksinterface.
mikma
 
Inlägg: 3348
Blev medlem: 10 juli 2003, 21:19

Re: Komma åt modemet trots att man är ansluten?

Inläggav erik_persson 6 april 2009, 05:59

dot skrev:Hur tar sig detta mot program som jobbar mot ethX då?
T ex dnsmasq, har de stöd för sånt här? Eller kan man redirecta program som bara har stöd för vanliga typen av interface till ett specifikt interface?


Det är precis som mikma skriver, men jag tänkte utveckla det lite utan att göra några anspråk på fullständighet, dels för att det är enormt komplext och jag inte kan allt, dels för att det inte behövs.
Ett interface har en eller flera ip-adresser. Det har till del betydelse för vilken information som datorn tar emot från nätverket. Därtill finns en routingtabell som talar om hur information ska skickas ut från datorn, ex:

Kod: Markera allt
server:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.200.150.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
a.b.c.0         0.0.0.0         255.255.255.0   U     0      0        0 eth1
0.0.0.0         a.b.c.1         0.0.0.0         UG    0      0        0 eth1

Detta anger, kortfattat, att alla paket som ska till nätverket 10.200.150.0/24 ska skickas ut direkt/lokalt (återkommer till detta senare) över eth0.
Alla paket till a.b.c.0/24 ska skickas ut lokalt över eth1.
Alla paket som ska någon annanstans (default route: 0.0.0.0) ska skickas till routern a.b.c.1 som nås på eth1.

För alla lokala adresser (tex gateway/routern som anges i default net, förutom alla andra datorer på a.b.c.0/24- och 10.200.150.0/24-näten) så finns dock en faktor som komplicerar allt. Nätverket som sådant har inte en aning om ip-adresser!!! Ethernet har tex inte en aning om ip-adresser!!!

För tex ethernet finns det dock en annan adressering genom de rimligt unika MAC-adresserna som varje ethernetkort har. När ett ethernet-interface ska skicka information till ett annat interface så sker adresseringen genom MAC-adressen. För att omvandla mellan ip-nummer och mac-adress på det lokala nätverket så används något som kallas arp (address resolution protocol). Om 10.200.150.1 ska skicka info till 10.200.150.2 så måste 10.200.150.1 få reda på MAC-adressen till 10.200.150.2 för att 10.200.150.1 ska kunna konstruera ethernet-paket som ska gå till 10.200.150.2. Det görs genom en arp-förfrågan. 10.200.150.1 skickar helt enkelt ut en ethernet broadcast, dvs ett paket som är destinerad till alla på det lokala nätverket, med en förfrågan om vem som har 10.200.150.2. 10.200.150.2 svara då att den har 10.200.150.2 och anger samtidigt sin egen MAC-adress. 10.200.150.1 sparar denna information ett tag i sin arp-cache. Nu kan 10.200.150.1 skicka paket över ethernet till 10.200.150.2, dvs 10.200.150.1 kan konstruera ethernetpaket som är destinerade till 10.200.150.2:s mac-adress. Paketen innehåller naturligtvis information även om sändande och mottagande ip-adress mm, men själva den grundläggande nätverksadresseringen på det lokala nätverket står ethernet och MAC-adressen för.

När du kopplar flera ip-adresser till ett interface (virtuella interface) så är det inte svårare än att du kopplar flera ip-nummer till interfacet och sätter upp flera ingångar i routingtabellen som anger dessa nya ip-nummer. Behändigt nog så brukar dessa routes läggas till automatiskt vad gäller de lokala näten. Skapar du tex ett virtuellt interface eth0:1 med adressen ex 192.168.10.3/24 (ifconfig eth0:1 192.168.10.3 netmask 255.255.255.0 up) så brukar det oftast skapas en route, i routingtabellen, som anger att lokala ip-adresser på detta nät, dvs 192.168.10.0/24 ska routas lokalt ut över eth0, dvs:

Kod: Markera allt
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0


tillkommer.

Om nu aktuell dator försöker skicka något till någon dator som har ip-adress inom 192.168.10.0/24 så skickas detta ut över eth0, möjligen efter en arp-förfrågan om 192.168.10.3 inte har den andra "datorn" i arp-cachen.
Sedan fungerar det precis som vanligt. Kommer det in en arp-förfrågan om 192.168.10.3 så svarar datorn på arp-förfrågan.

Nästa fråga rör att "binda" tjänster till interfacen/ip-adresserna. Bara för att datorn har flera ip-adresser behöver det inte nödvändigtvis betyda att en tjänst, tex named, dhcpd etc, svarar på förfrågningar som kommer in via dessa interface/ip-adresser. Hur man gör det får man dock se i manualen till aktuell tjänst.

Detta var en enkel beskrivning och det kan göras betydligt mycket mer komplext då linux har stöd för avancerad routing mm.

/erikp
erik_persson
 
Inlägg: 1471
Blev medlem: 29 augusti 2002, 15:19

Re: Komma åt modemet trots att man är ansluten?

Inläggav dot 6 april 2009, 11:24

Verkar ju inte så hemskt komplicerat. Hittade lite mer info: http://handsonhowto.com/virt.html

Riktigt häftigt ju, jag kan ha flera IP på ett interface. Wohoo! 8)

Men jag har en IP-krock: både datorn självt och modemet har 192.168.1.1.

Så en request på 192.168.1.1 kommer (och ska ju i dagsläget) landa hos datorn självt.

Kod: Markera allt
$> route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
81.x.x.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         81.x.x.1     0.0.0.0         UG    0      0        0 eth0


Ska jag försöka byta lokal-IP på modemet på eth0 från 192.168.1.1 till nåt annat, eller kan det undvikas?
Kanske 192.168.0.1 ?
Du når mig även på: dotpointer@gmail.com
dot
 
Inlägg: 272
Blev medlem: 17 juni 2004, 18:54
Ort: Värmdö

Re: Komma åt modemet trots att man är ansluten?

Inläggav erik_persson 6 april 2009, 14:15

dot skrev:Verkar ju inte så hemskt komplicerat. Hittade lite mer info: http://handsonhowto.com/virt.html

Riktigt häftigt ju, jag kan ha flera IP på ett interface. Wohoo! 8)

Men jag har en IP-krock: både datorn självt och modemet har 192.168.1.1.

Så en request på 192.168.1.1 kommer (och ska ju i dagsläget) landa hos datorn självt.

Kod: Markera allt
$> route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
81.x.x.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         81.x.x.1     0.0.0.0         UG    0      0        0 eth0



Fast där ser det inte ut som om du har något virtuellt interface. 192.168.1.0/24 är kopplat till eth1, 81.x.x.0/24 är kopplat till eth0, och sedan har du en default route över 81.x.x.1. Det ser inte ut som om du har 2 olika ip-adresser på ett och samma interface utifrån den routingtabellen. Har tagit bort något ur listningen?

dot skrev:Ska jag försöka byta lokal-IP på modemet på eth0 från 192.168.1.1 till nåt annat, eller kan det undvikas?
Kanske 192.168.0.1 ?


Varför måste datorn ha 192.168.1.1??? Kan du inte sätta den till 192.168.1.2 eller liknande??

I ärlighetens namn behöver du egentligen inte sätta upp ett virtuellt interface, det räcker med att dona lite i routingtabellerna på datorn OCH modemet,
ex på datorn
route add -host 192.168.1.1 eth1
Nu skickas alla paket som ska till 192.168.1.1 ut över eth1 lokalt (UTAN att datorn har något ip-nummer på det nätverket).
Modemets routingtabell måste dock också fixas så att det vet var det ska skicka och skicka tillbaka paket som ska till datorn (modemet har förmodligen bara en ingång i routingtabellen som anger 192.168.1.0/24 och blir antagligen helt ställt när det får paket från en dator som det inte något route till, om inte default route skulle råka fungera).
Å andra sidan slipper du dona med allt detta om du skapar ett virtuellt interface - det räcker med att skapa det. I ditt fall tex med

ifconfig eth1:1 192.168.1.2 netmask 255.255.255.0 up

så skapas en lämplig lokal route och dessutom behöver du inte bry dig om hur routingtabellen i modemet ser ut.

OT: Du kan "döpa" det virtuella interfacet inte bara till nummer, du kan tex köra en
ifconfig eth0:hej 192.168.1.2 netmask 255.255.255.0 up

Andra roliga saker att leka med kan vara:
arp -n
tcpdump
arping

/erik
erik_persson
 
Inlägg: 1471
Blev medlem: 29 augusti 2002, 15:19

Re: Komma åt modemet trots att man är ansluten?

Inläggav dot 6 april 2009, 18:30

Det är riktigt, det är så som nätet ser ut just nu, utan virtuella interfaces.
Har inte börjat än, bara prövat lite med ifconfig.

Datorn behöver inte ha 192.168.1.1, det är bara det att det är "standard" här. Många program och sånt är inställda på att servern/gatewayen ut är 192.168.1.1.

Modem byter man ju med leverantör (kan ju komma att byta ibland), är dessutom inte säker på att jag kan gröta i routingtabellen i modemet.

Kanske är bäst att köra ett virtuellt interface och flytta på LAN:et till 192.168.x.0-192.168.x.254 ? Frågan är bara vad jag ska sätta x till. :roll:
Du når mig även på: dotpointer@gmail.com
dot
 
Inlägg: 272
Blev medlem: 17 juni 2004, 18:54
Ort: Värmdö

Re: Komma åt modemet trots att man är ansluten?

Inläggav erik_persson 6 april 2009, 20:37

Jag vet inte riktigt om jag förstår problematiken.
Är det så att:
1) ADSL-modemet har ett interface som ligger på 192.168.1.1 och som kan användas tex för att styra modemet
2) Modemet agerar som vanligt som "brygga" mot ADSL, och vidarebefordrar ett ip-nummer till din "server". Låt oss kalla detta ip för a.b.c.d
3) Du har ett internet nätverk som utgår från servern som ligger på nätet e.f.d.0

dvs
Kod: Markera allt
---adsl----------------------<nät utåt>------------------<a.b.c.d>-server-<e.f.d.x>----<internt nät>-----
     \-<192.168.1.1>-----<nät för att nå modemet>------<192.168.1.x>/


Då spelar varken a.b.c.d eller 192.168.1.x någon som helst roll för ditt interna nätverk, eller för den del för servern. ADSL-modemet kräver väl inte att routern för nätet 192.168.1.0 ska ha samma ip-adress som ADSL-modemet själv har på detta nät?
Servern, som står på e.f.d.0 är ju gateway och det interfacet kan du ge adressen e.f.d.1. Serverns ip-adress för <nät att nå modemet> kan vara vilken ip-adress som helst som ligger på det nätet.
Du anger bara, antingen manuellt eller via dhcp, att dina klienter på <internt nät> ska använda e.f.d.1 som gateway, sedan är det serverns sak att route paketen rätt, och det är enkelt.
Servern har redan default route ut via <nät utåt>, en route mot det interna nätet och en route till <nät för att nå modemet>.

Försöker du lägga <internt nät> och <nät för att nå modemet> på samma ip-nät så kommer du att få problem, även om det går att lösa. Du kan då tex köra proxy arp eller köra 2 interface som en brygga, men det förefaller innebära onödigt mycket arbete.

Vad har jag missuppfattat?

/erik
erik_persson
 
Inlägg: 1471
Blev medlem: 29 augusti 2002, 15:19

Re: Komma åt modemet trots att man är ansluten?

Inläggav dot 6 april 2009, 21:03

Tror du fattat problematiken rätt bra.

Kanske klyddig illustration:
Bild

ADSL-modemet vill ha två olika krav uppfyllda, beroende på vad som sker:
- om konfiguration ska datorn ligga på samma subnät, 192.168.1.x
- om bryggning ska datorn fråga efter DHCP

Jag vill ha båda. Således ska jag köra med virtuella nätverksinterface.

Men modemet ligger på 192.168.1.1 och jag har samma IP på servern av en slump.
Dessutom har jag en DHCP mot LAN (eth1) som rullar på 192.168.1.x-serien och en route som skickar allt till 192.168.1.x till eth1.

Jag måste alltså byta nummerserie på LAN:et, eller åtminstone byta IP på servern och routa 192.168.1.1 ut på eth0.

Frågan är vad som är en bra nummerserie, vill inte "krocka" igen med annat bråte jag ansluter "framför" servern (på eth1).

EDIT:

Vasjutton! Ja kör 192.168.10.x! :)
Du når mig även på: dotpointer@gmail.com
dot
 
Inlägg: 272
Blev medlem: 17 juni 2004, 18:54
Ort: Värmdö

Re: Komma åt modemet trots att man är ansluten?

Inläggav erik_persson 6 april 2009, 21:54

dot skrev:Vasjutton! Ja kör 192.168.10.x! :)


Precis! Det spelar mindre roll vad du kör för ip på det interna nätverket. Du delar väl ändå ut ip-adresser, gateway etc med dhcp på det interna nätet, eller konfar klientern på det interna nätet för hand! Det blir enbart struligt om du ska försöka få servern att agera brygga eller om du ska köra proxy arp.
Låt ADSL-modemet på lägga beslag på 192.168.1.0/24-nätet. Det finns tillräckligt antal dylika privata nät att plocka ip-adresser ur (se tex http://en.wikipedia.org/wiki/Private_network )

/erikp
erik_persson
 
Inlägg: 1471
Blev medlem: 29 augusti 2002, 15:19

Re: Komma åt modemet trots att man är ansluten?

Inläggav dot 6 april 2009, 21:59

Har nu bytt nummerserie på LAN, till 192.168.10.2-192.168.10.255.

Har även kastat in en ny route och skapat ett nytt virtuellt interface, än så länge bara via ifconfig:
Kod: Markera allt
ifconfig eth0:1 192.168.1.2 netmask 255.255.255.0
route add -net 192.168.1.0 netmask 255.255.255.0 eth0


Kod: Markera allt
$> route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
localnet        *               255.255.255.0   U     0      0        0 eth0
localnet        *               255.255.255.0   U     0      0        0 eth0
81.x.x.0     *               255.255.255.0   U     0      0        0 eth0
192.168.10.0    *               255.255.255.0   U     0      0        0 eth1
loopback        *               255.0.0.0       U     0      0        0 lo
default         x         UG    0      0        0 eth0


Och gissa vad, jo jag kan både surfa OCH nå modemet! Success! :D

Frågan är nu vad jag gör med mitt brandväggsscript.
Ska jag köra samma som för LAN:et ?

Så här ser LAN ut:
Kod: Markera allt
# ... acceptera från interface LAN...
$IPT -A INPUT --in-interface $INTERFACE_LAN -j ACCEPT
# ... acceptera svarstrafik till denna...
$IPT -A INPUT -m state --state ESTABLISHED,RELATED --in-interface $INTERFACE_LAN -j ACCEPT

# ... acceptera även forwardade anslutningar till LAN...
$IPT -A FORWARD --in-interface $INTERFACE_LAN -j ACCEPT
# ... acceptera svarstrafik till denna...
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED --in-interface $INTERFACE_LAN -j ACCEPT


(där $INTERFACE_LAN är eth0...)

Och, hur gör jag ifconfig:en permanent i Slackware?

Hittade detta, är detta korrekt sätt (ska ändra IP-adresserna) ? :
I /etc/rc.d/rc.inet1.conf:
Kod: Markera allt
IFNAME[0]="eth0"            # Your primary IP... You don't really need  to
                            # declare the interface name, but it looks pretty
IPADDR[0]="67.18.208.100"   # Your public IP
NETMASK[0]="255.255.255.0"  # Said IP's netmask
USE_DHCP[0]=""              # The DHCP options should be blanked out, or they
DHCP_HOSTNAME[0]=""         # can be omitted from the file all together

IFNAME[1]="eth0:0"          # Your first alias interface. These need to be specified
                            # because otherwise rc.inet1 will attempt to use "eth$I"
                            # where $I is the array index
IPADDR[1]="192.168.130.100" # Linode is now recommending that you put your private
                            # IP in as an alias on eth0 due to a bug in Xen
NETMASK[1]="255.255.128.0"  # Netmask

GATEWAY="67.18.208.1"       # Your default gateway. The init script does not seem to
                            # support multiple gateways, so if you need to, you should
                            # add them to rc.local
Du når mig även på: dotpointer@gmail.com
dot
 
Inlägg: 272
Blev medlem: 17 juni 2004, 18:54
Ort: Värmdö

Re: Komma åt modemet trots att man är ansluten?

Inläggav dot 7 april 2009, 01:10

Glöm det där förresten, det löste sig.

Brandväggen löser det själv, den sätter WAN-nivå på hela rasket, inklusive eth-vad-som-helst.

Sen gick det bra att confa som det står ovan, efter omstart var eth0:1 tillbaka.
Du når mig även på: dotpointer@gmail.com
dot
 
Inlägg: 272
Blev medlem: 17 juni 2004, 18:54
Ort: Värmdö


Återgå till Nätverk & Säkerhet

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 1 gäst