sep 262018
 

Jeff Barr skrev nyligen i sin blogg om att man kan få terminalaccess på AWS-instanser via Session Manager om man rättigheter till det.
Läs mer här https://aws.amazon.com/blogs/aws/new-session-manager/
Funkar mot de instanser som har ssm-agenten installerad.

Det han hintade om, men inte beskrev hur man skulle göra var om man vill göra det via cli.
Så här gör man:
Installera först Session Manager Plugin
https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html#install-plugin-linux
Sedan kan man göra så här:

[atall@laptop ~]$ aws ssm start-session --target i-0d421cfd7ec752c02

Starting session with SessionId: atall-00d7b6dc947d71f40

sh-4.2$ hostname
ip-172-31-12-21
sh-4.2$
sh-4.2$
sh-4.2$
sh-4.2$ exit

Exiting session with sessionId: atall-00d7b6dc947d71f40.

[atall@laptop ~]$
 Posted by at 07:13
mar 102015
 

Knepig rubrik till detta inlägg, men följande har jag råkat ut för.

Ett antal servrar var uppsatta att boota från lvm med bara en pv. Allt fungerade bra tills man la till ytterligare en pv i vg.

Boot avbröts med bl.a. följande meddelande:

gave up waiting for root device. Common problems: boot args ( cat 
/proc/cmdline ) 
check rootdelay= (did the system wait long enough?) 
check root=(did the system wait for the right device? 
Missing modules (cat /proc/modules; ls /dev) 
ALERT! /dev/disk/<> does not exist.
Dropping to a shell!

Efter detta hamnar man i BusyBox.

Snabbaste sättet att få igång servern är då att starta lvm och sedan köra kommandot vgchange -ay.

Så här:

lvm> vgchange -ay
  3 logical volume(s) in volume group "vg0" now active
lvm>

Efter detta kan man avsluta lvm och BusyBox. Då bootar servern upp utan problem. Tyvärr blir det samma visa efter omstart.
Problemet finns i grubs device.map.

root@server:/# cat /boot/grub/device.map
(hd0)   /dev/sda

/dev/sdb/ saknas.

Provade update-grub

root@server:~# update-grub
Generating grub.cfg ...
/usr/sbin/grub-probe: error: Couldn't find PV pv1. Check your device.map.
Found linux image: /boot/vmlinuz-3.2.0-4-amd64
Found initrd image: /boot/initrd.img-3.2.0-4-amd64
/usr/sbin/grub-probe: error: Couldn't find PV pv1. Check your device.map.
/usr/sbin/grub-probe: error: Couldn't find PV pv1. Check your device.map.
/usr/sbin/grub-probe: error: Couldn't find PV pv1. Check your device.map.

Det gick inget vidare. Tricket är att skapa en ny/korrekt device.map. Till hjälp finns grub-mkdevicemap.

root@server:~# grub-mkdevicemap

Efter det kör man update-grub igen.

Om vi nu kikar på device.map igen så ser den ut så här:

root@server:/# cat /boot/grub/device.map
(hd0)   /dev/sda
(hd1)   /dev/sdb

Då gör vi ett nytt försök med update-grub.

root@nwtfront02:~# update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.0-4-amd64
Found initrd image: /boot/initrd.img-3.2.0-4-amd64
Done

Sedan är det ok att starta om.

 Posted by at 15:56
feb 052014
 

Om du inte vill att dina hostar ska autokonfigurera sig för IPv6, t.ex. på ett server-nät, är det naturligtvis bäst att stänga av det på hostarna direkt. Men förmodligen vill man stänga stänga av funktionen redan i routern. Normalt stänger man av RA (Router Advertisement). T.ex. på en Cisco ASA konfigurerar man det på interfacet så här:
ipv6 nd suppress-ra

Under IOS kan det se ut så här:
ipv6 nd ra suppress
Detta stoppar routern från att periodiskt skicka ut RA. Men när t.ex. en host startar skickar den ut Router Solicitation och då svarar routern ändå med RA och hosten konfigurerar sig ändå.

Varianten ipv6 nd ra suppress ska stoppa RA helt och hållet, men finns inte i alla versioner av IOS. Det finns diverse tips om att styra detta med ACLer etc.

Ett annat problem, som även gäller om man kan stänga av RA helt och hållet, är att det då stänger av autokonfigurering i ett läge då man har två eller fler IPv6 nät, men bara vill ha autokonfigurering för ett nät och inte för de andra.

Lösningen är att använda sig av no-autoconfig. På ett interface kan man t.ex. konfigurera följande:
ipv6 nd prefix 2001:AAAA:BBBB:CCCC::/64 14400 14400 no-autoconfig
På det viset kan man styra auto-konfigureringen per prefix. no-autoconfig fungerar genom att A-biten inte sätts i RA.

 Posted by at 12:55
jan 102014
 

vid ett par tillfällen har jag varit med om att IPv6 har stannat på ett interface på Cisco-utrustning. T.ex. kan det se ut så här på ett vlan-interface:

Switch#sh ipv6 int vlan 3 
Vlan3 is up, line protocol is up 
  IPv6 is stalled, link-local address is FE80::EE30:91FF:FE4B:5842 [DUP] 
  No Virtual link-local address(es): 
  Global unicast address(es): 
    2001:aaaa:bbbb:1206::1, subnet is 2001:aaaa:bbbb:1206::/64 [TEN] 
  Joined group address(es): 
    FF02::1 
  MTU is 1500 bytes 
  ICMP error messages limited to one every 100 milliseconds 
  ICMP redirects are enabled 
  ICMP unreachables are sent 
  Output features: Check hwidb 
  ND DAD is enabled, number of DAD attempts: 1 
  ND reachable time is 30000 milliseconds (using 22646) 
  Default router is FE80::EE30:91FF:FE4B:1BC1 on Vlan2

Switchen tyckte att det var duplicate på link-local adressen.

Jag löste det så här genom at först sätta en fast link-local address och sedan ta bort den igen:

Switch(config)#int vlan 3 
Switch(config-if)#ipv6 address fe80::1111 link-local 
Switch(config-if)#^Z 
Switch# 
Switch#sh ipv6 int vlan 3 
Vlan3 is up, line protocol is up 
  IPv6 is enabled, link-local address is FE80::1111 
  No Virtual link-local address(es): 
  Global unicast address(es): 
    2001:aaaa:bbbb:1206::1, subnet is 2001:aaaa:bbbb:1206::/64 
  Joined group address(es): 
    FF02::1 
    FF02::2 
    FF02::1:FF00:1 
    FF02::1:FF00:1111 
  MTU is 1500 bytes 
  ICMP error messages limited to one every 100 milliseconds 
  ICMP redirects are enabled 
  ICMP unreachables are sent 
  Output features: Check hwidb 
  ND DAD is enabled, number of DAD attempts: 1 
  ND reachable time is 30000 milliseconds (using 33127) 
  ND advertised reachable time is 0 (unspecified) 
  ND advertised retransmit interval is 0 (unspecified) 
  ND router advertisements are sent every 200 seconds 
  ND router advertisements live for 1800 seconds 
  ND advertised default router preference is Medium 
  Hosts use stateless autoconfig for addresses. 
Switch#sh run int vlan 3 
Building configuration... 

Current configuration : 133 bytes 
! 
interface Vlan3 
 ip address 10.4.6.1 255.255.255.0 
 ipv6 address FE80::1111 link-local 
 ipv6 address 2001:aaaa:bbbb:1206::1/64 
end 

Switch#conf t 
Enter configuration commands, one per line. End with CNTL/Z. 
Switch(config)#int vlan 3 
Switch(config-if)#no ipv6 address fe80::1111 link-local 
Switch(config-if)#^Z

Efter det såg det bättre ut.

Switch#sh run int vlan 3 
Vlan3 is up, line protocol is up 
  IPv6 is enabled, link-local address is FE80::EE30:91FF:FE4B:5842 
  No Virtual link-local address(es): 
  Global unicast address(es): 
    2001:aaaa:bbbb:1206::1, subnet is 2001:aaaa:bbbb:1206::/64 
  Joined group address(es): 
    FF02::1 
    FF02::2 
    FF02::1:FF00:1 
    FF02::1:FF4B:5842 
  MTU is 1500 bytes 
  ICMP error messages limited to one every 100 milliseconds 
  ICMP redirects are enabled 
  ICMP unreachables are sent 
  Output features: Check hwidb 
  ND DAD is enabled, number of DAD attempts: 1 
  ND reachable time is 30000 milliseconds (using 33127) 
  ND advertised reachable time is 0 (unspecified) 
  ND advertised retransmit interval is 0 (unspecified) 
  ND router advertisements are sent every 200 seconds 
  ND router advertisements live for 1800 seconds 
  ND advertised default router preference is Medium 
  Hosts use stateless autoconfig for addresses. 
Switch#

Varför det blev ett sådant här fel kan jag inte säga med bestämdhet, men jag misstänker att någon har råkat koppla ihop två portar på switchen så att den ser sig själv.

 Posted by at 14:53
Dec 132013
 

Vi fick problem med IPv6 på en ny Debian-server där vi körde 3.10 av kärnan. I normalläget funkade IPv6 bra, men det blev problem t.ex. när man kör över en Sixxs-tunnel med låg MTU, 1280. Att köra från datorn som har hand om tunneländan var inget bekymmer, eftersom MSS (maximum segment size) i TCP tar hand om det då den datorn vet om sin egen MTU på tunnelinterfacet. Däremot blev det problem med enheter som satt på nätet bakom tunneln, då de hade MTU på 1500 och därför högre MSS.

Problemet härleddes till att servern med 3.10 kärnan struntade i ICMP Packet Too Big. Som en första åtgärd sänkte jag MTU till 1280 på servern, vilket fungerade som tillfällig lösning. Sedan backade vi kärnan till 3.2 och då fungerade det som det skulle.

I efterhand ser vi att det verkar vara ett känt problem och att det jobbas på det, även om det inte är allmänt känt. Patchar är på väg.

 Posted by at 12:35
maj 252012
 

En cool feature som man ofta missar med vim är att öppna en fil och direkt komma till en viss rad. T.ex. om du har en fil ”testfil” som du vill öppna på rad 3 så skriv:

vim testfil +3

Det kanske inte är så märkvärdigt men det är användbart om du kör ssh och får en konflikt i .ssh/known_hosts och snabbt vill fixa det. Låt säga att konflikten är på rad 431. I stället för att hoppa till rad 481 när man öppnat  .ssh/known_hosts kan man helt enkelt skriva

vim ~/.ssh/known_hosts +431

En variant på det hela är att automatiskt hamna på den första förekomsten av ett specifikt mönster.

Om jag tex har en fil enligt följande

orbiter:~ atall$ cat testfil
Detta är en test fil
Detta är rad 2
Här kommer rad 3
Och slutligen har vi rad 4
orbiter:~ atall$

och sedan skriver

vim testfil +/kommer

så hamnar jag på rad 3 där ordet ”kommer” förekommer för första gången i filen.

Båda dessa varianter går att kombinera med att ett kommando körs. I exemplet med konflikten i .ssh/known_hosts vill man kanske ta bort just den raden. Jag visar ett exempel på det fast jag använder testfilen ovan.

 

orbiter:~ atall$ vim testfil +/kommer +d +x
orbiter:~ atall$ cat testfil
Detta är en test fil
Detta är rad 2
Och slutligen har vi rad 4
orbiter:~ atall$

Och vips är rad 3, där ordet ”kommer” förekom, borta.

 Posted by at 12:00
jul 272011
 

Jag behövde flera IPv6-adresser på ett interface på en Ubuntu linux. För IPv4 är det vanligt att man skapar subinterface t.ex. eth0:0, men det var ingen bra idé för IPv6.

Att göra så här i /etc/network/interfaces fungerade inte heller:

iface eth0 inet6 static
 address 2001:2040:2000:7::21
 address 2001:2040:2000:7::22
 netmask 64
 gateway 2001:2040:2000:7::1

Felmeddelandet blev:

# /etc/init.d/networking restart
* Reconfiguring network interfaces...
/etc/network/interfaces:20: duplicate option
ifdown: couldn't read interfaces file "/etc/network/interfaces"
/etc/network/interfaces:20: duplicate option
ifup: couldn't read interfaces file "/etc/network/interfaces"

I stället fick det bli så här:

iface eth0 inet6 static
 address 2001:2040:2000:7::21
 netmask 64
 gateway 2001:2040:2000:7::1
 post-up ip -f inet6 addr add 2001:2040:2000:7::22 dev eth0
 pre-down ip -f inet6 addr del 2001:2040:2000:7::22  dev eth0
 Posted by at 15:23
maj 122011
 

Just nu pågår LinuxTag 2011 i Berlin. Från den 11 till den 14 maj. Det som gör LinuxTag intressant för mig är blandningen av Linux/Open Source och industrin. Här hittar man allt från Linux Usergroups till stora etablerade företag, som t.ex. Oracle, IBM, Microsoft, LPI, Qualcomm, Nokia.

http://www.linuxtag.org/

Förutom utställningen är det mängder med intressanta föreläsningar.

http://www.linuxtag.org/2011/en/program.html

Tyvärr har jag bara möjlighet att vara med de två första dagarna.

 Posted by at 09:20