My HP 8150w laptop has this neat lis3lv02d accelerometer to be able to detect when it's falling and to park the harddisk to prevent damage. I use this instrument to detect whether I'm on the road or at the office. This way, I can set preferences at boot-time, even before the network settings are loaded.
I have added a few scripts to my initrd, which are not very interesting. But what is, is the driver required to do this.
I created a file named /etc/dracut.conf.d/tilt.conf which contains: add_drivers="$add_drivers hp_accel lis3lv02d input_polldev"
After creating a new initrd by running dracut, my scripts can see the x/y/z tilt of the machine by reading from /sys/devices/platform/lis3lv02d/position
If you can login to the computer over VNC or RDP, you can use wmic to find the service tag: start > run > cmd On the command line, enter: wmic bios get serialnumber
Windows without VNC/RDP
If you cannot login to the computer over VNC or RDP, you can still use wmic to find the service tag: start > run > cmd On the command line, enter: wmic /node:computer-name-here bios get serialnumber You may need to use /user:yourusername and /password:yourpassword to get access to the remote computer. Running wmic /? gives a pretty good manual on what wmic can do.
Other uses of wmic
wmic is a very useful tool for a lot of stuff. For instance wmic csproduct can tell you exactly what model the computer is and wmic nic list shows useful information about your network.
Linux
Under Linux, you can run dmidecode -s system-serial-number to get the serial number. This can be done locally or over ssh.
Last week, I upgraded to Fedora 15 (codename: Lovelock). One of the new annoying "features" is that Google Chrome somehow got to be the default browser when I click a link from Firefox.
I Google'd around, and couldn't find how to fix it. So I decided to strace it. Apparently, Thunderbird launches gvfs-open to open a browser. Again I straced the command "gvfs-open https://www.geeklab.info", and found that it opens /usr/local/share/applications/defaults.list, which referred to google-chrome.desktop instead of mozilla-firefox.desktop. My file now contains:
Update: Since some crap keeps changing this file, i just made the file immutable. The command chattr +i /usr/local/share/applications/defaults.list prevents programs that would normally have permissions to edit the file to be blocked.
Today I made my first native IPv6 connection. I've been running Teredo/Miredo on my laptop for quite a while now, and I thought it was time to get a real IPv6 connection. I could use IPv6 autoconfiguration, but on a server you need a fixed IP.
Needed software
Install required packages that are not included in the Fedora default install: yum install iproute2 ndisc6
Configuring manually
Configuring the network is not that much different from configuring an IPv4 address.
IPv4
IPv6
ip addr add 1.2.3.4/24 dev eth0
ip addr add 2001:1BE8:DEAD:BEEF::1a1a/64 dev eth0
ip route add default via 1.2.3.254
ip route add default via 2001:1BE8:DEAD:BEEF::1
Now test it by pinging/tracerouting some known IPv6 services: [root@localhost ~]# ping6 ipv6.google.com PING ipv6.google.com(2a00:1450:8003::69) 56 data bytes 64 bytes from 2a00:1450:8003::69: icmp_seq=1 ttl=58 time=7.19 ms 64 bytes from 2a00:1450:8003::69: icmp_seq=2 ttl=58 time=7.52 ms 64 bytes from 2a00:1450:8003::69: icmp_seq=3 ttl=58 time=6.98 ms 64 bytes from 2a00:1450:8003::69: icmp_seq=4 ttl=58 time=7.44 ms ^C --- ipv6.google.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3003ms rtt min/avg/max/mdev = 6.989/7.287/7.525/0.227 ms [root@localhost ~]# tracert6 ipv6.google.com traceroute to ipv6.google.com (2a00:1450:8003::69) from 2001:1be8:dead:beef::1a1a, 30 hops max, 60 bytes packets 1 2001:1be8:dead:beef::1 (2001:1be8:3f03:541::1) 1.024 ms 0.970 ms 1.036 ms 2 2001:1be8::310:1 (2001:1be8::310:1) 2.618 ms 2001:1be8::300:1 (2001:1be8::300:1) 2.583 ms 2001:1be8::310:1 (2001:1be8::310:1) 2.527 ms 3 pr61.ams04.net.google.com (2001:7f8:1::a501:5169:1) 2.865 ms 2.536 ms 2.184 ms 4 2001:4860::1:0:4b3 (2001:4860::1:0:4b3) 2.801 ms 3.156 ms 24.731 ms 5 2001:4860::2:0:66e (2001:4860::2:0:66e) 7.021 ms 6.830 ms 96.541 ms 6 2001:4860:0:1::31 (2001:4860:0:1::31) 7.092 ms 7.367 ms 12.089 ms 7 2a00:1450:8003::69 (2a00:1450:8003::69) 6.996 ms 7.550 ms 7.341 ms
Configure at boot time
Step 1. Enable IPv6 networking
vim /etc/sysconfig/network then add (or replace): NETWORKING_IPV6=yes
Step 2. Configure IPv6 addresses
vim /etc/sysconfig/network-scripts/ifcfg-eth0 then add the following lines: IPV6INIT=yes IPV6ADDR=2001:1BE8:DEAD:BEEF::1a1a/64 IPV6_DEFAULTGW=2001:1BE8:DEAD:BEEF::1
Step 3. Test
Run service network restart or reboot to test. Warning: if you do this remotely, you may lose the connection. I first locked myself out of my test machine, but I always got a KVM switch attached or VMWare console.
Security
Please remember that using IPv6 also means that there's a new entrance to your network. Use ip6tables to set up a firewall.
Ubuntu/Debian
I'm running RedHat-based software on all of my machines. Above information may be useful for Ubuntu/Debian users, but it's not tested and I'm not supporting it.
Servers: RedHat Enterprise Linux/CentOS is more suitable for servers, as there's a lot of professional level support available. I think that's important, because if I say, get a car accident, I want the servers to be managable by another professional.
Desktops/Laptops: RPM packages are pretty exchangable between RedHat-based platforms. That's a good reason to run Fedora on the desktop.
Software that is not reachable, can't be hacked. Easy as that. So if you have an cloud-based anti-spam/anti-virus filter, you can block your smtp server for badguys.
In my situation, I'm using a Windows 2008 SBS server with Exchange 2007.
Start wf.msc
Go to inbound rules
Find MSExchangeTransportWorker and double-click it to open the properties
On the tab "scope", select "These IP addresses" and add the following IPs: 'Local subnet', 127.0.0.0/8, 192.168.0.0/16, fe80::/16
Also add the IPs of your anti-spam servers as well
Then click OK
Don't forget to check that the changes actually work by both checking an IP that can connect and one that doesn't
Save this one line of text as c:\windows\quiet.vbs CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False To run a batch file invisibly, start it using the following command: wscript.exe "C:\windows\quiet.vbs" "C:\path\file.bat"