IP route ukazuje jen 169.254.0.0/16

- -

IP route ukazuje jen 169.254.0.0/16
« kdy: 24. 09. 2019, 13:26:47 »
Ahoj, prosím o radu jak nastavit routing tabulku u cloud serveru Hetzner.
Nainstaloval jsem tam pomocí jejich web konzole CentOS 6.10 a nejde internet, pingnout z/do serveru.
"ip r" ukazuje pouze:
169.254.0.0/16 dev eth0 scope link metric 1002

Už jsem četl na https://wiki.hetzner.de/index.php/CloudServer/en#What_are_Routes.3F že "The special private IP Address `172.31.1.1`. This IP address is being used as a default gateway of your servers public network interface. "

takže bych měl použít tu IP adresu jako bránu. To jsem zkoušel:
route add 172.31.1.1 eth0
route add default gw 172.31.1.1 eth0
ale nepomáhá to

konfigurační soubor eth0: https://i.postimg.cc/9Qc6VwK7/ifcfg-eth0.gif
« Poslední změna: 24. 09. 2019, 20:15:16 od Petr Krčmář »


McFly

  • *****
  • 594
    • Zobrazit profil
    • E-mail
Re:ip route ukazuje jen 169.254.0.0/16
« Odpověď #1 kdy: 24. 09. 2019, 14:01:37 »
Určitě ti nějakou IP adresu přidělili, ne?

https://wiki.hetzner.de/index.php/Cloud_IP_static/en

jvb

Re:ip route ukazuje jen 169.254.0.0/16
« Odpověď #2 kdy: 24. 09. 2019, 15:03:08 »
Máš to nakonfigurovaný na dhcp. Navíc nejspis spravované přes NetworkManager.

Ale prvne bych se zamyslel, jaký smysl má instalovat centos6, který je za rok mrtvý.


Mozna pro tebe bude lepsi utilita 'system-config-network-tui' pres kterou tam namatis adresy, ktere jsi dostal.

- -

Re:ip route ukazuje jen 169.254.0.0/16
« Odpověď #3 kdy: 24. 09. 2019, 16:05:47 »
https://wiki.hetzner.de/index.php/Cloud_IP_static/en
Díky to byl dobrý link, bohužel ta web konzole pro správu nepodporuje Ctrl > " ' a | (ani když to vložím přes clipboard - nahradí se to něčím jiným, třeba | tečkou), takže nevím teď jak mám ty soubory editovat. Podařilo se mi nahradit v souboru BOOTPROTO=dhcp na BOOTPROTO=static a pak nahradit IPV6... za IPADDR=mojevpsipv4
(použil jsem k tomu příkaz bez uvozovek:)
perl -pi -e s/BOOTPROTO=dhcp/BOOTPROTO=static/g /etc/sysconfig/network-scripts/ifcfg-eth0

bohužel po restartu network, to stále nefunguje, routing table teď obsahuje navíc:
116.0.0.0/8 dev eth0 proto kernel scope link src 116.mojevpsip...

Díval jsem se na jiný server u jiného providera, který běží na stejném OS a patří do /29 subnetu a jeho routing tabulka se trochu podobá:
*.*.*.136/29 dev em1  proto kernel  scope link  src *.*.*.138
169.254.0.0/16 dev em1  scope link  metric 1002
default via *.*.*.137 dev em1

(to VPSko nevím do jakého subnetu patří a jaká bude jeho gateway IP jestli taková je a hraje zde roli)

Divné mi je to co vidím pod ifconfig:
ve výstupu pod eth0 je kromě mé veřejné IP nastavené pod inet addr i "Bcast" 116.255.255.255 (116 je první část z té mojí veřejné IP) Říkám si, jestli to není tím, že jsem do toho konfiguračního souboru eth0 NEvložil následující:
NETMASK=255.255.255.255
DNS1=213.133.98.98
DNS2=213.133.99.99

Máš to nakonfigurovaný na dhcp. ...
Mozna pro tebe bude lepsi utilita 'system-config-network-tui' pres kterou tam namatis adresy, ktere jsi dostal.

Ano, myslel jsem že dhcp může být. Teď jsem tedy zkusil BOOTPROTO static, viz výše, ale to také nefungovalo.
system-config-network-tui -> command not found a do internetu se nepřipojím abych si to stáhnul

Poskytovatel mi píše: "You are missing the netmask and the route file. Please follow the steps in this wiki article:

https://wiki.hetzner.de/index.php/Cloud_IP_static/en#Fedora_.2F_CentOS"
« Poslední změna: 24. 09. 2019, 16:11:03 od - - »

- -

Re:ip route ukazuje jen 169.254.0.0/16
« Odpověď #4 kdy: 24. 09. 2019, 16:40:32 »
Zkusil jsem tedy do /etc/sysconfig/network-scripts/ifcfg-eth0 doplnit:
NETMASK=255.255.255.255
DNS1=213.133.98.98
DNS2=213.133.99.99
(perl -pi -e s/ONBOOT=yes/ONBOOT=yes\\nNETMASK=255.255.255.255\\nDNS1=213.133.98.98\\nDNS2=213.133.99.99/g /etc/sysconfig/network-scripts/ifcfg-eth0)

pak chci vytvořit soubor route-eth0
cp /etc/host.conf /etc/sysconfig/network-scripts/route-eth0
perl -pi -e s/multi on/172\.31\.1\.1\/32 dev eth0\\ndefault via 172\.31\.1\.1 dev eth0/g /etc/sysconfig/network-scripts/route-eth0

Ale chyba je: Substitution pattern not terminated at -e line 1.

Dělám to tak komplikovaně, protože Hetzner web konzole zdá se neumí Ctrl klávesu (v editoru vim), " ' >> | - , takže echo "" >> soubor apod. nejde. Nevíte co je špatně v tom perl příkazu?


Re:ip route ukazuje jen 169.254.0.0/16
« Odpověď #5 kdy: 24. 09. 2019, 18:03:28 »
perl -pi -e s/multi on/172\.31\.1\.1\/32 dev eth0\\ndefault via 172\.31\.1\.1 dev eth0/g /etc/sysconfig/network-scripts/route-eth0

Ale chyba je: Substitution pattern not terminated at -e line 1.

Ne-escapeovana mezera prerusi parametr, takze perl vidi ze dostal prikaz "s/multi" a ne "s/multi on/..."
Jestli jde vlozit $ { } tak muze pomoct misto takovych mezer napsat ${IFS} (predpokladam ze shell je bash, jiny neumim a nemam kde vyzkouset). To budou asi vsechny mezery od s/ do /g.

- -

Re:ip route ukazuje jen 169.254.0.0/16
« Odpověď #6 kdy: 24. 09. 2019, 22:04:30 »
Ne-escapeovana mezera prerusi parametr ... Jestli jde vlozit $
$ to taky neumí, ale když se mezera escapuje zpětným lomítkem, tak to fungovalo. příkaz který fungoval:
Kód: [Vybrat]
perl -pi -e s/multi\ on/172.31.1.1\\/32\ dev\ eth0\\ndefault\ via\ 172.31.1.1\ dev\ eth0/g /etc/sysconfig/network-scripts/route-eth0
Výsledek je tedy to, že jsem se pokusil nastavit statickou konfiguraci, viz https://wiki.hetzner.de/index.php/Cloud_IP_static/en#Fedora_.2F_CentOS

Díky mizerné Hetzner konzoli, která neumí Ctrl a další důležité znaky (| " ' > $) jsem tu static konfiguraci nakonec udělal těmito příkazy:
Kód: [Vybrat]
perl -pi -e s/BOOTPROTO=dhcp/BOOTPROTO=static/g /etc/sysconfig/network-scripts/ifcfg-eth0
perl -pi -e s/IPV6INIT=no/IPADDR=myvpspubliciphere/g /etc/sysconfig/network-scripts/ifcfg-eth0
perl -pi -e s/ONBOOT=yes/ONBOOT=yes\\nNETMASK=255.255.255.255\\nDNS1=213.133.98.98\\nDNS2=213.133.99.99/g /etc/sysconfig/network-scripts/ifcfg-eth0
cp /etc/host.conf /etc/sysconfig/network-scripts/route-eth0
perl -pi -e s/multi\ on/172.31.1.1\\/32\ dev\ eth0\\ndefault\ via\ 172.31.1.1\ dev\ eth0/g /etc/sysconfig/network-scripts/route-eth0
service network restart

a na obrázku v příloze vidíte výsledek (route a ifconfig). Začalo to pak odpovídat na ping a SSH  :D
Děkuji tedy za pomoc, motal jsem se v tom celý den. Třeba to bude někomu kdo používá Hetzner cloud server atd. v budoucnu ještě užitečné.
« Poslední změna: 24. 09. 2019, 22:09:44 od - - »

FKoudelka

Re:ip route ukazuje jen 169.254.0.0/16
« Odpověď #7 kdy: 26. 09. 2019, 08:55:16 »
Zkusil jsem tedy do /etc/sysconfig/network-scripts/ifcfg-eth0 doplnit:
NETMASK=255.255.255.255
DNS1=213.133.98.98
DNS2=213.133.99.99
(perl -pi -e s/ONBOOT=yes/ONBOOT=yes\\nNETMASK=255.255.255.255\\nDNS1=213.133.98.98\\nDNS2=213.133.99.99/g /etc/sysconfig/network-scripts/ifcfg-eth0)

pak chci vytvořit soubor route-eth0
cp /etc/host.conf /etc/sysconfig/network-scripts/route-eth0
perl -pi -e s/multi on/172\.31\.1\.1\/32 dev eth0\\ndefault via 172\.31\.1\.1 dev eth0/g /etc/sysconfig/network-scripts/route-eth0

Ale chyba je: Substitution pattern not terminated at -e line 1.

Dělám to tak komplikovaně, protože Hetzner web konzole zdá se neumí Ctrl klávesu (v editoru vim), " ' >> | - , takže echo "" >> soubor apod. nejde. Nevíte co je špatně v tom perl příkazu?
Zkousels ty uvozovky vlozit pomoci alt+ASCII? Alt+34 myslim

http://www.garth.cz/ostatni-www/jak-vlozit-znak-z-ascii-tabulky-za-pomoci-klavesy-alt-/

- -

Re:ip route ukazuje jen 169.254.0.0/16
« Odpověď #8 kdy: 26. 09. 2019, 11:56:09 »
Zkousels ty uvozovky vlozit pomoci alt+ASCII? Alt+34 myslim
právě jsem to zkusil a nepovedlo se. zkusil jsem oba alty a obě numerické klávesnice. i samo vkládání přes clipboard které teď funguje překonvertuje ty znaky na jiné. naštěstí už je ten problém se sítí vyřešen viz. výše.

- -

Re:IP route ukazuje jen 169.254.0.0/16
« Odpověď #9 kdy: 02. 10. 2019, 21:16:14 »
V těch výše uvedených "perl" příkazech je chyba (psal jsem to moderátorovi, ale neopravil to). perl na centos6 není, potřeba použít v příkazech místo "perl -pi -e" toto: "sed -i". A nezapomenou nahradit "myvpspubliciphere" skutečnou veřejnou IP serveru. Ohledně DNS serverů v těch příkazech je možné použít univerzální 1.1.1.1 a 8.8.8.8 .