Open source RDP (Remote Desktop Protocol) server xrdp (Wikipedie) byl vydán ve verzi 0.10.0. Z novinek je vypíchnuta podpora GFX (Graphic Pipeline Extension). Nová větev řeší také několik bezpečnostních chyb.
Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.
Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].
V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.
O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.
Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.
Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).
Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.
inet 192.168.1.1/24 brd 192.168.1.255 scope global eth1
. So sietovkou su cez switch pripojene 2 routre 192.168.1.3 a 192.168.1.4. Oba routre maju default gateway 192.168.1.1. Moj problem spociva v tom, ze stroje za jednym routrom nevidia tie za druhym. ip_forward je povoleny. Routovacia tabulka je:
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.1 172.18.64.0/24 via 192.168.1.3 dev eth1 192.168.101.0/24 via 192.168.1.4 dev eth1Cim by to mohlo byt?
default gw
by mělo stačit.
Zkusil bych tcpdump, na tom stroji 192.168.1.1, abych zjistil jestli něco přijímá z těch dvou sítí co se nevidí. Smz takový adresát (192.168.1.1) musí existovat - nezapoměl náhodou nastavit adresu?
Který stav je závadějící?
Mně teda přijde chování linuxového IP stacku docela konzistentní. A jinak IP adresa je vlastností rozhraní (a nikoliv celého stacku) zejména kvůli routování - typická routa vede "via IP" (já vím, že jde nastavit routu "via dev" - ale říkejte to třeba takovému OSPF). Jestliže má daný stroj odeslat paket na danou cílovou IP adresu, potřebuje jednoznačně identifikovat rozhraní, kterým to má udělat.
Volba správné zdrojové adresy skutečně není tím hlavním důvodem.
To nemáte tak úplně pravdu. V Linuxu můžete klidně napsat
ip route add 10.11.12.0/24 dev eth1 ip route add 172.16.0.0/24 via 10.11.12.13
aniž byste měl na eth1
nastavenou jakoukoli adresu z rozsahu 10.11.12.0/24
. A to, že to funguje, když místo prvního řádku napíšu
ip addr add 10.11.12.1/24 dev eth1
je koneckonců dáno především tím, že pak tu položku v routovací tabulce vytvoří jádro za mne.
Navíc to s přiřazením adresy rozhraní není tak jednoznačné i proto, že jednu adresu klidně mohu přiřadit více rozhraním a pořád to bude správně fungovat. Pravdou ovšem je, že když podobné věci vysvětluji ortodoxním ciscařům, mívají tendenci na mne cákat svěcenou vodu… :-)
TCP spojení snad používá pro odesílání paketů jako návratovou adresu tu adresu, na kterou ji přišel požadavek na connect, ne?
Když odpovídám, tak ano. Ale co když spojení navazuji?
ale ten IP stack, nebo cokoliv jiného se stejně podle toho přes které rozhraní packet odchází stejně nemůže pořídit, protože můžu mít na jedné sítovce dvě adresy. Musí se rozhodovat leda podle routy, do které to nacpe.
Tak dobře, upřesním to. Preferovaná zdrojová adresa (tj. ta, která se použije, není-li určena předem (např. lokální adresou socketu)) je dána parametrem src
použité položky směrovací tabulky (přesněji cache). Neurčím-li ho explicitně, zvolí se:
secondary
s.bind(("192.168.4.216", 9234)) ... When you make an outbound connection, it will come from that IP and that port. You can use 0 for the IP and 0 for the port, in which case the kernel picks one for you. Or you can skip the bind call entirely, which is the same as binding to ('', 0).Takže pokud bind ze sys/socket.h funguje podobně, bude nutné ošetřit právě ten případ nespecifikování adresy, kdy ji volí kernel. A tím se dostávám k
"Neurčím-li ho explicitně, zvolí se: 1) adresa, kterou mám na odchozím rozhraní."
Nemyslím si že odchozí rozhraní může být v TCP specifikováno. Myslím, že proces může jen nastavit adresu src a packet odejde rozhraním podle nastavení rout.
Nemyslím si že odchozí rozhraní může být v TCP specifikováno. Myslím, že proces může jen nastavit adresu src a packet odejde rozhraním podle nastavení rout.
Ano, správně. Ale to není v rozporu s tím, co jsem napsal. Netvrdil jsem přeci, že odchozí interface volí proces, ten volí jádro podle směrovací tabulky (tabulek).
ip route
ale ip addr
se mi už zdá taky správně. Ta adresa na rozhraní je opravdu snad "jen" k tomu aby bylo podle čeho vybrat adresu která bude v IP paketu jako zdroj a proto tedy je adresa spřažená se zařízením hned při přidávání.
Díky za diskuzi.
Pokud byste to chtěl mít úplně "čisté", měl byste mít (kromě výchozí brány) na routeru s adresou 192.168.1.3 nastavenu routu 192.168.101.0/24 via 192.168.1.4 a na routeru s adresou 192.168.1.4 analogicky 172.18.64.0/24 via 192.168.1.3. Protože to nastaveno nemáte, cesta paketu z jedné sítě do druhé vypadá tak, že projde routerem "své" sítě, je předán tomu routeru 192.168.1.1, a ten by jednak měl poslat ICMP Redirect a jednak by měl paket (stejným rozhraním) správně směrovat na druhý vnitřní router.
To vaše řešení bez nastavených rout na vnitřních routerech by samozřejmě fungovat mělo také, ale jednak zbytečně zatěžuje vnější router vnitrosíťovým provozem a druhák - z nějakého důvodu nefunguje . (Napadá mě, explicitně se nezmiňujete, že stroj s adresou 192.168.1.1 je také router... I pokud by nebyl (je to třeba nějaký server), i na něm musíte mít povolen ip_forward, protože v důsledku chybějících rout na vnitřních routerech je také nucen (byť přes jedno rozhraní) routovat!)
No a pokud nic z toho nepomůže, je třeba vzít tcpdump či něco podobného a skutečně poslouchat na rozhraních všech tří routerů na síti 192.168.1.0/24 a zjistit, co se s paketem podě[la]lo. Až to zjistíte, určitě vás řešení napadne
Ještě mne napadá možnost, že 192.168.1.1 neví, jak se dostat do některé z "krajních" sítí.
V každém případě souhlasím, že by bylo dobré zjistit, kde ty pakety skutečně mizejí - popis "počítač X nevidí na počítač Y" neříká skoro nic.
Tiskni Sdílej: