<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Ansible Automation Platform and dynamic surveys on Sebastien Wains</title>
    <link>https://blog.wains.be/2026/2026-06-26-ansible-automation-platform-dynamic-surveys/</link>
    <description>Recent content in Ansible Automation Platform and dynamic surveys on Sebastien Wains</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 26 Jun 2026 00:00:00 +0200</lastBuildDate>
    
	<atom:link href="https://blog.wains.be/2026/2026-06-26-ansible-automation-platform-dynamic-surveys/index.xml" rel="self" type="application/rss+xml" />
    
    
    
    <item>
      <title>Ansible Automation Platform and dynamic surveys</title>
      <link>https://blog.wains.be/2026/2026-06-26-ansible-automation-platform-dynamic-surveys/</link>
      <pubDate>Fri, 26 Jun 2026 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2026/2026-06-26-ansible-automation-platform-dynamic-surveys/</guid>
      <description>As some of you may know, I work for Red Hat as an automation advocate in Belgium and Luxembourg.
My work is to assist customers leveraging automation to achieve their business objectives, and Ansible Automation Platform (AAP) can be instrumental in achieving those goals.
A request I hear from many customers is the desire for dynamic or programmable &amp;ldquo;surveys&amp;rdquo; inside Automation Controller (the REST API and Web UI part of AAP).</description>
    </item>
    
    
    
    
    
    <item>
      <title>Single Sign On with PocketID for your services behind Cloudflare zero trust</title>
      <link>https://blog.wains.be/2026/2026-03-02-cloudflare-zero-trust-pocketid/</link>
      <pubDate>Mon, 02 Mar 2026 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2026/2026-03-02-cloudflare-zero-trust-pocketid/</guid>
      <description>This post is an update on my 2023 post that was using Authentik.
I&amp;rsquo;ve moved away from Authentik because I was probably using 1% of the tool.
I settled on PocketID because I expect it to be simpler to maintain.
Assumptions:
you are already exposing a simple website service.example.com through Cloudflare Zero Trust this service is currently publicly accessible with no authentication whatsoever you still have to install PocketID at id.</description>
    </item>
    
    
    
    <item>
      <title>Graphing Shelly temperatures into Grafana</title>
      <link>https://blog.wains.be/2023/2023-12-11-shelly-mqtt-grafana/</link>
      <pubDate>Mon, 11 Dec 2023 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2023/2023-12-11-shelly-mqtt-grafana/</guid>
      <description>I own a Shelly i4 (DC model) that keeps an eye on two doors contacts (also knowns as reed switches), which I augmented with a Shelly Plus Addon that keeps an eye on five DS18B20 temperature sensors.
I use Homebridge so I can see the live state of doors and probes through the Homekit app on my phone.
The problem is Homekit won&amp;rsquo;t provide historical graphs. I&amp;rsquo;d like to know (for example) if temperature went below 0 degree.</description>
    </item>
    
    
    
    <item>
      <title>Fix Error: cannot re-exec process to join the existing user namespace in Ansible Automation Platform 2</title>
      <link>https://blog.wains.be/2023/2023-01-09-ansible-automation-platform2-error/</link>
      <pubDate>Mon, 09 Jan 2023 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2023/2023-01-09-ansible-automation-platform2-error/</guid>
      <description>I have a lab environment running Ansible Automation Platform 2.3 (AAP) that I use for my customer demos.
At the end of 2022 I stopped the VM for a couple of days.
Today I start my AAP VM as usual. Everything seemed to work except when I try to run a simple job template.
I get an error &amp;ldquo;cannot re-exec process to join the existing user namespace&amp;rdquo; in the job output.</description>
    </item>
    
    
    
    <item>
      <title>Single Sign On with Authentik for your services behind Cloudflare zero trust</title>
      <link>https://blog.wains.be/2023/2023-01-07-cloudflare-zero-trust-authentik/</link>
      <pubDate>Sat, 07 Jan 2023 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2023/2023-01-07-cloudflare-zero-trust-authentik/</guid>
      <description>Update Dec 25, 2024: steps updated for Authentik release 2024.12.1
Assumptions:
you are already exposing a simple website service.example.com through Cloudflare Zero Trust this service is currently publicly accessible with no authentication whatsoever Authentik is already installed (it&amp;rsquo;s really just a .env and a docker-compose.yml) and available at https://auth.example.com (behind Cloudflare too, in my case). you want to put the service behind an OpenID connect authentication you want any authenticated Authentik user to access the webpage You will need to find the name of your Cloudflare team:</description>
    </item>
    
    
    
    <item>
      <title>Generate the JWT (JSON web token) for Shaarli API authentication using Python and Javascript</title>
      <link>https://blog.wains.be/2022/2022-12-18-shaarli-jwt-token/</link>
      <pubDate>Sun, 18 Dec 2022 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2022/2022-12-18-shaarli-jwt-token/</guid>
      <description>Official documentation of Shaarli only gives a PHP example, but I&amp;rsquo;m more of a Python kind of guy.
This is how to generate a JSON web token (JWT) using some Python or Javascript code.
Python Keep in ming this uses PyJWT (pip install PyJWT) and not jwt.
Replace SHAARLI_API_SECRET accordingly:
#!/usr/bin/python3 import time import jwt now = int(time.time()) payload = { &amp;#34;iat&amp;#34; : now } SHAARLI_API_SECRET = &amp;#34;your shaarli REST API Secret&amp;#34; SHAARLI_HASH_ALGORITHM = &amp;#34;HS512&amp;#34; token = jwt.</description>
    </item>
    
    
    
    <item>
      <title>Fix error 1010 when using Cloudflare and Python</title>
      <link>https://blog.wains.be/2022/2022-12-05-fix-error-1010-cloudflare/</link>
      <pubDate>Mon, 05 Dec 2022 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2022/2022-12-05-fix-error-1010-cloudflare/</guid>
      <description>I recently moved from running a VPS in some cloud to running a VM on my home server and exposing it behind Cloudflare tunnels.
Everything was great until I decided to host an instance of Ansible Automation Platform (AAP).
I could reach the UI and API (using Insomnia). Somehow when trying to use the Automation Controller Ansible Collection to manage my AAP, I was getting an interesting error &amp;ldquo;Failed to get token: HTTP Error 403: Forbidden&amp;rdquo; with &amp;ldquo;response: error code: 1010&amp;rdquo;.</description>
    </item>
    
    
    
    <item>
      <title>Create VLANs for your libvirt virtual machines with Ubuntu&#39;s netplan</title>
      <link>https://blog.wains.be/2022/2022-08-30-netplan-vlan-virtual-machines/</link>
      <pubDate>Tue, 30 Aug 2022 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2022/2022-08-30-netplan-vlan-virtual-machines/</guid>
      <description>I work at Red Hat but I happen to run some Ubuntu systems.
Ubuntu has netplan for network management. I have to admit I find it easier than the nmcli or nmtui of Network Manager.
In 2020, I wrote about how to configure VLAN for libvirt virtual machines.
I&amp;rsquo;ll let you go through the 2020 article. The important thing to keep in mind is how a VM can&amp;rsquo;t connect to the host in the same VLAN in this setup.</description>
    </item>
    
    
    
    <item>
      <title>Variable substitution with envsubst</title>
      <link>https://blog.wains.be/2022/2022-07-30-envsubst/</link>
      <pubDate>Sat, 30 Jul 2022 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2022/2022-07-30-envsubst/</guid>
      <description>If you need to generate configuration files quickly based on templates, you can use envsubst to help you.
On Fedora, envsubst is part of the gettext package, which is installed by default.
Let&amp;rsquo;s imagine this template:
- name: $name group: core url: &amp;#34;https://$name.wains.be/&amp;#34; interval: 5m conditions: - &amp;#34;[STATUS] == 200&amp;#34; - &amp;#34;[CERTIFICATE_EXPIRATION] &amp;gt; 48h&amp;#34; Now export a variable:
export name=blog Now run envsubst:
$ envsubst &amp;lt; config.yaml - name: blog group: core url: &amp;#34;https://blog.</description>
    </item>
    
    
    
    <item>
      <title>Install StackRox on k3s</title>
      <link>https://blog.wains.be/2022/2022-04-02-stackrox-k3s/</link>
      <pubDate>Sat, 02 Apr 2022 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2022/2022-04-02-stackrox-k3s/</guid>
      <description>Tested on k3s 1.22.5.
StackRox has been open sourced a couple of days ago! StackRox has been acquired in February 2021 by Red Hat (my employer) and we stick to our promise to Open Source communities so we finally contributed the code back to the community.
The project is documented to install on k8s or OpenShift.
I wanted to give the StackRox project a try on my own VPS (running this very blog) but I run k3s on Ubuntu 21.</description>
    </item>
    
    
    
    <item>
      <title>Managing Thundebolt security on Fedora</title>
      <link>https://blog.wains.be/2022/2022-02-10-thunderbolt-security-management/</link>
      <pubDate>Thu, 10 Feb 2022 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2022/2022-02-10-thunderbolt-security-management/</guid>
      <description>I have a Lenovo t14s and a Dell WD19TB Thunderbolt Dock.
The thunderbolt security level is set to user authorized in the BIOS.
You need to use boltctl to authorize devices.
If you want to authorize the docking you can use:
boltctl list # take note of the uuid of your device boltctl authorize XXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX Authorizing won&amp;rsquo;t remember your docking if you unplug and replug it. You would have to authorize again.</description>
    </item>
    
    
    
    <item>
      <title>Fixing fwupdmgr&#39;s UEFI ESP partition not detected or configured on Fedora 34</title>
      <link>https://blog.wains.be/2021/2021-10-17-fedora-efi-fwupgrmgr/</link>
      <pubDate>Sun, 17 Oct 2021 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2021/2021-10-17-fedora-efi-fwupgrmgr/</guid>
      <description>Lenovo Thunderbolt docking stations are terrible Ever since getting my new Thinkpad t14s, my Lenovo ThinkPad Thunderbolt 3 gen 1 docking (Type 40AC) started acting up on the USB side.
The USB was flapping constantly (keyboard, mouse, camera and DAC attached to a USB switch plugged into the docking). The keyboard was missing keys, the mouse was lagging every other seconds, etc.
As a workaround, I decided to plug my USB stuff directly into the laptop and move on with life.</description>
    </item>
    
    
    
    <item>
      <title>💻 My Linux desktop environment (2021 update)</title>
      <link>https://blog.wains.be/2021/2021-10-10-my-desktop-environment/</link>
      <pubDate>Sun, 10 Oct 2021 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2021/2021-10-10-my-desktop-environment/</guid>
      <description>Moving from i3wm to bspwm In December 2019, I wrote about my Linux desktop environment running i3wm.
In May 2021, I changed role at Red Hat, requiring me to present and share my screen a lot more than when I was a consultant.
I started looking at how other tiling window managers were handling things and decided to give bspwm a try.
After some tests I made the move in September, because it is indeed easier to manage windows, I really liked the &amp;ldquo;client&amp;rdquo; (called bspc allowing you to &amp;ldquo;talk&amp;rdquo; to the server component) and it also felt slightly lighter.</description>
    </item>
    
    
    
    <item>
      <title>Spin up a Kubernetes cluster in a couple of minutes on Libvirt using Fedora Cloud images</title>
      <link>https://blog.wains.be/2021/2021-10-10-fedora-cloud-image-k3s/</link>
      <pubDate>Sun, 10 Oct 2021 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2021/2021-10-10-fedora-cloud-image-k3s/</guid>
      <description>There are many lightweight or light enough Kubernetes distributions out there: k0s, k3s, Microk8s, OpenShift CodeReady Containers, Microshift, etc.
Those lightweight distributions are a very inexpensive way to learn Kubernetes or OpenShift, and is a good approach to eventually embrace Enterprise Kubernetes distributions.
In this post I will show how to quickly spin up a virtual machine based on Fedora Cloud Image and install k3s on it. Using cloud images is the fastest way to provision and deprovision virtual machines, which allows you to create, play, break, destroy and respin very quickly.</description>
    </item>
    
    
    
    <item>
      <title>Enable virtual camera in OBS Studio on Fedora</title>
      <link>https://blog.wains.be/2021/2021-10-03-obs-studio-virtual-camera-fedora/</link>
      <pubDate>Sun, 03 Oct 2021 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2021/2021-10-03-obs-studio-virtual-camera-fedora/</guid>
      <description>TESTED ON FEDORA 34 AND 40. PLEASE REPORT SUCCESS OR FAILURE FOR YOUR FEDORA VERSION IN THE COMMENTS
By default on Fedora, when you install the package obs-studio you might not see the &amp;ldquo;Start virtual camera&amp;rdquo; button.
The reason is that OBS is expecting a v4l2loopback module to be loaded.
Installation In order to do so, you will need to enable rpmfusion repositories for your version of Fedora and install the package &amp;ldquo;v4l2loopback&amp;rdquo;:</description>
    </item>
    
    
    
    <item>
      <title>FRP - an open source alternative to ngrok</title>
      <link>https://blog.wains.be/2021/2021-03-17-frp-alternative-to-ngrok/</link>
      <pubDate>Wed, 17 Mar 2021 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2021/2021-03-17-frp-alternative-to-ngrok/</guid>
      <description>If you want to expose a service from your LAN to the internet and you can&amp;rsquo;t open ports, you can use ngrok, or its open source alternative FRP.
Server The server will be the middle man between your service and the person visiting.
Install FRP server (called frps).
I installed my instance on Docker using Ansible and the cloverzrg/frps-docker image:
--- - name: frps tunnel server side hosts: vps gather_facts: false become: true tasks: - name: frps docker_container: name: tunnel image: cloverzrg/frps-docker networks: - name: UserDefinedBridge purge_networks: yes restart_policy: &amp;#34;always&amp;#34; volumes: - /opt/docker/tunnel.</description>
    </item>
    
    
    
    <item>
      <title>Fix crackling sound in Libvirt VM with PulseAudio</title>
      <link>https://blog.wains.be/2021/2021-03-03-fix-crackling-sound-in-libvirt-withpulseaudio/</link>
      <pubDate>Wed, 03 Mar 2021 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2021/2021-03-03-fix-crackling-sound-in-libvirt-withpulseaudio/</guid>
      <description>So I run a Fedora virtual machine on a Libvirt host running in my garage.
I use SPICE and virt-viewer from my laptop in the office to connect to the VM.
Despite the cabled gigabit link, SPICE performances are not optimal.
While I can live with poor full screen video performances in SPICE, I can&amp;rsquo;t stand crackling audio.
The crackling audio was particularly bad when scrolling in a webpage in a browser or any kind of zooming on pictures.</description>
    </item>
    
    
    
    <item>
      <title>Home Assistant &#43; Conbee 2 Zigbee Gateway &#43; Xiaomi Button &#43; Zoneminder &#43; LaMetric &#43; Telegram = a smart 15 euro doorbell</title>
      <link>https://blog.wains.be/2020/2020-12-10-smart-doorbell/</link>
      <pubDate>Thu, 10 Dec 2020 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-12-10-smart-doorbell/</guid>
      <description>So you want a smart doorbell? I have wanted one for a long time.
My expectations:
as open source as possible notifications on phone and other devices notified when at home (obviously) but also when not at home I want a photo of the person, I don&amp;rsquo;t need to see the face in the notification, I only want to be able to tell if that&amp;rsquo;s the postman, the UPS guy, a neighbor or someone else (I can also review Zoneminder footage anyway) fast, definitely under one second between the press of the button and the notifications the doorbell should be able to withstand rain My problems:</description>
    </item>
    
    
    
    <item>
      <title>apcupsd custom script doesn&#39;t work</title>
      <link>https://blog.wains.be/2020/2020-11-12-apcupsd-script-not-running/</link>
      <pubDate>Thu, 12 Nov 2020 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-11-12-apcupsd-script-not-running/</guid>
      <description>By default on a Fedora system running SELinux in enforcing mode, custom scripts won&amp;rsquo;t be able to make any connection through curl, wget or else.
I changed /etc/apcupsd/onbattery to notify me on my Gotify instance, but it was not working when unplugging the UPS.
A quick look in journalctl gives us a pretty good hint:
Nov 12 22:04:47 yo.example.org python3[13500]: SELinux is preventing curl from name_connect access on the tcp_socket port 443.</description>
    </item>
    
    
    
    <item>
      <title>Migrating from false positives of Synology Surveillance Station to Zoneminder and very accurate motion detection and notification</title>
      <link>https://blog.wains.be/2020/2020-10-30-migrating-synology-surveillance-to-zoneminder/</link>
      <pubDate>Fri, 30 Oct 2020 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-10-30-migrating-synology-surveillance-to-zoneminder/</guid>
      <description>Motion without object detection is worthless I replaced my old Synology DS213j with a Fedora box. I have talked about this in a previous post.
The one thing that held me for a while was Synology&amp;rsquo;s take on home security, called Surveillance Station.
It was holding me from moving to a fully open source alternative, but admittedly Surveillance Station never worked quite well with my outdoor cameras (Eminent EM6360).
I was getting one million false positives a day and just decided to turn off notifications and just record constantly, and check the recording in case of break in.</description>
    </item>
    
    
    
    <item>
      <title>Replacing Synology DS213 with a custom build running Fedora</title>
      <link>https://blog.wains.be/2020/2020-10-07-replacing-synology-with-custom-build/</link>
      <pubDate>Wed, 07 Oct 2020 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-10-07-replacing-synology-with-custom-build/</guid>
      <description>Ever since purchasing a Synology NAS, the Linux admin in me have been frustrated with the limitations and sometimes weird implentations of Synology DSM.
I decided to go back to a fully open and much more manageable system for the sysadmin that I am.
I have a small rack in the garage so I was looking for a small form factor.
Mainboard: Gigabyte B450 I AORUS PRO WIFI ITX PSU: Be quiet!</description>
    </item>
    
    
    
    <item>
      <title>Configuring VLANs for your Libvirt virtual machines</title>
      <link>https://blog.wains.be/2020/2020-10-05-libvirt-trunk-vlan-vm/</link>
      <pubDate>Mon, 05 Oct 2020 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-10-05-libvirt-trunk-vlan-vm/</guid>
      <description>Previous title was &amp;ldquo;libvirtd with trunk port and VM in VLAN aware bridges&amp;rdquo;.
I use my small home server as a virtualization host running Fedora 32.
It has only one network interface enp8s0.
I have 3 VLANs:
10 home 20 guest 30 work My NAS sits in VLAN 10 and I wanted to be able to run virtual machines in VLAN 20 and 30 with no tagging done inside the guests VMs.</description>
    </item>
    
    
    
    <item>
      <title>Enable virtualization for AMD Ryzen on Gigabyte mainboard</title>
      <link>https://blog.wains.be/2020/2020-09-30-enable-virtualization-amd-ryzen/</link>
      <pubDate>Wed, 30 Sep 2020 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-09-30-enable-virtualization-amd-ryzen/</guid>
      <description>In BIOS:
choose M.I.T. menu (whatever that stands for) Advanced CPU Core Settings SVM (whatever that stands for) Mode to Enabled Save and exit </description>
    </item>
    
    
    
    <item>
      <title>libvirtd won&#39;t start with --listen option on Fedora</title>
      <link>https://blog.wains.be/2020/2020-09-30-fedora-libvirtd-listen/</link>
      <pubDate>Wed, 30 Sep 2020 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-09-30-fedora-libvirtd-listen/</guid>
      <description>If you have always passed the --listen option under /etc/sysconfig/libvirtd and you can&amp;rsquo;t get libvirt to listen on a recent Fedora install, read on.
Fedora has changed the way to start libvirt in listen mode.
The new way is to not touch /etc/sysconfig/libvirtd at all, and use libvirt socket services: systemctl enable libvirtd-tls.socket; systemctl start libvirtd-tls.socket.
You can keep using the &amp;ldquo;old&amp;rdquo; way by setting --listen in /etc/sysconfig/libvirtd but before running systemctl enable libvirtd.</description>
    </item>
    
    
    
    <item>
      <title>Ansible uri module doesn&#39;t necessarily urlencode variables</title>
      <link>https://blog.wains.be/2020/2020-09-23-ansible-uri-urlencode/</link>
      <pubDate>Wed, 23 Sep 2020 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-09-23-ansible-uri-urlencode/</guid>
      <description>For the longest time I have been using this bit of (kinda incorrect) Ansible code to log into IdM:
- name: Logging in to IPA and store session cookie uri: url: &amp;#34;{{ ipa_url }}/session/login_password&amp;#34; method: POST force_basic_auth: yes headers: Content-Type: &amp;#34;application/x-www-form-urlencoded&amp;#34; body: &amp;#39;user={{ username }}&amp;amp;password={{ password }}&amp;#39; status_code: 200 validate_certs: false register: login It turns out, if the password contains a percent character % (such as blah%blah), uri will fail to authenticate.</description>
    </item>
    
    
    
    <item>
      <title>Ansible Automates 2020 EMEA Talk</title>
      <link>https://blog.wains.be/2020/2020-06-10-ansible-automates-emea-2020/</link>
      <pubDate>Wed, 10 Jun 2020 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-06-10-ansible-automates-emea-2020/</guid>
      <description>For readers interested in Ansible, I gave a talk about Ansible and Red Hat Consulting at the Ansible Automates 2020 Event, with my colleagues Anton and Marc.
Ansible Automates is a full day event, and it was virtual this year, as most events.
Our talk was mostly targeted at a business audience (which might not be the dominant audience of this blog :-)).
If you&amp;rsquo;re looking for more technical content, Ansible Automates is packed with great technical sessions.</description>
    </item>
    
    
    
    <item>
      <title>Ultra wide 3440x1440 resolution on a libvirt VM</title>
      <link>https://blog.wains.be/2020/2020-06-08-ultrawide-resolution-libvirt-vm/</link>
      <pubDate>Mon, 08 Jun 2020 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-06-08-ultrawide-resolution-libvirt-vm/</guid>
      <description>I&amp;rsquo;ve been trying to add the new mode for my ultra wide monitor with resolution 3440x1440.
I was getting this error:
X Error of failed request: BadName (named color or font does not exist) Before my wide screen, I used to configure my VM with QXL drivers.
It turns out QXL won&amp;rsquo;t accept the ultrawide resolution.
Solution reconfigure your VM with Virtio graphical drivers
execute this script:
#!/bin/bash DISP=Virtual-1 cvt 3440 1440 # use the values returned by cvt xrandr --newmode $DISP &amp;#34;3440x1440&amp;#34; 419.</description>
    </item>
    
    
    
    <item>
      <title>Build a search engine for your Hugo website</title>
      <link>https://blog.wains.be/2020/2020-06-02-hugo-search-lunr/</link>
      <pubDate>Tue, 02 Jun 2020 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-06-02-hugo-search-lunr/</guid>
      <description>From Mkdocs to Hugo I moved this blog from Mkdocs to Hugo just yesterday.
Mkdocs has a great search engine by default but no RSS.
Hugo has RSS built in but no search engine. Some themes provide the search functionality, though.
I like simple stuff and decided to go with Etch theme, which unfortunately is one of those themes with no search engine.
Hugo doesn&amp;rsquo;t have search engine I decided to investigate my options and discovered that Lunr could help me on the task.</description>
    </item>
    
    
    
    <item>
      <title>Minimal Caddy2 reverse proxy &#43; letsencrypt for your Docker containers</title>
      <link>https://blog.wains.be/2020/2020-05-05-caddy2-reverse-proxy-letsencrypt/</link>
      <pubDate>Tue, 05 May 2020 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-05-05-caddy2-reverse-proxy-letsencrypt/</guid>
      <description>For the demonstration purpose, let&amp;rsquo;s create a container, we can use whoami:
docker run --name whoami --net userbridge containous/whoami Create the configuration file for Caddy, for example under /opt/docker/caddy/Caddyfile:
{ # email to use on Let&amp;#39;s Encrypt email youremail@example.org #acme_ca https://acme-staging-v02.api.letsencrypt.org/directory #debug } example.org { file_server } who.example.org { reverse_proxy http://whoami:80 } Create your Caddy container:
docker run -d -p 80:80 -p 443:443 \ --name caddy \ --net userbridge \ -v /opt/docker/caddy/Caddyfile:/etc/caddy/Caddyfile \ -v /opt/docker/caddy/data:/data \ caddy Caddy should sit in the same network as the container (here userbridge) you want to reverse proxy.</description>
    </item>
    
    
    
    <item>
      <title>Make a regexp redirect in dynamic configuration file with Traefik v2</title>
      <link>https://blog.wains.be/2020/2020-05-04-traefik2-redirect-regex-file/</link>
      <pubDate>Mon, 04 May 2020 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-05-04-traefik2-redirect-regex-file/</guid>
      <description>/etc/traefik/traefik.yml:
[...] providers: file: directory: &amp;#34;/etc/traefik/dynamic/&amp;#34; watch: true [...] /etc/traefik/dynamic/redirect.yml:
http: middlewares: redir: redirectRegex: permanent: true regex: &amp;#34;http://old.wains.be/(.*)&amp;#34; replacement: &amp;#34;https://new.wains.be/${1}&amp;#34; routers: redir: rule: &amp;#34;HostRegexp(`old.wains.be`)&amp;#34; entrypoints: - http middlewares: - redir tls: certresolver: &amp;#34;letsencrypt&amp;#34; service: &amp;#34;ThisWillNeverBeUsedButNeedsToBeThere&amp;#34; services: ThisWillNeverBeUsedButNeedsToBeThere: loadBalancer: servers: - url: &amp;#34;http://127.0.0.1&amp;#34; As you can notice, we have to declare a dummy service, otherwise the redirect will never work.
NOTE: if your old address used to be as https, Traefik should have a valid certificate for the URL.</description>
    </item>
    
    
    
    <item>
      <title>A Telegram Chatbot for Kanboard with NodeRED</title>
      <link>https://blog.wains.be/2020/2020-03-20-telegram-chatbot-kanboard/</link>
      <pubDate>Fri, 20 Mar 2020 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-03-20-telegram-chatbot-kanboard/</guid>
      <description>Context I&amp;rsquo;ve used a number of todo list applications over the years.
I have recently decided to use a simple kanban with three columns (todo/wip/done) as my todo list, and it works wonders.
I self-host a Kanboard instance, so I have full control over my boards.
I no longer depend on a company that could decide to shut down the service overnight (not looking at you, Microsoft [after purchasing Wunderlist]).</description>
    </item>
    
    
    
    <item>
      <title>How to fix the Synology Cloud Sync Unknown error occurs non sense</title>
      <link>https://blog.wains.be/2020/2020-03-10-fix-synology-cloud-sync-unknown-error-occurs/</link>
      <pubDate>Tue, 10 Mar 2020 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-03-10-fix-synology-cloud-sync-unknown-error-occurs/</guid>
      <description>I sync my data from my Seafile instance back to my NAS. Well, when it works.
In the most random fashion, my Synology NAS &amp;ldquo;Cloud Sync&amp;rdquo; enjoys to take a break. And up until now, it seemed impossible to get it back to sync.
You would expect that restarting the app would trigger a resync, but alas, no, it doesn&amp;rsquo;t. We&amp;rsquo;re talking about Synology here, right.
The only option was to unlinking and relinking stuff, which meant reconfiguring.</description>
    </item>
    
    
    
    <item>
      <title>Node-RED</title>
      <link>https://blog.wains.be/2020/2020-02-25-nodered/</link>
      <pubDate>Tue, 25 Feb 2020 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-02-25-nodered/</guid>
      <description>As per their website: Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.
With default install, you can wire up API, mostly.
I installed Node-RED on my VPS using their Docker image: https://hub.docker.com/r/nodered/node-red
If you want to use Ansible to deploy your Node-RED (in my case behind Traefik v2):
- name: node docker_container: name: node image: &amp;#39;nodered/node-red:latest&amp;#39; networks: - name: YOURBRIDGE purge_networks: yes env: TZ: &amp;#34;Europe/Brussels&amp;#34; labels: ansible: &amp;#34;true&amp;#34; traefik.</description>
    </item>
    
    
    
    <item>
      <title>Mkdocs publishing workflow</title>
      <link>https://blog.wains.be/2020/2020-02-17-mkdocs-publishing-workflow/</link>
      <pubDate>Mon, 17 Feb 2020 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-02-17-mkdocs-publishing-workflow/</guid>
      <description>I write articles on my personal computer.
Mkdocs supports Markdown, which has some great advantages:
articles are stored as plain text on disk the content is indexed making it easy to find content with Alfred/Spotlight/grep you can grep, sed, awk the hell out of your articles and bring corrections very quickly can (and should!) be stored in a Git repository This is my current publication workflow:
I edit articles locally with [Visual Studio Code] (yes, it is an open source Microsoft product, and it is very good) I commit changes to my [GitHub] With an Alfred workflow, I automatically connect to my VPS and do: a &amp;ldquo;git pull&amp;rdquo; to retrieve updates rebuild the doc (which is served as static files by the HTTP server) </description>
    </item>
    
    
    
    <item>
      <title>Monitor logs live and take actions with swatchdog</title>
      <link>https://blog.wains.be/2020/2020-01-12-swatch-log-monitor/</link>
      <pubDate>Sun, 12 Jan 2020 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2020/2020-01-12-swatch-log-monitor/</guid>
      <description>swatchdog was originally called swatch. I&amp;rsquo;ll call it swatch in this article.
So, swatch is a very simple process that can monitor a log file live, and take actions if a string is found.
It&amp;rsquo;s an ideal situation if you don&amp;rsquo;t have the resources to run a full fledged monitoring solution such as Graylog.
On Fedora, install the package:
sudo dnf install swatch Create a configuration file .swatchrc, for example:</description>
    </item>
    
    
    
    <item>
      <title>💻 My Linux Desktop Environment</title>
      <link>https://blog.wains.be/2019/2019-12-11-my-linux-desktop-environment/</link>
      <pubDate>Wed, 11 Dec 2019 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2019/2019-12-11-my-linux-desktop-environment/</guid>
      <description>I have used Linux as a desktop environment since about 2006, mostly with Gnome or Cinnamon.
Around 2016 I got bored of the general direction that most desktop environments (&amp;ldquo;DE&amp;rdquo; for short) were taking (what I would call &amp;ldquo;Apple-ization&amp;rdquo;) and decided to tailor, hand craft, optimize and automate my Linux DE.
By no way the aim was to make it sexy, but rather making it more efficient, distraction-free, fast, favoring keyboard usage, using as much display estate as possible.</description>
    </item>
    
    
    
    <item>
      <title>Ulauncher extension for TPLink HS110 Smart Plugs</title>
      <link>https://blog.wains.be/2019/2019-12-08-ulauncher-tplink/</link>
      <pubDate>Sun, 08 Dec 2019 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2019/2019-12-08-ulauncher-tplink/</guid>
      <description>I have ordered a TPLink HS110 Smart Plug to test how it compares to my aging Wemo plugs.
They are super straight forward, reliable and they don&amp;rsquo;t hiss like some Wemos can do.
I have created an extension for Ulauncher allowing to manage my plug.
It is available at https://ext.ulauncher.io/-/github-sebw-ulauncher-tplink-smartplug</description>
    </item>
    
    
    
    <item>
      <title>Freeipa Authentication Failure in AD Trust setup</title>
      <link>https://blog.wains.be/2019/2019-12-05-freeipa-authentication-failure-upn/</link>
      <pubDate>Thu, 05 Dec 2019 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2019/2019-12-05-freeipa-authentication-failure-upn/</guid>
      <description>Problem:
Authentication fails for AD users on RHEL system in an Freeipa/AD trusted environment.
The following errors can be found in the logs:
Cannot find KDC for realm &amp;quot;EXAMPLE.COM&amp;quot; in /var/log/sssd/krb5_child.log Backend is marked offline, retry later! in /var/log/sssd/sssd_$domain.log pam_unix(sssd:auth): authentication failure in /var/log/secure Assumptions and context:
AD domain: example.org Freeipa domain: linux.example.org AD User: test userPrincipalName (UPN) for &amp;ldquo;test&amp;rdquo;: firstname.lastname@example.com &amp;lt;&amp;mdash; UPN domain example.com is different than example.org!!! Connection to RHEL client with: ssh test@example.</description>
    </item>
    
    
    
    <item>
      <title>i3 - making Firefox full screen inside its i3 container</title>
      <link>https://blog.wains.be/2019/2019-11-13-full-screen-firefox-i3-container/</link>
      <pubDate>Wed, 13 Nov 2019 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2019/2019-11-13-full-screen-firefox-i3-container/</guid>
      <description>Problem So if you press F11 in Firefox, by default it goes 100% full screen.
If you want to put Firefox in an i3 workspace shared with other applications and make Firefox &amp;ldquo;full screen&amp;rdquo; inside its container, as presented below:
Solution In Firefox, in the URL bar type about:config.
Then change:
full-screen-api.ignore-widgets: true </description>
    </item>
    
    
    
    <item>
      <title>Block DNS ANY queries in Docker iptables</title>
      <link>https://blog.wains.be/2019/2019-04-17-docker-iptables-block-dns-any/</link>
      <pubDate>Wed, 17 Apr 2019 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2019/2019-04-17-docker-iptables-block-dns-any/</guid>
      <description>You can use the DOCKER-USER chain to pass any custom iptables rules you want.
In my case, I run a DNS resolver publicly and want to prevent it from being abused in DNS amplification attacks.
I use the following:
iptables -I DOCKER-USER -p udp --dport 53 -m string --hex-string &amp;#34;|0000FF0001|&amp;#34; --algo bm --from 40 -j DROP iptables -I DOCKER-USER -p tcp --dport 53 -m string --hex-string &amp;#34;|0000FF0001|&amp;#34; --algo bm --from 52 -j DROP </description>
    </item>
    
    
    
    <item>
      <title>Record your terminal with asciinema</title>
      <link>https://blog.wains.be/2019/2019-04-17-record-terminal/</link>
      <pubDate>Wed, 17 Apr 2019 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2019/2019-04-17-record-terminal/</guid>
      <description>On Fedora you can install with: dnf install asciinema
To start recording: asciinema rec /path/to/mysession.cast
End recording: Ctrl-D or exit
Play a session: asciinema play /path/to/mysession.cast
Learn more at https://asciinema.org/</description>
    </item>
    
    
    
    <item>
      <title>Remove Docker orphans</title>
      <link>https://blog.wains.be/2019/2019-04-17-docker-remove-orphans/</link>
      <pubDate>Wed, 17 Apr 2019 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2019/2019-04-17-docker-remove-orphans/</guid>
      <description>Orphan volumes List mountpoints that are not in use:
for j in $(for i in $(docker volume ls -qf dangling=true) do docker volume inspect $i | grep &amp;#34;Mountpoint&amp;#34; | awk -F&amp;#39;:&amp;#39; &amp;#39;{print $2}&amp;#39; | awk -F&amp;#39;&amp;#34;&amp;#39; &amp;#39;{print $2}&amp;#39; done) do du -h --max-depth=1 $j done Now feel free to remove folder that you considered not needed anymore.
Orphan images Removing unused images is possible directly from the Docker command:
$ docker image prune -a WARNING!</description>
    </item>
    
    
    
    <item>
      <title>Gotify, a self-hosted push notification app</title>
      <link>https://blog.wains.be/2019/2019-03-16-gotify-self-hosted-push-notification/</link>
      <pubDate>Sat, 16 Mar 2019 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2019/2019-03-16-gotify-self-hosted-push-notification/</guid>
      <description>Project page
Source code
Gotify is:
a simple server for sending and receiving messages self-hosted free and open source under MIT license a simple API a simple GUI written in Go building docker images at every release It comes with a nice Android application available on the Play Store and F-Droid, that listens for events over a websocket.
I have been using it for about 10-12 days now, without noticeable impact on battery.</description>
    </item>
    
    
    
    <item>
      <title>Simulating slow disks with Libvirt</title>
      <link>https://blog.wains.be/2019/2019-03-08-simulating-slow-disks-with-libvirt/</link>
      <pubDate>Fri, 08 Mar 2019 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2019/2019-03-08-simulating-slow-disks-with-libvirt/</guid>
      <description>I once wrote about how to simulate latency on Linux.
The article has been useful for myself recently, as I was at a customer who was having all kind of weird issues, probably caused by unreliable network, and slow performing disks.
I recreated their environment on my Libvirt lab.
You can throttle the I/O of a Libvirt disk, as documented here and here.
Example:</description>
    </item>
    
    
    
    <item>
      <title>Random 502 Bad Gateway on Docker CE</title>
      <link>https://blog.wains.be/2019/2019-02-23-random-502-docker/</link>
      <pubDate>Sat, 23 Feb 2019 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2019/2019-02-23-random-502-docker/</guid>
      <description>For a long time I was getting random 502 errors &amp;ldquo;Bad Gateway&amp;rdquo; on my Docker instance running on a small VPS.
I run my containers behind a reverse proxy, with Let&amp;rsquo;s Encrypt.
Initially I was using Nginx, then moved on to Traefik, but the problem remained.
I was thinking it was related to the number of containers (16 for 2GB of RAM), but that was a network issue according to logs (cannot connect to host).</description>
    </item>
    
    
    
    <item>
      <title>An easy Pastebin-like service with a command line client</title>
      <link>https://blog.wains.be/2019/2019-02-18-easy-pastebin/</link>
      <pubDate>Mon, 18 Feb 2019 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2019/2019-02-18-easy-pastebin/</guid>
      <description>Let me introduce you to Hastebin.
It is a simple pastebin service that you can self-host.
Server The server bits are available at https://github.com/seejohnrun/haste-server.
I personally use this Docker container: https://hub.docker.com/r/mkodockx/docker-pastebin
Client The awesome part is that you can paste from the command line!
You have two choices: using gem or a simple bash alias that doesn&amp;rsquo;t require you to install anything (besides curl).
Using Gem gem install haste Create an alias in your .</description>
    </item>
    
    
    
    <item>
      <title>Switching to ZSH</title>
      <link>https://blog.wains.be/2019/2019-02-18-zsh/</link>
      <pubDate>Mon, 18 Feb 2019 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2019/2019-02-18-zsh/</guid>
      <description>Everything has already been said and documented about ZSH.
I made the switch two days ago and only regret I didn&amp;rsquo;t switch before.
I have checked ZSH and Oh my zsh back and forth for the past two years, but never committing to it.
I was thinking it was too much trouble learning something new, for too little benefits.
Oh boy I was wrong.
First of all, it&amp;rsquo;s 99% like bash but you get power user features making you even more efficient at the CLI.</description>
    </item>
    
    
    
    <item>
      <title>Tmux basics</title>
      <link>https://blog.wains.be/2019/2019-01-13-tmux-basics/</link>
      <pubDate>Sun, 13 Jan 2019 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2019/2019-01-13-tmux-basics/</guid>
      <description>A long long time ago I wrote about screen.
While screen has been helping sharing terminals with colleagues or clients for many years, tmux is the alternative that can apparently achieve more.
You can refer to https://tmuxcheatsheet.com/ for all the useful tips.
My (very) basic usage of tmux is to split the screen when I need to work on anything else than my workstation (on which I run terminator that can split terminals).</description>
    </item>
    
    
    
    <item>
      <title>Traefik reverse proxy for containers with Lets Encrypt</title>
      <link>https://blog.wains.be/2019/2019-01-13-traefik-letsencrypt/</link>
      <pubDate>Sun, 13 Jan 2019 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2019/2019-01-13-traefik-letsencrypt/</guid>
      <description>IMPORTANT: This blog post covers Traefik version 1.
With Traefik, you can easily reverse proxy your containers, and automatically generate a Let&amp;rsquo;s Encrypt certificate for them. It&amp;rsquo;s pretty awesome. No more complicated Nginx containers coupled with another Let&amp;rsquo;s Encrypt companion!
In the following setup, the name of the container will be used for the certificate generation.
For example, if you define domain = example.org in Traefik configuration, and your container is called container01, a certificate will automatically be generated for container01.</description>
    </item>
    
    
    
    <item>
      <title>Access GTK3 application from a browser</title>
      <link>https://blog.wains.be/2018/2018-12-02-gtk3-app-browser/</link>
      <pubDate>Sun, 02 Dec 2018 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2018/2018-12-02-gtk3-app-browser/</guid>
      <description>Start broadwayd
broadwayd :5 &amp;amp; Start a GTK3 application (for example gtk3-demo)
GDK_BACKEND=broadway BROADWAY_DISPLAY=:5 gtk3-demo Application can now be reached from http://hostname:8085.</description>
    </item>
    
    
    
    <item>
      <title>PXE boot on Libvirt</title>
      <link>https://blog.wains.be/2018/2018-12-02-pxe-boot-libvirt/</link>
      <pubDate>Sun, 02 Dec 2018 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2018/2018-12-02-pxe-boot-libvirt/</guid>
      <description>Allow TFTP for the libvirt network:
virsh net-destroy lab virsh net-edit lab &amp;lt;name&amp;gt;lab&amp;lt;/name&amp;gt; &amp;lt;uuid&amp;gt;7c0e845a-a3fa-4403-8fb4-2373dfcb416c&amp;lt;/uuid&amp;gt; &amp;lt;forward mode=&amp;#39;nat&amp;#39;/&amp;gt; &amp;lt;bridge name=&amp;#39;virbr1&amp;#39; stp=&amp;#39;on&amp;#39; delay=&amp;#39;0&amp;#39;/&amp;gt; &amp;lt;mac address=&amp;#39;52:54:00:aa:5f:89&amp;#39;/&amp;gt; &amp;lt;domain name=&amp;#39;lab&amp;#39; localOnly=&amp;#39;yes&amp;#39;/&amp;gt; &amp;lt;ip address=&amp;#39;192.168.123.1&amp;#39; netmask=&amp;#39;255.255.255.0&amp;#39;&amp;gt; &amp;lt;tftp root=&amp;#39;/var/lib/tftpboot&amp;#39;/&amp;gt; &amp;lt;dhcp&amp;gt; &amp;lt;range start=&amp;#39;192.168.123.2&amp;#39; end=&amp;#39;192.168.123.254&amp;#39;/&amp;gt; &amp;lt;bootp file=&amp;#39;pxelinux.0&amp;#39;/&amp;gt; &amp;lt;/dhcp&amp;gt; &amp;lt;/ip&amp;gt; &amp;lt;/network&amp;gt; Install packages:
sudo dnf install tftp vsftpd syslinux Change VSFTPD config in /etc/vsftpd/vsftpd.conf:
anonymous_enable=yes Create TFTP config:
cp -r /usr/share/syslinux/* /var/lib/tftpboot mkdir /var/lib/tftpboot/pxelinux.cfg touch /var/lib/tftpboot/pxelinux.cfg/default Mount ISO and copy pxeboot files to TFTP and ISO to FTP:</description>
    </item>
    
    
    
    <item>
      <title>Yubikey and shift key on French or Belgian keyboards</title>
      <link>https://blog.wains.be/2018/2018-09-03-yuibkey-shift-key/</link>
      <pubDate>Mon, 03 Sep 2018 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2018/2018-09-03-yuibkey-shift-key/</guid>
      <description>For readers with Belgian or French keyboards.
If you configure your Yubikey by default with HOTP, when you touch your Yubikey, the output gives characters instead of digits (like &amp;ldquo;&amp;amp;é&amp;rdquo;&amp;rsquo;(§&amp;quot;).
You have two options:
You can press the shift key when you touch your Yubikey You can configure the keymap, using ykpersonalize Option 2 can be achieved with the following command, taken from the documentation:
ykpersonalize -S06050708090a0b0c0d0e0f111517181986858788898a8b8c8d8e8f9195979899a79e9fa0a1a2a3a4a5a6382b28 -y</description>
    </item>
    
    
    
    <item>
      <title>Odd upload problems behind Ubiquiti router to Scaleway VPS</title>
      <link>https://blog.wains.be/2018/2018-08-19-ubiquiti-mss-clamping/</link>
      <pubDate>Sun, 19 Aug 2018 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2018/2018-08-19-ubiquiti-mss-clamping/</guid>
      <description>I just spent a couple of hours troubleshooting what was for me an odd network connectivity issue.
I started my new job at Red Hat and received a Nokia 7 Plus smartphone, running Android 8.1.
I reinstalled all my apps and moved all my data from my Moto G5 to the Nokia from my hotel room in Amsterdam, and all seemed fine.
After coming back home from my business trip, the Nextcloud app started complaining about &amp;ldquo;SSL initialization problem&amp;rdquo;, or &amp;ldquo;connection time out&amp;rdquo; while trying to auto upload my pictures.</description>
    </item>
    
    
    
    <item>
      <title>Sync guest clock on resume under Libvirt/KVM</title>
      <link>https://blog.wains.be/2018/2018-08-12-sync-guest-clock-libvirt/</link>
      <pubDate>Sun, 12 Aug 2018 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2018/2018-08-12-sync-guest-clock-libvirt/</guid>
      <description>My host is RHEL7 running Gnome. Guest is Fedora 28 running i3 windows manager.
I use virt-manager and not virsh to manage my VM&amp;rsquo;s.
TL;DR: it doesn&amp;rsquo;t work for me, jump to Conclusion to read about my endeavour.
Edit: my host is now running Fedora 29 and the guest F29 too. The issue persists.
On the host you need: systemctl enable libvirt-guests systemctl start libvirt-guests /etc/sysconfig/libvirt-guests:
SYNC_TIME=1
Restart libvirt: systemctl restart libvirtd</description>
    </item>
    
    
    
    <item>
      <title>Gogs - a lightweight alternative to Gitlab</title>
      <link>https://blog.wains.be/2018/2018-03-29-lightweight-alternative-gitlab/</link>
      <pubDate>Thu, 29 Mar 2018 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2018/2018-03-29-lightweight-alternative-gitlab/</guid>
      <description>If you need to self-hosted and lightweight Github or Gitlab alternative, I suggest you give Gogs a try.
Gogs provides Docker images here: https://hub.docker.com/r/gogs/gogs/
Start the image, put a reverse proxy in front, secure the whole thing with Let&amp;rsquo;s Encrypt, and you should be up and running in a couple of minutes.
If you&amp;rsquo;re hosting a couple of repos and a few users, you can use a sqlite backend.
You can also use Postgres or Mysql databases.</description>
    </item>
    
    
    
    <item>
      <title>Create an IP alias on Mac OS</title>
      <link>https://blog.wains.be/2017/2017-11-17-mac-ethernet-alias/</link>
      <pubDate>Fri, 17 Nov 2017 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2017/2017-11-17-mac-ethernet-alias/</guid>
      <description>Tested on High Sierra
Create an alias:
sudo ifconfig en0 alias 192.168.0.101 255.255.255.0
Remove the alias:
sudo ifconfig en0 -alias 192.168.0.101</description>
    </item>
    
    
    
    <item>
      <title>Migrating the site to Mkdocs</title>
      <link>https://blog.wains.be/2017/2017-10-30-mkdocs/</link>
      <pubDate>Mon, 30 Oct 2017 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2017/2017-10-30-mkdocs/</guid>
      <description>For the past two years, this site has been running with Wikitten, a PHP engine that renders Markdown pages to HTML.
The project was not as actively maintained as Mkdocs though, so I decided to switch.
Mkdocs is a static site generator written in Python.
You write pages in Markdown, Mkdocs build the site and static pages are served by the HTTP server of your choice.
Mkdocs offers a built-in dev-server that lets your preview your articles as you write them.</description>
    </item>
    
    
    
    <item>
      <title>Enabling USB debug from recovery on Android 6.0.1</title>
      <link>https://blog.wains.be/2017/2017-07-24-android6-enable-usb-debug-recovery/</link>
      <pubDate>Mon, 24 Jul 2017 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2017/2017-07-24-android6-enable-usb-debug-recovery/</guid>
      <description>Tested on a Moto G 1st gen XT1032 running Cyanogen 13
Enabling USB debug allowed me to get logcat working at boot.
Android SDK tools should be installed on your computer (adb).
Boot into recovery (power + volume down on Moto G)
Plug your phone to the computer.
Run &amp;ldquo;./adb shell mount data&amp;rdquo; from your computer shell.
Run &amp;ldquo;./adb shell mount system&amp;rdquo;
./adb pull /data/property/persist.sys.usb.config /tmp
Edit it to &amp;ldquo;mtp,adb&amp;rdquo; and save.</description>
    </item>
    
    
    
    <item>
      <title>Fedora- replacing firewalld by iptables but firewalld always starts instead of iptables</title>
      <link>https://blog.wains.be/2017/2017-05-14-fedora-firewalld-always-starts/</link>
      <pubDate>Sun, 14 May 2017 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2017/2017-05-14-fedora-firewalld-always-starts/</guid>
      <description>I&amp;rsquo;ve been using iptables for more than 10 years and I don&amp;rsquo;t really like firewalld approach.
When I installed my Fedora 25 workstation, I installed a GUI-less Fedora Server edition, and installed i3wm on top of that.
One of the steps has been to disable firewalld and replace it by iptables, see doc here. The doc is outdated (for Fedora 19) but still relevant.
After every reboot, firewalld always started in favor of iptables.</description>
    </item>
    
    
    
    <item>
      <title>SaltStack talk at Jeudis du Libre</title>
      <link>https://blog.wains.be/2017/2017-04-20-saltstack-talk-jeudis-du-libre/</link>
      <pubDate>Thu, 20 Apr 2017 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2017/2017-04-20-saltstack-talk-jeudis-du-libre/</guid>
      <description>I talked about configuration management and cloud orchestration with Salt at Jeudis du libre this April 20.
The talk was divided in two parts: presentation and demo.
The slides of both presentation and demo content are available at https://github.com/sebw/saltstack-talk
Feel free to contact me if you have any question!</description>
    </item>
    
    
    
    <item>
      <title>MITM proxy howto and Android</title>
      <link>https://blog.wains.be/2017/2017-03-01-mitmproxy-howto-android/</link>
      <pubDate>Wed, 01 Mar 2017 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2017/2017-03-01-mitmproxy-howto-android/</guid>
      <description>Start mitmproxy:
./mitmproxy --host --follow
Configure your Android device to use the proxy:
go in Wi-Fi settings list the networks long press on the current network specify the proxy host and port In a browser on your Android device go to http://mitm.it (it is not an actual website, but the proxy that is displaying this page).
Install and accept the certificate to validate websites
Start apps or browse the web, you should see trafic in mitmproxy</description>
    </item>
    
    
    
    <item>
      <title>Poor performances with Spice and QXL and mouse in KVM</title>
      <link>https://blog.wains.be/2017/2017-02-23-poor-performances-spice-qxl/</link>
      <pubDate>Thu, 23 Feb 2017 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2017/2017-02-23-poor-performances-spice-qxl/</guid>
      <description>We entered the 21st century at work and got new workstations.
I decided to install Red Hat Enterprise 7 as a virtualization host, running my usual Linux Mint LMDE as guest.
I use virt-manager to connect to the guest over Spice.
It turns out, video performances were terrible. For some reason QXL drivers were not loaded on Linux Mint. It was impossible to load those drivers.
I could have been bothering recompiling those drivers and see if I could fix it that way, but I didn&amp;rsquo;t have to run Mint for any specific reason.</description>
    </item>
    
    
    
    <item>
      <title>Create VM with Salt Cloud without profile files</title>
      <link>https://blog.wains.be/2017/2017-02-22-salt-cloud-without-profile/</link>
      <pubDate>Wed, 22 Feb 2017 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2017/2017-02-22-salt-cloud-without-profile/</guid>
      <description>You read everywhere (and especially here) in Salt documentation that you need a profile file to create virtual machines in one of the supported clouds.
I found this approach not to be very dynamic.
It is actually not necessary to have profiles. There is a cloud runner, with a function create, dedicated to creating virtual machines. You can pass VM specifications in a pillar.
Your orchestration state /srv/salt/states/orch_vmware/createvm.sls:
{% from &amp;quot;maps/salt.</description>
    </item>
    
    
    
    <item>
      <title>Ubiquiti Unifi WiFi access point UAP LR vs UAP AC Pro</title>
      <link>https://blog.wains.be/2017/2017-01-15-ubiquiti-access-point/</link>
      <pubDate>Sun, 15 Jan 2017 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2017/2017-01-15-ubiquiti-access-point/</guid>
      <description>My old Linksys access-point was showing signs of weaknesses and I decided to change for something a bit more professionnal.
I went (by mistake) with an Ubiquiti &amp;ldquo;UAP LR&amp;rdquo;. LR stands for &amp;ldquo;Long Range&amp;rdquo;.
In reality, Ubiquiti don&amp;rsquo;t advertise UAP access-points so much anymore. Those are limited to 2.4GHz range. The one I really needed was the &amp;ldquo;UAP AC&amp;rdquo; model (dual band 2.4GHz and 5GHz) that is almost twice the price.</description>
    </item>
    
    
    
    <item>
      <title>Downgrading packages with yum on RHEL7</title>
      <link>https://blog.wains.be/2016/2016-12-04-yum-downgrade-rhel7/</link>
      <pubDate>Sun, 04 Dec 2016 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2016/2016-12-04-yum-downgrade-rhel7/</guid>
      <description>yum history list all
yum history undo $ID &amp;ndash;exclude=kernel*
More info: https://access.redhat.com/solutions/29617</description>
    </item>
    
    
    
    <item>
      <title>MySQL 5.6 quick and dirty replication</title>
      <link>https://blog.wains.be/2016/2016-11-04-mysql-replication/</link>
      <pubDate>Fri, 04 Nov 2016 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2016/2016-11-04-mysql-replication/</guid>
      <description>Some assumptions: master&amp;gt; = mysql commands on master slave&amp;gt; = mysql commands on slave root@master = bash commands on master root@slave = bash commands on slave /var/lib/mysql/master01-bin.* = name of the replication logs, depending on your config master&amp;gt; STOP MASTERslave&amp;gt; STOP SLAVEroot@master: service mysqld stop root@slave: service mysqld stop Take a snapshot of servers if possibleroot@master: service mysqld startmaster&amp;gt; RESET MASTER (this deletes binary files under /var/lib/mysql/master01-bin.</description>
    </item>
    
    
    
    <item>
      <title>Securing Elasticsearch API with Haproxy</title>
      <link>https://blog.wains.be/2016/2016-06-18-security-elastic-api-haproxy/</link>
      <pubDate>Sat, 18 Jun 2016 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2016/2016-06-18-security-elastic-api-haproxy/</guid>
      <description>2016-06-18
Elasticsearch API is fully open by default and anyone can create (PUT method) or delete indices (DELETE method).
In a project at work, I was asked to install a fully redondant cluster, and among other things expose the API:
over HTTP with no auth for GET method for developers over HTTPS with auth for any methods (PUT, DELETE, etc.) for Elastic admins The Elastic cluster is orchestrated with Saltstack (I&amp;rsquo;ll publish the states later) and is made of 8 nodes, two of them act as clients (no master nor data role) and are only accessible from two HAproxy nodes (secured with iptables).</description>
    </item>
    
    
    
    <item>
      <title>Simulating latency and other network issues on Linux</title>
      <link>https://blog.wains.be/2016/2016-03-23-simulating-latency-linux/</link>
      <pubDate>Wed, 23 Mar 2016 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2016/2016-03-23-simulating-latency-linux/</guid>
      <description>If for some reason you need to simulate latency, latency, loss, duplication or re-ordering on a linux machine, use netem (command tc) as root
Adding a delay of 100ms on interface eth0:
tc qdisc add dev eth0 root netem delay 100ms Changing the rule:
tc qdisc change dev eth0 root netem delay 150ms Removing the rule is a simple:
tc qdisc del dev eth0 root netem delay 100ms Simulate a delay of 100ms with a variation or plus or minus 10ms:</description>
    </item>
    
    
    
    <item>
      <title>Fixing X11 connection rejected because of wrong authentication</title>
      <link>https://blog.wains.be/2016/2016-03-21-fixing-x11-connection-rejected-because-wrong-authentication/</link>
      <pubDate>Mon, 21 Mar 2016 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2016/2016-03-21-fixing-x11-connection-rejected-because-wrong-authentication/</guid>
      <description>You get either &amp;ldquo;X11 connection uses different authentication protocol&amp;rdquo; or &amp;ldquo;X11 connection rejected because of wrong authentication&amp;rdquo;.
The thing is, this is a very generic error message that will take you to multiple very different fixes.
Many telling you to set a variable here and change a setting there.
In my case, it was because the SSH server had a configuration under /etc/ssh/sshrc.
I found the answer here.
In my case, sshrc only had comments as I had stopped to use the file, so I just removed the config file and ssh -X user@server xclock worked again.</description>
    </item>
    
    
    
    <item>
      <title>Manipulating network stream with netsed</title>
      <link>https://blog.wains.be/2016/2016-03-17-netsed-stream-editor/</link>
      <pubDate>Thu, 17 Mar 2016 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2016/2016-03-17-netsed-stream-editor/</guid>
      <description>Netsed page
Netsed is a network packet stream editor.
On a Linux gateway, let&amp;rsquo;s set a silent redirect to the port netsed will be listening on:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 1080 Then start netsed:
netsed tcp 1080 0 80 &#39;s/string%20A/string%20B/&#39; Any &amp;ldquo;string A&amp;rdquo; in a web page will be replaced by &amp;ldquo;string B&amp;rdquo;.
In the output you would see this:
[+] Caught server -&amp;gt; client packet.</description>
    </item>
    
    
    
    <item>
      <title>Parallels- copy-paste not working from Mac to Fedora VM</title>
      <link>https://blog.wains.be/2016/2016-03-10-parallels-copy-paste-not-working-fedora/</link>
      <pubDate>Thu, 10 Mar 2016 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2016/2016-03-10-parallels-copy-paste-not-working-fedora/</guid>
      <description>This one is weird but worked for me.
You should set SELinux as permissive, reboot, and set it back to enforcing
Edit /etc/selinux/config and change to
SELINUX=permissive Reboot
Set backup to enforcing
SELINUX=enforcing Reboot again.
Now copy-paste works for me. Let me know if it works for you :-)</description>
    </item>
    
    
    
    <item>
      <title>Hipchat notification after SVN commit</title>
      <link>https://blog.wains.be/2016/2016-03-02-hipchat-notification-after-svn-commit/</link>
      <pubDate>Wed, 02 Mar 2016 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2016/2016-03-02-hipchat-notification-after-svn-commit/</guid>
      <description>Get a channel notification token from the Hipchat control panel.
Put this script under the hooks directory of the SVN repository
REPOS=&amp;quot;$1&amp;quot; REV=&amp;quot;$2&amp;quot; WHO=&amp;quot;$(svnlook author -r $REV $REPOS)&amp;quot; LOG=&amp;quot;$(svnlook log -r $REV $REPOS)&amp;quot; MESSAGE=&amp;quot;Commit to $REPOS by $WHO ($LOG) - https://svn.example.org/blah/$REV/diff&amp;quot; ROOM_ID=&amp;quot;123456&amp;quot; AUTH_TOKEN=&amp;quot;token&amp;quot; curl --silent --insecure -H &amp;quot;Content-Type: application/json&amp;quot; \ -X POST \ -d &amp;quot;{\&amp;quot;color\&amp;quot;: \&amp;quot;green\&amp;quot;, \&amp;quot;message_format\&amp;quot;: \&amp;quot;text\&amp;quot;, \&amp;quot;message\&amp;quot;: \&amp;quot;$MESSAGE\&amp;quot; }&amp;quot; \ https://api.hipchat.com/v2/room/$ROOM_ID/notification?auth_token=$AUTH_TOKEN Any commit will trigger the script and you&amp;rsquo;ll receive a message looking like:</description>
    </item>
    
    
    
    <item>
      <title>Linux know the limits of one or several processes</title>
      <link>https://blog.wains.be/2016/2016-02-14-linux-limits/</link>
      <pubDate>Sun, 14 Feb 2016 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2016/2016-02-14-linux-limits/</guid>
      <description>#!/bin/bash for process in $@; do process_pids=`ps -C $process -o pid --no-headers | cut -d &amp;#34; &amp;#34; -f 2` if [ -z $process ]; then echo &amp;#34;[no $process running]&amp;#34; else for pid in $process_pids; do echo &amp;#34;[$process #$pid -- limits]&amp;#34; cat /proc/$pid/limits done fi done </description>
    </item>
    
    
    
    <item>
      <title>Wemo and Netatmo workflows for Alfred</title>
      <link>https://blog.wains.be/2016/2016-02-13-wemo-netatmo-workflow-alfred/</link>
      <pubDate>Sat, 13 Feb 2016 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2016/2016-02-13-wemo-netatmo-workflow-alfred/</guid>
      <description>I just published my two first Alfred workflows on Packal.
Wemo Wemo v0.2 allows to get the status of your Wemo switches and changing their status with a simple click.
It is based on a bash script found here in the comments.
Netatmo Netatmo v0.2 retrieves weather information from your indoor and outdoor modules.
It is based on a PHP script found a long time ago on http://maison-et-domotique.com.
Download links Wemo v0.</description>
    </item>
    
    
    
    <item>
      <title>Malformed header from script cgi</title>
      <link>https://blog.wains.be/2016/2016-02-07-apache-cgi-bin-malformed-header/</link>
      <pubDate>Sun, 07 Feb 2016 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2016/2016-02-07-apache-cgi-bin-malformed-header/</guid>
      <description>If you want to run a bash script as a CGI and get this message:
[Sun Feb 07 19:51:59.424071 2016] [cgi:error] [pid 4265] [client x.x.x.x:50952] malformed header from script &#39;weather.sh&#39;: Bad header: Searching via name.. Make sure to put an additional echo in your script after the content type
#!/bin/bash echo &amp;quot;Content-type: text/html&amp;quot; echo your-command </description>
    </item>
    
    
    
    <item>
      <title>Recovering your stolen device with Prey. Not.</title>
      <link>https://blog.wains.be/2016/2016-02-04-prey-recovering-device/</link>
      <pubDate>Thu, 04 Feb 2016 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2016/2016-02-04-prey-recovering-device/</guid>
      <description>I&amp;rsquo;ve been using Prey for a couple of years now. I track my Android phone and tablet, and my laptop.
I was in San Francisco in May 2015 and got all my belongings stolen in busy downtown. My Macbook was in one of the stolen bags. (San Francisco has a big problem with smash and grab burglary, be careful).
I immediately logged in Prey only to discover that my Macbook was running an outdated version of the client, and that most of the recovery features were not available anymore.</description>
    </item>
    
    
    
    <item>
      <title>Undelete files with lsof</title>
      <link>https://blog.wains.be/2016/2016-01-21-undelete-files-with-lsof/</link>
      <pubDate>Thu, 21 Jan 2016 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2016/2016-01-21-undelete-files-with-lsof/</guid>
      <description>If you delete a file by mistake, there are several ways to recover it.
I&amp;rsquo;m going to explain how to recover a file that has been deleted but still &amp;ldquo;active&amp;rdquo; on the system because locked by a running process.
First, let&amp;rsquo;s create a file maintained by a lock.
$ watch ps aux &amp;gt; log.txt Interrupt the process by hitting Ctrl+Z
ps reveals the &amp;ldquo;watch&amp;rdquo; command is still being executed but in T state (T = traced or suspended process).</description>
    </item>
    
    
    
    <item>
      <title>Parsing XML with xgrep</title>
      <link>https://blog.wains.be/2016/2016-01-20-parsing-xml-with-xgrep/</link>
      <pubDate>Wed, 20 Jan 2016 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2016/2016-01-20-parsing-xml-with-xgrep/</guid>
      <description>Imagine this file.xml containing:
&amp;lt;vehicleinformation version=&amp;quot;1.1&amp;quot; timestamp=&amp;quot;1453323673&amp;quot;&amp;gt; &amp;lt;vehicle locationX=&amp;quot;4.336531&amp;quot; locationY=&amp;quot;50.835707&amp;quot;&amp;gt;Be.NMBS.P8401&amp;lt;/vehicle&amp;gt; &amp;lt;stops number=&amp;quot;9&amp;quot;&amp;gt; &amp;lt;stop id=&amp;quot;0&amp;quot; delay=&amp;quot;16&amp;quot; canceled=&amp;quot;0&amp;quot;&amp;gt; &amp;lt;station id=&amp;quot;BE.NMBS.008814001&amp;quot;&amp;gt;Brussel-Zuid / Bruxelles-Midi&amp;lt;/station&amp;gt; &amp;lt;time formatted=&amp;quot;2016-01-20T17:06:00&amp;quot;&amp;gt;1453305960&amp;lt;/time&amp;gt; &amp;lt;platform normal=&amp;quot;1&amp;quot;&amp;gt;12&amp;lt;/platform&amp;gt; &amp;lt;/stop&amp;gt; &amp;lt;stop id=&amp;quot;1&amp;quot; delay=&amp;quot;18&amp;quot; canceled=&amp;quot;0&amp;quot;&amp;gt; &amp;lt;station id=&amp;quot;BE.NMBS.008813003&amp;quot;&amp;gt;Bru.-Centraal / Brux.-Central&amp;lt;/station&amp;gt; &amp;lt;time formatted=&amp;quot;2016-01-20T17:10:00&amp;quot;&amp;gt;1453306200&amp;lt;/time&amp;gt; &amp;lt;platform normal=&amp;quot;1&amp;quot;&amp;gt;3&amp;lt;/platform&amp;gt;&amp;lt;/stop&amp;gt; [...] You can get the value of the delay in Brux.-Central (here 18 minutes) by specifying the XPath with the -x option, like this:
xgrep -x &amp;quot;/vehicleinformation/stops/stop[2]//@delay&amp;quot; file.xml I use XPath Checker for Firefox to easily get the XPath.</description>
    </item>
    
    
    
    <item>
      <title>Apache rewrite rule with original URL containing parameters</title>
      <link>https://blog.wains.be/2016/2016-01-15-apache-rewrite-with-parameters/</link>
      <pubDate>Fri, 15 Jan 2016 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2016/2016-01-15-apache-rewrite-with-parameters/</guid>
      <description>So let&amp;rsquo;s say you want to redirect http://example.org?id=2392 to http://example.org?id=256
You need to use the %{QUERY_STRING} option under RewriteCond like this:
RewriteCond %{QUERY_STRING} id=2392 RewriteRule ^/index.php http://example.org/index.php?id=256 [L,R=permanent] </description>
    </item>
    
    
    
    <item>
      <title>Firefox recommended about-config configuration</title>
      <link>https://blog.wains.be/2015/2015-09-18-firefox-recommended-about-config/</link>
      <pubDate>Fri, 18 Sep 2015 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2015/2015-09-18-firefox-recommended-about-config/</guid>
      <description>The following is a recommended setup for Firefox as of September 2015 by https://www.privacytools.io/#about_config and https://www.eff.org/deeplinks/2015/10/how-to-protect-yourself-from-nsa-attacks-1024-bit-DH
http://kb.mozillazine.org/Network.IDN_show_punycode
network.IDN_show_punycode = true Display the “raw”, punycode version of internationalized domain names. privacy.trackingprotection.enabled = true This is Mozilla’s new built in tracking protection. geo.enabled = false Disables geolocation. browser.safebrowsing.phishing.enabled = false browser.safebrowsing.malware.enabled = false browser.safebrowsing.downloads.enabled = false browser.safebrowsing.blockedURIs.enabled = false Disable Google Safe Browsing malware and phishing checks. Security risk, but privacy improvement. dom.</description>
    </item>
    
    
    
    <item>
      <title>Synology returns Illegal certificate when trying to import a valid certificate</title>
      <link>https://blog.wains.be/2015/2015-09-18-synology-illegal-certificate/</link>
      <pubDate>Fri, 18 Sep 2015 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2015/2015-09-18-synology-illegal-certificate/</guid>
      <description>This happened to me yesterday as I was trying to import a valid Global-sign wildcard certificate.
You just need to edit your private key, the certificate and the intermediate certificate and remove all the comments outside the delimiter lines.
Example of how your certicate file should look like:
----BEGIN CERTIFICATE----- &amp;lt;your certificate is here&amp;gt; -----END CERTIFICATE----- Example of a private key:
-----BEGIN RSA PRIVATE KEY----- &amp;lt;your private key is here&amp;gt; -----END RSA PRIVATE KEY----- It should NOT look like this:</description>
    </item>
    
    
    
    <item>
      <title>Postfix routing emails using LDAP or regexp with different smptd processes</title>
      <link>https://blog.wains.be/2015/2015-08-21-postfix-recipient-canonical-maps-ldap-regexp/</link>
      <pubDate>Fri, 21 Aug 2015 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2015/2015-08-21-postfix-recipient-canonical-maps-ldap-regexp/</guid>
      <description>If you want to redirect emails you can use the recipient_canonical_maps option.
This cleanup option is usually specified globally in main.cf.
If you want to treat different domains with different filtering techniques, you can do this in master.cf instead:
0.0.0.0:2525 inet n - n - - smtpd -o cleanup_service_name=cleanup-2525 -o myhostname=mxrouting.ldap.example.org -o smtpd_banner=$myhostname cleanup-2525 unix n - n - 0 cleanup -o recipient_canonical_maps=ldap:/etc/postfix/routing-ldap.example.org 0.0.0.0:2526 inet n - n - - smtpd -o cleanup_service_name=cleanup-2526 -o myhostname=mxrouting.</description>
    </item>
    
    
    
    <item>
      <title>Workflow automation under Mac with Hammerspoon</title>
      <link>https://blog.wains.be/2015/2015-08-18-macosx-hammerspoon/</link>
      <pubDate>Tue, 18 Aug 2015 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2015/2015-08-18-macosx-hammerspoon/</guid>
      <description>I&amp;rsquo;m spending a lot of time at work automating processes (with Rundeck, Salt, Jenkins, Nexus, SVN, etc.).
At the personal level, I have automated most of my recurring tasks (disabling Wi-Fi automatically, silence mode at work, etc.) on Android using Automagic: http://automagic4android.com/en/
I discovered a couple of days ago Hammerspoon for Mac: http://www.hammerspoon.org/
Quoting their website:
This is a tool for powerful automation of OS X. At its core, Hammerspoon is just a bridge between the operating system and a Lua scripting engine.</description>
    </item>
    
    
    
    <item>
      <title>Migrating my website (again)</title>
      <link>https://blog.wains.be/2015/2015-08-15-markdown-wiki/</link>
      <pubDate>Sat, 15 Aug 2015 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2015/2015-08-15-markdown-wiki/</guid>
      <description>Date: 2015-08-15
In the first half of this year, I migrated this site from Wordpress to Scriptogram.
Scriptogr.am is tightly integrated to Dropbox, which means if you want to have two blogs running the same platform, you should have two Dropbox accounts.
It was my case, and I never really got it to work properly on two Dropbox accounts, let alone one. Scriptogr.am had many sync hiccups. The project felt pretty dormant actually.</description>
    </item>
    
    
    
    <item>
      <title>Switching back from Chrome/Chromium to Firefox and a global rant about Google</title>
      <link>https://blog.wains.be/2015/2015-06-18_switching-back-from-chromechromium-to-firefox-and-a-global-rant-about-google/</link>
      <pubDate>Thu, 18 Jun 2015 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2015/2015-06-18_switching-back-from-chromechromium-to-firefox-and-a-global-rant-about-google/</guid>
      <description>Originally published 2015-06-18
I have used Chrome (and Chromium, depending on the platform I&amp;rsquo;m working on, from now on I&amp;rsquo;ll refer to it as Chrome) pretty much since it went out of beta.
I started getting annoyed with the last few versions though.
It all started when I installed a random application on a Windows 7 machine as a regular user. The app contained malware that didn&amp;rsquo;t get detected by the antivirus and it installed a couple of nasty Chrome extensions in the user profile.</description>
    </item>
    
    
    
    <item>
      <title>Verify expiration date for a local x509 certificate</title>
      <link>https://blog.wains.be/2015/2015-06-18_verify_expiration_local_x509_certificate/</link>
      <pubDate>Thu, 18 Jun 2015 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2015/2015-06-18_verify_expiration_local_x509_certificate/</guid>
      <description>Date: 2015-06-18
Use this command:
openssl x509 -noout -in /etc/pki/tls/certs/client.crt -dates Output would be:
notBefore=Feb 20 16:20:08 2015 GMT notAfter=Feb 20 16:20:08 2016 GMT </description>
    </item>
    
    
    
    <item>
      <title>Postfix routing and rewriting of addresses based on LDAP attributes</title>
      <link>https://blog.wains.be/2015/2015-04-29-postfix-routing-and-rewriting-based-on-ldap/</link>
      <pubDate>Wed, 29 Apr 2015 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2015/2015-04-29-postfix-routing-and-rewriting-based-on-ldap/</guid>
      <description>Date: 2015-04-29
Note: This has been tested on RHEL6 and Postfix 2.6.6 from RHEL repositories and version 2.10 from postfix.org. RHEL6 version contains a nasty bug, I recommend you use Postfix.org RPMS.
We want to route emails thanks to rewriting capabilities of Postfix.
An LDAP directory will provide us with an attribute.
We will use the &amp;ldquo;mailstop&amp;rdquo; attribute here. Different values can be defined: &amp;ldquo;brussels&amp;rdquo; or &amp;ldquo;stockholm&amp;rdquo;.
An email would be relayed through this Postfix instance.</description>
    </item>
    
    
    
    <item>
      <title>Adding a disk to a Synology Hybrid RAID (SHR) (with no data protection) to make a RAID1 array</title>
      <link>https://blog.wains.be/2015/2015-04-17-synology-hybrid-raid/</link>
      <pubDate>Fri, 17 Apr 2015 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2015/2015-04-17-synology-hybrid-raid/</guid>
      <description>Date: 2015-04-17
I bought a Synology DS214j a couple of months ago.
I bought only one 2TB disk in the first place. My plan was to buy a second disk a couple of months later so I would have a RAID1 array made of two disks with different mileage and probably different life expectancy. I set it up using the recommended option: &amp;ldquo;Synology Hybrid RAID (SHR)&amp;rdquo;.
Personal opinion: I always believed that starting a RAID1 with disks from the same batch and more or less same production date is a recipe for disaster.</description>
    </item>
    
    
    
    <item>
      <title>Samba integrated to Active Directory on RHEL7</title>
      <link>https://blog.wains.be/2015/2015-02-25-samba-ad-rhel7/</link>
      <pubDate>Wed, 25 Feb 2015 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2015/2015-02-25-samba-ad-rhel7/</guid>
      <description>Date: 2015-02-25
Tested with Active Directory 2003 and RHEL 7.0
For RHEL 6.0 see here
I consider that the server is correctly set up, its hostname should be set accordingly to the Active Directory domain. It should also be synchronised with NTP. A clock drift could cause issues because of Kerberos.
I assume an AD domain &amp;ldquo;EXAMPLE&amp;rdquo; (long name: intranet.example.org)
# host -t srv _kerberos._tcp.intranet.example.org _kerberos._tcp.intranet.example.org has SRV record 0 100 88 srv00a.</description>
    </item>
    
    
    
    <item>
      <title>Migrating from Wordpress to Scriptogr.am</title>
      <link>https://blog.wains.be/2015/2015-02-17-migration-to-scriptogram/</link>
      <pubDate>Tue, 17 Feb 2015 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2015/2015-02-17-migration-to-scriptogram/</guid>
      <description>Date: 2015-02-17
I just migrated this blog from Wordpress to Scriptogr.am.
Mainly because this blog isn&amp;rsquo;t so much active anymore, those SQL IOPS were useless for something that had become so static (I disabled the comments many years ago, tired of spam).
I missed Posterous and started looking for something similar, until I found about Calepin.co and Scriptogr.am.
For those of you who don&amp;rsquo;t know, Scriptogr.am will fetch markdown text files from your Dropbox and turn them into a website.</description>
    </item>
    
    
    
    <item>
      <title>Android Automagic- enable or disable motion detection on Dlink webcams</title>
      <link>https://blog.wains.be/2015/2015-02-16-android-automagic-webcam/</link>
      <pubDate>Mon, 16 Feb 2015 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2015/2015-02-16-android-automagic-webcam/</guid>
      <description>Date: 2015-02-16 tags: Android, Automagic
This has been tested on DCS-930L and DCS-5020L
&amp;lt;?xml version=&#39;1.0&#39; encoding=&#39;UTF-8&#39; standalone=&#39;yes&#39; ?&amp;gt; &amp;lt;data version=&amp;quot;1.25.0&amp;quot;&amp;gt; &amp;lt;trigger type=&amp;quot;wifi_connected&amp;quot;&amp;gt; &amp;lt;useDefaultName&amp;gt;true&amp;lt;/useDefaultName&amp;gt; &amp;lt;name&amp;gt;WiFi Connected: SSID&amp;lt;/name&amp;gt; &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt; &amp;lt;all&amp;gt;false&amp;lt;/all&amp;gt; &amp;lt;ssidList&amp;gt;SSID&amp;lt;/ssidList&amp;gt; &amp;lt;/trigger&amp;gt; &amp;lt;trigger type=&amp;quot;wifi_disconnected&amp;quot;&amp;gt; &amp;lt;useDefaultName&amp;gt;true&amp;lt;/useDefaultName&amp;gt; &amp;lt;name&amp;gt;WiFi Disconnected: SSID&amp;lt;/name&amp;gt; &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt; &amp;lt;all&amp;gt;false&amp;lt;/all&amp;gt; &amp;lt;ssidList&amp;gt;SSID&amp;lt;/ssidList&amp;gt; &amp;lt;/trigger&amp;gt; &amp;lt;condition type=&amp;quot;active_network_type&amp;quot;&amp;gt; &amp;lt;useDefaultName&amp;gt;true&amp;lt;/useDefaultName&amp;gt; &amp;lt;name&amp;gt;Active Network Type: Mobile&amp;lt;/name&amp;gt; &amp;lt;none&amp;gt;false&amp;lt;/none&amp;gt; &amp;lt;mobile&amp;gt;true&amp;lt;/mobile&amp;gt; &amp;lt;wifi&amp;gt;false&amp;lt;/wifi&amp;gt; &amp;lt;wimax&amp;gt;false&amp;lt;/wimax&amp;gt; &amp;lt;bluetooth&amp;gt;false&amp;lt;/bluetooth&amp;gt; &amp;lt;ethernet&amp;gt;false&amp;lt;/ethernet&amp;gt; &amp;lt;/condition&amp;gt; &amp;lt;action type=&amp;quot;http_request&amp;quot;&amp;gt; &amp;lt;useDefaultName&amp;gt;true&amp;lt;/useDefaultName&amp;gt; &amp;lt;name&amp;gt;HTTP Request: POST https://webcam.public.url/setSystemMotion application/x-www-form-urlencoded ReplySuccessPage=motion.htm,ReplyErrorPage=motion.htm,MotionDetectionEnable=0,MotionDetectionScheduleDay=30,ConfigSystemMotion=Save store in motion&amp;lt;/name&amp;gt; &amp;lt;url&amp;gt;https://webcam.public.url/setSystemMotion&amp;lt;/url&amp;gt; &amp;lt;verifyCertificates&amp;gt;true&amp;lt;/verifyCertificates&amp;gt; &amp;lt;basicAuthentication&amp;gt;true&amp;lt;/basicAuthentication&amp;gt; &amp;lt;username&amp;gt;admin&amp;lt;/username&amp;gt; &amp;lt;httpMethod&amp;gt;POST&amp;lt;/httpMethod&amp;gt; &amp;lt;httpContentType&amp;gt;X_WWW_FORM_URLENCODED&amp;lt;/httpContentType&amp;gt; &amp;lt;contentType&amp;gt;text/plain&amp;lt;/contentType&amp;gt; &amp;lt;generalTextData&amp;gt;&amp;lt;/generalTextData&amp;gt; &amp;lt;formFieldList&amp;gt;ReplySuccessPage=motion.</description>
    </item>
    
    
    
    <item>
      <title>Bash- loop until a connection is successful</title>
      <link>https://blog.wains.be/2015/2015-02-16-bash-loop-connection/</link>
      <pubDate>Mon, 16 Feb 2015 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2015/2015-02-16-bash-loop-connection/</guid>
      <description>Date: 2015-02-16 Tags: linux, bash
I use Terminator as my terminal app, and use the &amp;ldquo;watch for activity&amp;rdquo; feature a lot. With the following command, I&amp;rsquo;d get notified as soon as the connection is opened.
while ! nc -vz localhost 3306 2&amp;gt; /dev/null; do sleep 1; done &amp;amp;&amp;amp; echo &amp;quot;Available!&amp;quot; </description>
    </item>
    
    
    
    <item>
      <title>Pipe tcpdump trafic into Wireshark from a remote server    </title>
      <link>https://blog.wains.be/2015/2015-02-16-wireshark-tcpdump/</link>
      <pubDate>Mon, 16 Feb 2015 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2015/2015-02-16-wireshark-tcpdump/</guid>
      <description>Date: 2015-02-16 tags: Linux, Network
This command will allow you to pipe trafic generated by tcpdump on a remote machine into Wireshark running on your local machine:
ssh root@dest tcpdump -U -s0 -w - &#39;tcp port 389&#39; | wireshark -k -i - </description>
    </item>
    
    
    
    <item>
      <title>PreserveFQDN and EscapeControlCharactersOnReceive with rsyslog</title>
      <link>https://blog.wains.be/2014/2014-10-10-preservefqdn-and-escapecontrolcharactersonreceive-with-rsyslog/</link>
      <pubDate>Fri, 10 Oct 2014 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2014/2014-10-10-preservefqdn-and-escapecontrolcharactersonreceive-with-rsyslog/</guid>
      <description>categories:
Linux In legacy versions of rsyslog, if you want to use the option PreserveFQDN, you have to set the option before anything else, or it wouldn&amp;rsquo;t work.
If you are having issues sending logs from nxlog on Windows to rsyslog legacy, you might want to have a look at EscapeControlCharactersOnReceive.
http://www.rsyslog.com/doc/rsconf1_escapecontrolcharactersonreceive.html</description>
    </item>
    
    
    
    <item>
      <title>iTop CMDB 2.0.x inventory provider for Rundeck 2.2.x</title>
      <link>https://blog.wains.be/2014/2014-09-10-itop-rundeck-integration/</link>
      <pubDate>Wed, 10 Sep 2014 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2014/2014-09-10-itop-rundeck-integration/</guid>
      <description>Date: 2014-09-10 Tags: code, php
This PHP page allows to retrieve configuration items to populate Rundeck inventory:
&amp;lt;?php // iTop CMDB inventory for Rundeck. // Virtual servers have VIRT tag, physicals get PHYS tag. $host = &amp;#34;127.0.0.1&amp;#34;; $db = &amp;#34;itop_srv&amp;#34;; $user = &amp;#34;root&amp;#34;; $pwd = &amp;#34;&amp;#34;; $connect = mysql_connect($host, $user, $pwd); mysql_select_db($db); $query_physical = &amp;#34;SELECT view_Server.id AS id, view_Server.name AS hostname, view_Server.description AS description, view_Server.osfamily_name AS osName, view_Server.osversion_name AS osVersion, view_Server.</description>
    </item>
    
    
    
    <item>
      <title>Bash set builtin- pipefail    </title>
      <link>https://blog.wains.be/2013/2013-12-25-bash-set-builtin-pipefail/</link>
      <pubDate>Wed, 25 Dec 2013 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-12-25-bash-set-builtin-pipefail/</guid>
      <description>author: admin
comments: false
layout: post
tags: bash, linux
By default, if you pipe commands, the exit status reported will be the one of the last command.
Example:
ls -l test.txt | mail -s &amp;quot;test&amp;quot; example@example.org If test.txt doesn&amp;rsquo;t exist, the exit status would still be 0 because the mail command was successful.
If you want to change that behavior, you should enable the pipefail builtin:
&amp;gt; false &amp;gt; echo $?</description>
    </item>
    
    
    
    <item>
      <title>Get notified when a change occurs on the filesystem</title>
      <link>https://blog.wains.be/2013/2013-11-14-get-notified-when-a-change-occurs-on-the-filesystem/</link>
      <pubDate>Thu, 14 Nov 2013 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-11-14-get-notified-when-a-change-occurs-on-the-filesystem/</guid>
      <description>categories:
Linux I can never seem to remember the correct command
inotifywait -e modify -m -r /home/dir </description>
    </item>
    
    
    
    <item>
      <title>Outbound Postfix with SASL Authentication against LDAP (Dovecot)</title>
      <link>https://blog.wains.be/2013/2013-11-14-outbound-postfix-with-sasl-authentication-against-ldap-dovecot/</link>
      <pubDate>Thu, 14 Nov 2013 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-11-14-outbound-postfix-with-sasl-authentication-against-ldap-dovecot/</guid>
      <description>categories:
Postfix I recently had to set up an outbound Postfix server with SASL authentication against LDAP.
I&amp;rsquo;m a huge fan of Dovecot, so I did go with it instead of Cyrus which was a pain to set up a few years back. Not sure about now.
I hadn&amp;rsquo;t done that in a while, and if you look up on this site, you&amp;rsquo;ll see I actually did SASL auth against MySQL, a couple of years ago.</description>
    </item>
    
    
    
    <item>
      <title>Bash easily consult a process limits</title>
      <link>https://blog.wains.be/2013/2013-07-25-bash-limits/</link>
      <pubDate>Thu, 25 Jul 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-07-25-bash-limits/</guid>
      <description>Date: 2013-07-25 Tags: Bash, Linux
Create this script, I&amp;rsquo;ll call it limits.sh:
#!/bin/bash for process in $@; do process_pids=`ps -C $process -o pid --no-headers | cut -d &amp;quot; &amp;quot; -f 2` if [ -z $process ]; then echo &amp;quot;[no $process running]&amp;quot; else for pid in $process_pids; do echo &amp;quot;[$process #$pid -- limits]&amp;quot; cat /proc/$pid/limits done fi done Then:
bash limits.sh 27193 </description>
    </item>
    
    
    
    <item>
      <title>Debian apt-get change temporary directory</title>
      <link>https://blog.wains.be/2013/2013-07-17-debian-apt-get-tempdir/</link>
      <pubDate>Wed, 17 Jul 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-07-17-debian-apt-get-tempdir/</guid>
      <description>Date: 2013-07-17 Tags: Linux, Debian
Under Debian, if /tmp is a partition and you set it as noexec, you might need to do this to avoid issues with apt-get.
Create /etc/apt/apt.conf.d/50tmp
APT { ExtractTemplates { TempDir &amp;quot;/var/tmp&amp;quot;; }; }; </description>
    </item>
    
    
    
    <item>
      <title>Debian network interface configuration</title>
      <link>https://blog.wains.be/2013/2013-07-17-debian-network/</link>
      <pubDate>Wed, 17 Jul 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-07-17-debian-network/</guid>
      <description>Tags: Linux, Debian Date: 2013-07-17
This is a reminder as I always seem to forget something.
/etc/network/interfaces:
auto eth0 iface eth0 inet static pre-up iptables-restore &amp;lt; /etc/iptables.conf address 192.168.0.0 netmask 255.255.0.0 network 192.168.0.0 broadcast 192.168.255.255 gateway 192.168.0.1 </description>
    </item>
    
    
    
    <item>
      <title>Debian tell apt-get not to install recommended packages</title>
      <link>https://blog.wains.be/2013/2013-07-17-debian-apt-getrecommended/</link>
      <pubDate>Wed, 17 Jul 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-07-17-debian-apt-getrecommended/</guid>
      <description>Date: 2013-07-17 Tags: Linux, Debian
In /etc/apt/apt.conf
APT::Install-Recommends &amp;quot;0&amp;quot;; </description>
    </item>
    
    
    
    <item>
      <title>Mac OS X change default screenshot directory</title>
      <link>https://blog.wains.be/2013/2013-07-17-macosx-screenshot-location/</link>
      <pubDate>Wed, 17 Jul 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-07-17-macosx-screenshot-location/</guid>
      <description>Date: 2013-07-17 Tags: Mac
Type this in your terminal:
defaults write com.apple.screencapture location /Full/Path/To/Folder </description>
    </item>
    
    
    
    <item>
      <title>Manipulate image metadata (EXIF, IPTC) with open source tools</title>
      <link>https://blog.wains.be/2013/2013-07-17-image-metadata/</link>
      <pubDate>Wed, 17 Jul 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-07-17-image-metadata/</guid>
      <description>Date: 2013-07-17 tags: Linux
Rename picture based on capture date:
find -name &#39;IMG*.JPG&#39; | while read PIC; do DATE=$(exiftool -p &#39;$DateTimeOriginal&#39; $PIC | sed &#39;s/[: ]//g&#39;); touch - t $(echo $DATE | sed &#39;s/\(..$\)/\.\1/&#39;) $PIC;echo &amp;quot;Date:&amp;quot; $DATE &amp;quot;- &amp;quot; $PIC; mv -i $PIC $(dirname $PIC)/`date +%Y%m%d_%T`_$DATE.jpg; done Rename:
exit2 -t *.jpg exiv2 -r Description_%Y%m%d_%H%M%S *.jpg Add copyright:
exiftool -copyright=&amp;quot;John Doe&amp;quot; *.jpg Add EXIF comment:
exiv2 -M&amp;quot;set Exif.Photo.UserComment charset=Ascii This is a comment&amp;quot; *.</description>
    </item>
    
    
    
    <item>
      <title>My bashrc</title>
      <link>https://blog.wains.be/2013/2013-07-17-linux-bashrc/</link>
      <pubDate>Wed, 17 Jul 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-07-17-linux-bashrc/</guid>
      <description>Date: 2013-07-17 Tags: Linux
Not so much but it does the job.
shopt -s histappend export HISTTIMEFORMAT=&#39;%F @ %T - &#39; export HISTCONTROL=erasedups:ignorespace export HISTIGNORE=&amp;quot;pwd:[bf]g:jobs:j:h:history:exit:reboot:restart:init *&amp;quot; export HISTSIZE=5000 export HISTFILESIZE=5000 export VISUAL=vim </description>
    </item>
    
    
    
    <item>
      <title>My SSH client configuration</title>
      <link>https://blog.wains.be/2013/2013-07-17-ssh-client-configuration/</link>
      <pubDate>Wed, 17 Jul 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-07-17-ssh-client-configuration/</guid>
      <description>Date: 2013-07-17 Tags: ssh
This is my configuration. It fits my environment, some settings might not be right for you.
Host * ForwardAgent yes # I only connect to safe servers, not shared servers. GSSAPIAuthentication no # Because sometimes I have to deal with Windows DNS servers AddressFamily inet IdentityFile ~/.ssh/id_rsa SendEnv LANG LC_* HashKnownHosts yes # Hash FQDN in known_hosts GSSAPIDelegateCredentials no EscapeChar ~ ServerAliveInterval 60 ServerAliveCountMax 60 #User root StrictHostKeyChecking ask # Check SSHFP record #VerifyHostKeyDNS yes ControlMaster auto ControlPath ~/.</description>
    </item>
    
    
    
    <item>
      <title>Python iteration through dictionnaries</title>
      <link>https://blog.wains.be/2013/2013-07-17-python-dictionaries/</link>
      <pubDate>Wed, 17 Jul 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-07-17-python-dictionaries/</guid>
      <description>Date: 2013-07-17 Tags: python
We create a dictionary called &amp;ldquo;d&amp;rdquo;:
d = {&#39;site1&#39;: {&#39;servername&#39;: &#39;test.org&#39;, &#39;serveralias&#39;: &#39;www.test.org&#39;}} We parse it with iteritems():
for key, value in d.iteritems(): print key print value[&#39;servername&#39;] </description>
    </item>
    
    
    
    <item>
      <title>Rescan SCSI bus under Linux to add a drive without rebooting</title>
      <link>https://blog.wains.be/2013/2013-07-17-linux-rescan-scsi/</link>
      <pubDate>Wed, 17 Jul 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-07-17-linux-rescan-scsi/</guid>
      <description>Date: 2013-07-17 Tags: Linux
Either:
echo &amp;quot;- - -&amp;quot; &amp;gt; /sys/class/scsi_host/host0/scan Or (usually comes with sg3-utils):
rescan-scsi-bus.sh If you want to hot extend a drive:
echo 1 &amp;gt; /sys/class/scsi_device/device/rescan	I discovered the extend trick here</description>
    </item>
    
    
    
    <item>
      <title>Print every X line in a file</title>
      <link>https://blog.wains.be/2013/2013-07-09-awk-print-numbered-line/</link>
      <pubDate>Tue, 09 Jul 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-07-09-awk-print-numbered-line/</guid>
      <description>Date: 2013-07-09
In this example, I&amp;rsquo;ll print line 20, 40, 60, 80, etc. of data.txt:
awk &#39;(NR%20==0)&#39; data.txt NF The number of fields in the current input record. NR The total number of input records seen so far.</description>
    </item>
    
    
    
    <item>
      <title>Simple HTTP server with Python		</title>
      <link>https://blog.wains.be/2013/2013-07-06-python-webserver/</link>
      <pubDate>Sat, 06 Jul 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-07-06-python-webserver/</guid>
      <description>Simply run this from the command line and it will server the content of the current directory:
python -m SimpleHTTPServer 80 I recommend setting an alias for that and make sure that the port is always open from the internet. It makes it very easy to share stuff with friends temporarily.
Python 3 SimpleHTTPServer is gone in Python 3.
You can now use:
python3 -m http.server 8000 </description>
    </item>
    
    
    
    <item>
      <title>Evaluating Ansible</title>
      <link>https://blog.wains.be/2013/2013-07-01-evaluating-ansible/</link>
      <pubDate>Mon, 01 Jul 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-07-01-evaluating-ansible/</guid>
      <description>categories:
Automation Linux I&amp;rsquo;m currently actively working on Salt, I actually have a dozen production servers at work, running critical services through it. I commit new things into the production branch every couple of days. Since Ansible seems to get all the rage (at least convinced a couple of fellow FOSS friends, Fabian, Serge, etc), I decided to give it a try and compare the two solutions.
I&amp;rsquo;m detailing here how you can start working with Ansible in about 3 minutes.</description>
    </item>
    
    
    
    <item>
      <title>Tomcat 6 webapp authentication against AD</title>
      <link>https://blog.wains.be/2013/2013-06-30-tomcat-6-webapp-authentication-against-ad/</link>
      <pubDate>Sun, 30 Jun 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-06-30-tomcat-6-webapp-authentication-against-ad/</guid>
      <description>categories:
Howto Security Tested on RHEL6
Add the following in /etc/tomcat6/server.xml (before the ending host tag) :
&amp;lt;realm userbase=&amp;quot;ou=users,dc=intranet,dc=example,dc=org&amp;quot; referrals=&amp;quot;follow&amp;quot; connectionpassword=&amp;quot;password&amp;quot; usersubtree=&amp;quot;true&amp;quot; connectionurl=&amp;quot;ldap://intranet.example.org:389&amp;quot; rolebase=&amp;quot;ou=users,dc=intranet,dc=example,dc=org&amp;quot; classname=&amp;quot;org.apache.catalina.realm.JNDIRealm&amp;quot; rolesubtree=&amp;quot;true&amp;quot; authentication=&amp;quot;simple&amp;quot; usersearch=&amp;quot;(sAMAccountName={0})&amp;quot; connectionname=&amp;quot;username&amp;quot; debug=&amp;quot;99&amp;quot; rolename=&amp;quot;cn&amp;quot; rolesearch=&amp;quot;(member={0})&amp;quot;&amp;gt;&amp;lt;/realm&amp;gt; Add your users to the group (role in Tomcat terms, which we&amp;rsquo;ll call &amp;ldquo;myapplication&amp;rdquo; in this example) in AD.
Now edit /etc/tomcat6/tomcat-users.xml with the users :
&amp;lt;user name=&amp;quot;user01&amp;quot; roles=&amp;quot;myapplication&amp;quot;&amp;gt;&amp;lt;/user&amp;gt; So here we have a group &amp;ldquo;myapplication&amp;rdquo; (matching query &amp;lsquo;roleName=cn&amp;rsquo;) with member=user01</description>
    </item>
    
    
    
    <item>
      <title>VLAN trunking with Cisco Catalyst 2950 &#43; WAP4410N</title>
      <link>https://blog.wains.be/2013/2013-06-30-vlan-trunking-with-cisco-catalyst-2950-wap4410n/</link>
      <pubDate>Sun, 30 Jun 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-06-30-vlan-trunking-with-cisco-catalyst-2950-wap4410n/</guid>
      <description>Tags: Networks
VLAN 10 is WORK VLAN 20 is HOME VLAN 30 is GUEST On the 2950, configure the port to the WAP4410N as trunk :
switch#conf t switch(config)#interface fastEthernet 0/12 switch(config-if)#description WAP4410N switch(config-if)#switchport trunk native vlan 30 switch(config-if)#switchport trunk allowed vlan 10,20,30 switch(config-if)#switchport mode trunk By default all VLAN are allowed on a trunk. It is recommended to specify which VLAN you want on the trunk.
Native VLAN will be the VLAN of any untagged frame.</description>
    </item>
    
    
    
    <item>
      <title>Debian installation over PXE and dnsmasq</title>
      <link>https://blog.wains.be/2013/2013-06-22-debian-installation-over-pxe-and-dnsmasq/</link>
      <pubDate>Sat, 22 Jun 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-06-22-debian-installation-over-pxe-and-dnsmasq/</guid>
      <description>categories:
Automation Debian/Ubuntu The DHCP/TFTP server holds the IP 10.10.0.2
All commands as root :
mkdir -p /srv/tftp
cd /srv/tftp
wget http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/netboot.tar.gz
tar xvzf netbook.tar.gz
chown dnsmasq. * -R
vim /etc/dnsmasq.conf
dhcp-range=LAN,10.10.20.1,10.10.20.254,255.255.0.0,24h enable-tftp tftp-root=/srv/tftp dhcp-boot=pxelinux.0,pxeserver,10.10.0.2
/etc/init.d/dnsmasq restart</description>
    </item>
    
    
    
    <item>
      <title>Repurposing a Barracuda Spam &amp; Virus Firewall</title>
      <link>https://blog.wains.be/2013/2013-06-21-repurposing-a-barracuda-spam-virus-firewall/</link>
      <pubDate>Fri, 21 Jun 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-06-21-repurposing-a-barracuda-spam-virus-firewall/</guid>
      <description>categories:
Hardware Linux I got my hands on a out of warranty/subscription/whatever Barracuda unit.
This unit is a Spam &amp;amp; Firewall 400 model from 2009 or something. Basically it&amp;rsquo;s regular computer hardware in a 1U rack, with a Barracuda logo on it.
The mainboard is an MSI MS-7309, the CPU is an Athlon clocking at 2.7 GHz (VT available and enabled by default) and 2 GB of RAM. Storage is two drives of 250 GB in software RAID set up.</description>
    </item>
    
    
    
    <item>
      <title>mod_proxy_balancer on RHEL6</title>
      <link>https://blog.wains.be/2013/2013-06-06-mod_proxy_balancer-on-rhel6/</link>
      <pubDate>Thu, 06 Jun 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-06-06-mod_proxy_balancer-on-rhel6/</guid>
      <description>categories: tags: Apache tags: Linux tags: Red Hat/CentOS
Tested on RHEL 6. This is the simplest setup possible, for my own reference. I may come up with a Salt state in the future.
Reference : http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html
/etc/httpd/conf.d/balancer-manager.conf : `
&amp;lt;Location /balancer-manager&amp;gt;
SetHandler balancer-manager
Order Deny,Allow
Deny from all
Allow from 192.168.0.0/24
`
/etc/httpd/conf.d/vhost.conf :
`
&amp;lt;VirtualHost *:80&amp;gt;
ServerAdmin someadmin@example.org
ServerName xyz.example.org &amp;lt;Proxy balancer://xyz_example_org&amp;gt;
BalancerMember http://backend01.example.org:80
BalancerMember http://backend02.example.org:80
ProxyPass /balancer-manager !</description>
    </item>
    
    
    
    <item>
      <title>Salt Stack, a (serious) alternative to Puppet</title>
      <link>https://blog.wains.be/2013/2013-04-05-salt-stack-a-serious-alternative-to-puppet/</link>
      <pubDate>Fri, 05 Apr 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-04-05-salt-stack-a-serious-alternative-to-puppet/</guid>
      <description>I couldn&amp;rsquo;t write it better : see http://www.lecloud.net/post/29325359938/salt-to-the-rescue
So basically, Salt is a configuration management system (à la Puppet) and allows remote execution (à la Rundeck).
First thing first, it is very easy to install. I know Puppet now offers repositories and it&amp;rsquo;s probably as easy, but Salt is just a package with a couple of dependencies. Actually to achieve the same tasks you have to have Puppet and Mcollective, which are still two distinct products.</description>
    </item>
    
    
    
    <item>
      <title>See changes made to a filesystem with inotify</title>
      <link>https://blog.wains.be/2013/2013-04-05-see-changes-made-to-a-filesystem-with-inotify/</link>
      <pubDate>Fri, 05 Apr 2013 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2013/2013-04-05-see-changes-made-to-a-filesystem-with-inotify/</guid>
      <description>categories:
Linux Scripts Install the package &amp;ldquo;inotify-tools&amp;rdquo; with your package manager (in EPEL for RHEL).
Then create and execute this script :
inotifywait -m -r --format $&#39;%T %e %w%f&#39; --timefmt &#39;%H:%M:%S&#39; --exclude ~/&#39;(\.mozilla|Documents/KeepNote)&#39; -e modify -e move -e create -e delete ~ 2&amp;gt;&amp;amp;1 | awk &#39;/^[0-9]/ { sub(/&#39;&amp;quot;${HOME//\//\\/}&amp;quot;&#39;/, &amp;quot;~&amp;quot;, $0) split($0, a, &amp;quot; &amp;quot;) len=length(a[1])+length(a[2])+1 printf &amp;quot;%-20s %s\n&amp;quot;, substr($0, 0, len), substr($0, len+2) // flush stdout system(&amp;quot;&amp;quot;) next } {print ; system(&amp;quot;&amp;quot;)} &#39; | tee -a /tmp/home_monitor Source : http://blog.</description>
    </item>
    
    
    
    <item>
      <title>Rundeck howto and examples</title>
      <link>https://blog.wains.be/2012/2012-12-03-rundeck-howto-and-examples/</link>
      <pubDate>Mon, 03 Dec 2012 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2012/2012-12-03-rundeck-howto-and-examples/</guid>
      <description>categories:
Automation Linux Tools Quoting rundeck.org : Rundeck is an Open Source process automation and command orchestration tool with a web console. As I understand it, it&amp;rsquo;s a fork of Control Tier : www.controltier.org I&amp;rsquo;m usually all for the command-line, but you have to admit the devs have done a pretty good job regarding the web console. The documentation is pretty good as well. No need to install agents on your servers.</description>
    </item>
    
    
    
    <item>
      <title>ActiveMQ 5.4.x install under RHEL 5.x</title>
      <link>https://blog.wains.be/2012/2012-01-06-activemq-5-4-x-install-under-rhel-5-x/</link>
      <pubDate>Fri, 06 Jan 2012 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2012/2012-01-06-activemq-5-4-x-install-under-rhel-5-x/</guid>
      <description>categories:
ActiveMQ Howto Linux _Tested with ActiveMQ 5.4.3, Red Hat Linux Enterprise 5.7 64 bits with Sun JVM 1.5
ActiveMQ 5.5.x requires JVM 1.6_
The following is a simple copy and paste howto. Simply adapt the install variables and you&amp;rsquo;re good to go.
Let&amp;rsquo;s declare some variables for the install process :
AMQDIR=&amp;quot;/usr/local&amp;quot; VERSION=&amp;quot;5.4.3&amp;quot;
Download and installation :
cd /root wget http://apache.cu.be//activemq/apache-activemq/$VERSION/apache-activemq-$VERSION-bin.tar.gz cp /root/apache-activemq-$VERSION-bin.tar.gz $AMQDIR cd $AMQDIR tar xvzf apache-activemq-$VERSION-bin.tar.gz chown root.</description>
    </item>
    
    
    
    <item>
      <title>Two step authentication on SSH with Google Authenticator under Debian Sid</title>
      <link>https://blog.wains.be/2011/2011-10-25-two-step-authentication-on-ssh-with-google-authenticator-under-debian-sid/</link>
      <pubDate>Tue, 25 Oct 2011 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2011/2011-10-25-two-step-authentication-on-ssh-with-google-authenticator-under-debian-sid/</guid>
      <description>categories:
Debian/Ubuntu Howto Security On a Debian Sid system, install the following :
apt-get install libpam-google-authenticator
Edit /etc/ssh/sshd_config and set :
ChallengeResponseAuthentication yes
Restart the service :
service ssh restart
Now run :
google-authenticator
Scan the barcode from the Google Authenticator app on your mobile device.
Edit /etc/pam.d/sshd and add at the very beginning of the file :
auth required pam_google_authenticator.so
Now test a SSH connection. You should be prompted by a cool &amp;ldquo;Verification code :&amp;rdquo; Then by the regular password prompt.</description>
    </item>
    
    
    
    <item>
      <title>Spin down external USB drive on Debian Squeeze</title>
      <link>https://blog.wains.be/2011/2011-08-04-spin-down-external-usb-drive-on-debian-squeeze/</link>
      <pubDate>Thu, 04 Aug 2011 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2011/2011-08-04-spin-down-external-usb-drive-on-debian-squeeze/</guid>
      <description>categories:
Debian/Ubuntu Linux It seems like I have at least two options to spin down my external USB drive used for rsnapshot backups (Iomega 1TB). In the first place, I assumed it would spin down by itself by simply unmounting the volume, like on the Mac. But it doesn&amp;rsquo;t.
So I gave sdparm a try :
sdparm --command=stop /dev/backupdrive It doesn&amp;rsquo;t work :-)
I found a working solution at http://forums.debian.net/viewtopic.php?f=7&amp;amp;t=60122</description>
    </item>
    
    
    
    <item>
      <title>Large files uploading fail with Apache &#43; PHP &#43; APC</title>
      <link>https://blog.wains.be/2011/2011-07-06-large-files-uploading-fail-with-apache-php-apc/</link>
      <pubDate>Wed, 06 Jul 2011 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2011/2011-07-06-large-files-uploading-fail-with-apache-php-apc/</guid>
      <description>categories:
Apache We had one quite interesting problem at work.
We had a Drupal site where we couldn&amp;rsquo;t upload files larger than 32 MB, while having in php.ini :
upload_max_filesize = 200 MB post_max_size = 200M
After disabling APC, we could upload larger files.
It turns out, it seems changing the following in apc.ini
apc.rfc1867_freq=0
to
apc.rfc1867_freq=100k
fixed the problem.
Doc : http://www.php.net/manual/en/apc.configuration.php#ini.apc.rfc1867-freq
&amp;lt;code&amp;gt;apc.rfc1867_freq string The frequency that updates should be made to the user cache entry for upload progress.</description>
    </item>
    
    
    
    <item>
      <title>Authenticate Linux Red Hat with Microsoft Active Directory</title>
      <link>https://blog.wains.be/2011/2011-04-11-authenticate-linux-red-hat-with-microsoft-active-directory/</link>
      <pubDate>Mon, 11 Apr 2011 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2011/2011-04-11-authenticate-linux-red-hat-with-microsoft-active-directory/</guid>
      <description>2011-04-11
Tested with Active Directory 2003 and RHEL 6.0
Tested with Active Directory 2012 and RHEL 7.2 (September 2016)
What we want to do :
authentication against AD using Winbind and Kerberos allowing local and remote (SSH) authentication to members of a specific AD group (linuxadmin) allowing members of linuxadmin to use sudo UID/GID mapping against AD user homedir will be created at first log using pam_mkhomedir still possible to log in using local accounts, in case AD is unavailable Check if resolution works:</description>
    </item>
    
    
    
    <item>
      <title>Postfix ignoring /etc/aliases under Debian ?</title>
      <link>https://blog.wains.be/2011/2011-04-05-postfix-ignoring-etcaliases-under-debian/</link>
      <pubDate>Tue, 05 Apr 2011 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2011/2011-04-05-postfix-ignoring-etcaliases-under-debian/</guid>
      <description>categories:
Debian/Ubuntu Linux Postfix So you are running Debian, you added some aliases into /etc/aliases, ran newaliases, but Postfix won&amp;rsquo;t take aliases into account despite what seems to be a correct configuration :
/etc/postfix/main.cf : alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases
/etc/aliases : account: someone@example.org
Check the myorigin parameter : # postconf myorigin myorigin = /etc/mailname
Now if you check the content of /etc/mailname : # cat /etc/mailname srv.intranet.example.com
Change that to &amp;ldquo;intranet.</description>
    </item>
    
    
    
    <item>
      <title>Importing certificates on Android (CA and client)</title>
      <link>https://blog.wains.be/2011/2011-03-13-importing-certificates-on-android-ca-and-client/</link>
      <pubDate>Sun, 13 Mar 2011 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2011/2011-03-13-importing-certificates-on-android-ca-and-client/</guid>
      <description>categories:
Android Tested on my HTC Hero running Android 2.2.1
They do not make it terribly obvious, so I believe this is worth a post.
Android will not import CA cert in the PEM format, you&amp;rsquo;ll get a &amp;ldquo;no certificate to install&amp;rdquo; message at some point.
You actually have to export a P12 certificate containing the client certificate and the CA.
Use this command : openssl pkcs12 -export -in clientcert.pem -inkey clientcert.</description>
    </item>
    
    
    
    <item>
      <title>DRBD on Red Hat Enterprise Linux 5</title>
      <link>https://blog.wains.be/2011/2011-02-16-drbd-on-red-hat-enterprise-linux-5/</link>
      <pubDate>Wed, 16 Feb 2011 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2011/2011-02-16-drbd-on-red-hat-enterprise-linux-5/</guid>
      <description>categories:
High-Availability Red Hat/CentOS This is a rough guide and really for future personal references so I can rebuild a DRBD cluster in 3 minutes, without having to dig into DRBD docs again. Please correct me if something is wrong (I&amp;rsquo;m thinking about DRBD gurus, Arrfab coming to mind :-)) .
This worked for me on RHEL5.6 64 bits and DRBD 8.2.
I&amp;rsquo;ll call the DRBD resource &amp;ldquo;DRBDCluster&amp;rdquo;
Install drbd8X and kmod-drbd8X (grab the RPMS at your favorite RPM retailer.</description>
    </item>
    
    
    
    <item>
      <title>Red Hat Cluster - VMware ESX fencing</title>
      <link>https://blog.wains.be/2011/2011-02-16-red-hat-cluster-vmware-esx-fencing/</link>
      <pubDate>Wed, 16 Feb 2011 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2011/2011-02-16-red-hat-cluster-vmware-esx-fencing/</guid>
      <description>categories:
High-Availability Red Hat/CentOS Tested on Red Hat Enterprise Linux 5.6 64 bits and VMware ESX 3.5 Edit November 2011 : Tested on RHEL6.1 and VMware ESX 4.1
If you set up a cluster, in case of failure, you&amp;rsquo;ll probably want the surviving host to be able to &amp;ldquo;fence&amp;rdquo; or &amp;ldquo;stonith&amp;rdquo; the faulty node.
Red Hat Cluster provides a collection of scripts for that purpose (for APC, ILO, DRAC, etc. and VMware).</description>
    </item>
    
    
    
    <item>
      <title>Find IP ranges from an ASN</title>
      <link>https://blog.wains.be/2010/2010-12-30-find-ip-ranges-from-an-asn/</link>
      <pubDate>Thu, 30 Dec 2010 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-12-30-find-ip-ranges-from-an-asn/</guid>
      <description>categories:
Networks $ whois 217.136.0.0 | grep origin: origin: AS5432
$ whois -h whois.ripe.net -i origin -T route AS5432 | grep -w &amp;quot;route:&amp;quot; | awk &#39;{print $NF}&#39; |sort -n 46.178.0.0/15 62.4.128.0/17 80.200.0.0/15 81.169.0.0/17 81.240.0.0/14 81.244.0.0/14 87.64.0.0/14 91.176.0.0/14 91.180.0.0/14 91.198.203.0/24 92.48.128.0/18 109.128.0.0/14 109.132.0.0/14 109.136.0.0/14 109.140.0.0/14 125.213.216.0/22 138.203.0.0/16 161.195.143.0/24 165.26.216.0/21 170.252.120.0/24 178.144.0.0/15 188.5.0.0/16 188.95.86.0/24 192.133.103.0/24 192.23.170.0/24 193.104.159.0/24 193.106.227.0/24 193.110.92.0/24 193.178.174.0/24 193.221.87.0/24 193.221.89.0/24 193.235.106.0/24 193.239.113.0/24 193.41.158.0/23 193.53.200.0/21 193.53.208.0/20 193.53.224.0/20 193.53.238.0/24 193.53.240.0/22 193.53.242.0/24 193.53.244.0/24 193.</description>
    </item>
    
    
    
    <item>
      <title>Servname not supported for ai_socktype</title>
      <link>https://blog.wains.be/2010/2010-12-21-servname-not-supported-for-ai_socktype/</link>
      <pubDate>Tue, 21 Dec 2010 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-12-21-servname-not-supported-for-ai_socktype/</guid>
      <description>categories:
Linux If you get something like :
fetchmail: getaddrinfo(&amp;quot;pop.gmail.com&amp;quot;,&amp;quot;pop3s&amp;quot;) error: Servname not supported for ai_socktype
Make sure /etc/services exists and/or is readable (644).</description>
    </item>
    
    
    
    <item>
      <title>Brother HL-2150N toner rip off. And how to fix it.</title>
      <link>https://blog.wains.be/2010/2010-12-04-brother-hl-2150n-toner-rip-off-and-how-to-fix-it/</link>
      <pubDate>Sat, 04 Dec 2010 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-12-04-brother-hl-2150n-toner-rip-off-and-how-to-fix-it/</guid>
      <description>categories:
Misc I bought a Brother HL-2150N printer a couple of months ago. It&amp;rsquo;s actually a pretty nice B/W network laser printer, tagged at an affordable price. It works out of the box on OS X and Linux. Also, I was able to get the number of printed pages in Cacti, through SNMP. Pretty cool.
I don&amp;rsquo;t print a lot, and usually nothing that requires color (flight reservations, administrative stuff, etc.</description>
    </item>
    
    
    
    <item>
      <title>Setting up Synergy between Mac OS and Linux</title>
      <link>https://blog.wains.be/2010/2010-09-02-setting-up-synergy-between-mac-os-and-linux/</link>
      <pubDate>Thu, 02 Sep 2010 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-09-02-setting-up-synergy-between-mac-os-and-linux/</guid>
      <description>categories:
Apple/Mac OS Linux This post should be OK for any kind of client/server combination. That&amp;rsquo;s just that I only had a MacBook and a Linux netbook under my hands at the moment of writing this.
Quoting their homepage : &amp;ldquo;Synergy lets you easily share a single mouse and keyboard between multiple computers with different operating systems, without special hardware. All you need is a LAN connection. It&amp;rsquo;s intended for users with multiple computers, where each system uses its own display.</description>
    </item>
    
    
    
    <item>
      <title>Force SSH password authentication</title>
      <link>https://blog.wains.be/2010/2010-08-31-force-ssh-password-authentication/</link>
      <pubDate>Tue, 31 Aug 2010 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-08-31-force-ssh-password-authentication/</guid>
      <description>categories:
SSH If for some reason you want to disable public key authentication temporarily when SSH&amp;rsquo;ing into a machine, type :
ssh -o PubkeyAuthentication=no user@machine
You should get the prompt for the password.
This goes without saying, but ChallengeResponseAuthentication (at least on Debian) must be set to yes on the server side for this to work.
Thanks to Philip for proof-reading this post :-)</description>
    </item>
    
    
    
    <item>
      <title>Red Hat Cluster Suite monitoring with SNMP</title>
      <link>https://blog.wains.be/2010/2010-08-26-red-hat-cluster-suite-monitoring-with-snmp/</link>
      <pubDate>Thu, 26 Aug 2010 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-08-26-red-hat-cluster-suite-monitoring-with-snmp/</guid>
      <description>categories:
High-Availability Red Hat/CentOS I&amp;rsquo;ll consider your cluster is already up and running.
Install cluster-snmp (available in Red Hat Cluster repository) :
yum install cluster-snmp
Let&amp;rsquo;s see what we have in there :
# rpm -ql cluster-snmp /usr/lib/cluster-snmp /usr/lib/cluster-snmp/libClusterMonitorSnmp.so /usr/share/doc/cluster-snmp-0.12.1 /usr/share/doc/cluster-snmp-0.12.1/COPYING /usr/share/doc/cluster-snmp-0.12.1/README /usr/share/doc/cluster-snmp-0.12.1/README.snmpd /usr/share/doc/cluster-snmp-0.12.1/REDHAT-CLUSTER-MIB /usr/share/doc/cluster-snmp-0.12.1/REDHAT-MIB /usr/share/snmp/mibs/REDHAT-CLUSTER-MIB /usr/share/snmp/mibs/REDHAT-MIB
Now on every node of the cluster, edit /etc/snmp/snmpd.conf and add this :
At the very beginning of the file : dlmod RedHatCluster /usr/lib/cluster-snmp/libClusterMonitorSnmp.</description>
    </item>
    
    
    
    <item>
      <title>Debugging Multicast</title>
      <link>https://blog.wains.be/2010/2010-08-16-debugging-multicast/</link>
      <pubDate>Mon, 16 Aug 2010 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-08-16-debugging-multicast/</guid>
      <description>categories:
Networks On the &amp;ldquo;client&amp;rdquo; side : iperf -u -c 239.192.95.98 -p 10000 -b 1 -i 5 -T 10 -t 120
-u : use UDP -c : run in client mode -p : port -b : bandwidth in bits/sec -i : interval in second -T : TTL -t : time to transmit in seconds
On the &amp;ldquo;server&amp;rdquo; side : iperf -s -i 1 -u -B 239.192.95.98 -p 10000
-s : run in server mode -B : bind to multicast address</description>
    </item>
    
    
    
    <item>
      <title>Debian - purge packages marked with rc status</title>
      <link>https://blog.wains.be/2010/2010-08-04-debian-purge-packages-marked-with-rc-status/</link>
      <pubDate>Wed, 04 Aug 2010 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-08-04-debian-purge-packages-marked-with-rc-status/</guid>
      <description>categories:
Debian/Ubuntu Packages with rc status are not completely removed from the system, configuration files are still present.
If you have a bunch of rc packages you need to purge, as root, type :
dpkg --list |grep &amp;quot;^rc&amp;quot; | cut -d &amp;quot; &amp;quot; -f 3 | xargs sudo dpkg --purge
Source : http://joysofprogramming.com/remove-packages-marked-rc/</description>
    </item>
    
    
    
    <item>
      <title>Simple HTTP server from the command line</title>
      <link>https://blog.wains.be/2010/2010-07-27-simple-http-server-from-the-command-line/</link>
      <pubDate>Tue, 27 Jul 2010 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-07-27-simple-http-server-from-the-command-line/</guid>
      <description>categories:
Tools Tested under Debian Lenny and Mac OS 10.6.3
I&amp;rsquo;ve been using this one for a year or so but failed to share it until now..
python -m SimpleHTTPServer 8000
This will start a simple HTTP server listening on port 8000. Python needed, of course.
Run that command from the folder you want to share.
By the way if William from Paris is reading this, thanks for the book :-)</description>
    </item>
    
    
    
    <item>
      <title>HTC Hero under Android 2.1 &#43; root &#43; tethering &#43; OpenVPN</title>
      <link>https://blog.wains.be/2010/2010-07-08-htc-hero-under-android-2-1-root-tethering-openvpn/</link>
      <pubDate>Thu, 08 Jul 2010 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-07-08-htc-hero-under-android-2-1-root-tethering-openvpn/</guid>
      <description>categories:
Android VPN So I finally jumped into the wonderful world of custom ROM, with my HTC Hero (unbranded German unit).
This phone was very slow and frustrating with the stock 1.5 ROM. I was planning on getting the Nexus One while being in the US in late June, but finally preferred giving the custom ROM option a try. I think I was right, this saved me a couple hundred dollars, and the phone is amazingly fast now.</description>
    </item>
    
    
    
    <item>
      <title>Several workspaces on Ubuntu Netbook Remix</title>
      <link>https://blog.wains.be/2010/2010-06-03-several-workspaces-on-ubuntu-netbook-remix/</link>
      <pubDate>Thu, 03 Jun 2010 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-06-03-several-workspaces-on-ubuntu-netbook-remix/</guid>
      <description>categories:
Debian/Ubuntu Workspaces are &amp;ldquo;disabled&amp;rdquo; by default in Ubuntu Netbook Remix (actually set to one workspace)
If you want 4 workspaces, in a terminal type : gconftool-2 -s /apps/metacity/general/num_workspaces 4 --type int
You&amp;rsquo;ll navigate in the workspaces with the usual keyboard shortcuts : ctrl + alt + left/right arrow keys And : ctrl + alt + shift + left/right to move windows from one space to another.</description>
    </item>
    
    
    
    <item>
      <title>SSH - add port forwardings on a live connection with EscapeChar</title>
      <link>https://blog.wains.be/2010/2010-04-29-ssh-add-port-forwardings-on-a-live-connection-with-escapechar/</link>
      <pubDate>Thu, 29 Apr 2010 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-04-29-ssh-add-port-forwardings-on-a-live-connection-with-escapechar/</guid>
      <description>categories:
SSH Excerpt from the man page :
The interesting part is in bold.
&amp;lt;code&amp;gt;When a pseudo-terminal has been requested, ssh supports a number of functions through the use of an escape character. A single tilde character can be sent as ~~ or by following the tilde by a character other than those described below. The escape character must always follow a newline to be interpreted as special. The escape character can be changed in configuration files using the EscapeChar configuration directive or on the command line by the -e option.</description>
    </item>
    
    
    
    <item>
      <title>Force IP renewal on Cisco 837</title>
      <link>https://blog.wains.be/2010/2010-04-28-force-ip-renewal-on-cisco-837/</link>
      <pubDate>Wed, 28 Apr 2010 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-04-28-force-ip-renewal-on-cisco-837/</guid>
      <description>categories:
Networks Belgacom ISP force IP renewal for their residential ADSL customers every 36 hours for whatever stupid purpose (annoy us, sell their fixed IP option, etc.).
Here&amp;rsquo;s how I force my Cisco 837 router to renew its WAN IP every night at 01:00am :
&amp;lt;code&amp;gt;kron occurrence RENEW_IP at 1:00 recurring policy-list RENEW_IP kron policy-list RENEW_IP cli clear interface Dialer 1&amp;lt;/code&amp;gt; I&amp;rsquo;m less likely to lose my SSH/VPN connections now..</description>
    </item>
    
    
    
    <item>
      <title>Udev - always the same device name for your USB drives</title>
      <link>https://blog.wains.be/2010/2010-04-10-udev-always-the-same-device-name-for-your-usb-drives/</link>
      <pubDate>Sat, 10 Apr 2010 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-04-10-udev-always-the-same-device-name-for-your-usb-drives/</guid>
      <description>categories:
Linux Tested on Debian Lenny
This is how your USB drive will get the same device name (/dev/sdXX or whatever) no matter when or which USB port you plug it in.
# udevinfo -a -p $(udevinfo -q path -n /dev/sdd1)
Where /dev/sdd1 is the partition you want to always get the same device name.
You&amp;rsquo;ll get a bunch of output, but this is the interesting part :
looking at parent device &#39;/devices/pci0000:00/0000:00:1d.</description>
    </item>
    
    
    
    <item>
      <title>Adding a new disk drive to a Linux VMware host without rebooting</title>
      <link>https://blog.wains.be/2010/2010-03-24-adding-a-new-disk-drive-to-a-vmware-host-without-rebooting/</link>
      <pubDate>Wed, 24 Mar 2010 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-03-24-adding-a-new-disk-drive-to-a-vmware-host-without-rebooting/</guid>
      <description>categories:
Linux Virtualization After adding a new drive to a VMware (and probably other virtualization systems) host, it is possible to make the Linux OS rescan the SCSI bus. The new drive would appear without the need to reboot the host.
Use the following command :
echo &amp;quot;- - -&amp;quot; &amp;gt; /sys/class/scsi_host/hostX/scan
hostX is usually host0.
If you check the output of dmesg, you should see the new drive detected. You can then proceed and partition and format your new drive.</description>
    </item>
    
    
    
    <item>
      <title>Tool of the day - etckeeper</title>
      <link>https://blog.wains.be/2010/2010-02-09-tool-of-the-day-etckeeper/</link>
      <pubDate>Tue, 09 Feb 2010 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-02-09-tool-of-the-day-etckeeper/</guid>
      <description>categories:
Linux Versioning http://joey.kitenet.net/code/etckeeper/
etckeeper is a collection of tools to let /etc be stored in a git, mercurial, darcs, or bzr repository. It hooks into apt (and other package managers including yum and pacman-g2) to automatically commit changes made to /etc during package upgrades. It tracks file metadata that revison control systems do not normally support, but that is important for /etc, such as the permissions of /etc/shadow. It&#39;s quite modular and configurable, while also being simple to use if you understand the basics of working with revision control.</description>
    </item>
    
    
    
    <item>
      <title>Asterisk Wake Up call application</title>
      <link>https://blog.wains.be/2010/2010-02-02-asterisk-wake-up-call-application/</link>
      <pubDate>Tue, 02 Feb 2010 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-02-02-asterisk-wake-up-call-application/</guid>
      <description>categories:
Asterisk VoIP If you want to be awaken by your Asterisk PBX, here&amp;rsquo;s a simple bit of code to add in your dial plan.
Basically, you would call 9253 followed by the time the phone should ring, for example if you want to wake up at 06:30am you would call 92530630 before going to bed (on your dialpad WAKE0630).
If you want to delete the 0630am alarm, call 6692530630 (on dialpad NOWAKE0630).</description>
    </item>
    
    
    
    <item>
      <title>A basic OpenLDAP server in under 15 minutes</title>
      <link>https://blog.wains.be/2010/2010-01-27-a-basic-openldap-server-in-under-15-minutes/</link>
      <pubDate>Wed, 27 Jan 2010 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-01-27-a-basic-openldap-server-in-under-15-minutes/</guid>
      <description>categories:
Debian/Ubuntu Howto LDAP Tested under Debian Lenny
This howto is basic, as in &amp;ldquo;no security involved&amp;rdquo;. I may come up with a second part to this guide about securing OpenLDAP with TLS, if I ever find the time. Meanwhile see http://www.openldap.org/doc/admin23/security.html for the security aspect of things.
In this example, I&amp;rsquo;ll create a tree following this scheme : dc=my,dc=domain,dc=tld. It&amp;rsquo;s really up to you how you organize your tree, it&amp;rsquo;s really for organizational purposes.</description>
    </item>
    
    
    
    <item>
      <title>Apache - simple authentication and LDAP authentication examples</title>
      <link>https://blog.wains.be/2010/2010-01-26-apache-simple-authentication-and-ldap-authentication-examples/</link>
      <pubDate>Tue, 26 Jan 2010 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-01-26-apache-simple-authentication-and-ldap-authentication-examples/</guid>
      <description>categories:
Apache LDAP The following are based on an OpenLDAP directory :
Simple authentication :
Users credentials are stored in a file created with htpasswd command
AuthType Basic AuthName &amp;quot;Authentication&amp;quot; AuthUserFile /etc/apache2/passwd-file Require user username1 username2
If we want to allow all users in passwd-file, use : Require valid-user
LDAP user authentication :
We allow user1 and user2 found in the branch ou=People,dc=domain,dc=tld
AuthName &amp;quot;Authentication&amp;quot; AuthType Basic AuthBasicProvider ldap AuthzLDAPAuthoritative on AuthLDAPURL ldap://127.</description>
    </item>
    
    
    
    <item>
      <title>Local user authentication with FreeRADIUS </title>
      <link>https://blog.wains.be/2010/2010-01-25-local-user-authentication-with-freeradius/</link>
      <pubDate>Mon, 25 Jan 2010 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-01-25-local-user-authentication-with-freeradius/</guid>
      <description>categories:
Debian/Ubuntu Howto Networks RADIUS Wifi This one is a bit less complex than http://blog.wains.be/post/wpa2-freeradius-eap-tls/
This is actually the most basic RADIUS configuration ever, useful for quick tests. I can only recommend checking the post mentioned above if you want to do something serious.
# apt-get install freeradius
&amp;lt;code&amp;gt;# vim /etc/freeradius/users login Cleartext-Password := &amp;quot;password&amp;quot; login2 Cleartext-Password := &amp;quot;password2&amp;quot;&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;#vim /etc/freeradius/clients.conf client localhost { ipaddr = 127.0.0.1 secret = radiuspassword } client router { ipaddr = 10.</description>
    </item>
    
    
    
    <item>
      <title>Postfix &#43; virtual users/groups/aliases stored in LDAP</title>
      <link>https://blog.wains.be/2010/2010-01-25-postfix-virtual-usersgroupsaliases-stored-in-ldap/</link>
      <pubDate>Mon, 25 Jan 2010 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-01-25-postfix-virtual-usersgroupsaliases-stored-in-ldap/</guid>
      <description>categories:
Howto LDAP Postfix This will just explain the configuration files needed for Postfix to check against the LDAP server.
We want to be able to send emails to username@domain.tld We also want to have aliases for our users, for example : firstname.lastname@domain.tld pointing to username@domain.tld Finally, we want groups to act as a mailing list, forwarding emails to members of the group, for example : support@domain.tld
LDAP tree
&amp;lt;code&amp;gt;dc=domain,dc=tld |-------ou=Aliases,dc=domain,dc=tld |---------------cn=support,ou=Aliases,dc=domain,dc=tld | |	cn : support |	description : alias support |	gidNumber : 50000 |	mailRoutingAddress : support@domain.</description>
    </item>
    
    
    
    <item>
      <title>Asterisk - XMPP notifications for missed calls</title>
      <link>https://blog.wains.be/2010/2010-01-20-asterisk-xmpp-notifications-for-missed-calls/</link>
      <pubDate>Wed, 20 Jan 2010 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-01-20-asterisk-xmpp-notifications-for-missed-calls/</guid>
      <description>categories:
Asterisk Howto VoIP Tester under Asterisk 1.4.21.
If someone calls and hangs up before leaving a voicemail (that means while the phone is ringing or during voicemail message), Asterisk will send a &amp;ldquo;missed call&amp;rdquo; notification by XMPP/Jabber.
/etc/asterisk/jabber.conf :
This file contains the info for Asterisk to connect to the Jabber server. When restarting Asterisk, it will connect automatically and add contacts specified under buddy fields to its contact list.</description>
    </item>
    
    
    
    <item>
      <title>Installing TRAC with Apache2 and mod-python on Debian Lenny</title>
      <link>https://blog.wains.be/2010/2010-01-20-installing-trac-with-apache2-and-mod-python-on-debian-lenny/</link>
      <pubDate>Wed, 20 Jan 2010 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-01-20-installing-trac-with-apache2-and-mod-python-on-debian-lenny/</guid>
      <description>categories:
Apache Debian/Ubuntu Howto Versioning This is based on a fresh install.
Install the necessary stuff :
`# apt-get install apache2 subversion trac
libapache2-svn will enable dav and dav_fs modules.
More stuff :
# apt-get install libapache2-mod-python
Create your directories for TRAC environments (/home/trac/), projects source files (/home/dev/) and SVN repositories (/home/svn/) :
# mkdir /home/{trac,dev,svn}
Create your first project :
`# mkdir /home/dev/project1
Create the SVN repository for the project :</description>
    </item>
    
    
    
    <item>
      <title>Asterisk dependencies on Debian Lenny or Squeeze ??</title>
      <link>https://blog.wains.be/2010/2010-01-15-asterisk-dependencies-on-debian-lenny-or-squeeze/</link>
      <pubDate>Fri, 15 Jan 2010 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-01-15-asterisk-dependencies-on-debian-lenny-or-squeeze/</guid>
      <description>categories:
Asterisk Debian/Ubuntu Can someone explain why build-essential is a dependency of Asterisk under Lenny or Squeeze ?
142 MB.. seriously ? Meanwhile Askozia fits on 30 MB, and that includes the OS.
&amp;lt;code&amp;gt;# apt-get install asterisk Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: asterisk-config asterisk-sounds-main binutils build-essential bzip2 ca-certificates cpp cpp-4.3 debhelper dpkg-dev file g++ g++-4.3 gcc gcc-4.3 gettext gettext-base html2text intltool-debian libasound2 libc-client2007b libc6-dev libcap2 libcompress-raw-zlib-perl libcompress-zlib-perl libcurl3 libdigest-hmac-perl libdigest-sha1-perl libfile-remove-perl libgmp3c2 libgomp1 libgsm1 libidn11 libiksemel3 libio-compress-base-perl libio-compress-zlib-perl libio-stringy-perl libldap-2.</description>
    </item>
    
    
    
    <item>
      <title>AFP server in under 15 minutes (Debian)</title>
      <link>https://blog.wains.be/2010/2010-01-14-afp-server-in-under-15-minutes-debian/</link>
      <pubDate>Thu, 14 Jan 2010 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-01-14-afp-server-in-under-15-minutes-debian/</guid>
      <description>categories:
Apple/Mac OS Debian/Ubuntu Howto Tested under Debian Lenny 32 bits.
This howto is based on http://www.kremalicious.com/2008/06/ubuntu-as-mac-file-server-and-time-machine-volume/ Matthias&amp;rsquo; post is very comprehensive. This post is basically a raw copy paste of commands, if you want more information, go see Matthias post. If you find this useful, please give credit to Matthias :-)
Why AFP (Apple Filing Protocol) ?
I wanted to see if AFP was faster than SMB. A quick test showed my Macbook (running OS 10.</description>
    </item>
    
    
    
    <item>
      <title>Nagios &#43; SMS notifications with Gammu and Siemens MC35i</title>
      <link>https://blog.wains.be/2010/2010-01-05-nagios-sms-notifications-gammu-siemensmc35i/</link>
      <pubDate>Tue, 05 Jan 2010 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-01-05-nagios-sms-notifications-gammu-siemensmc35i/</guid>
      <description>categories:
High-Availability Howto What you need :
a working Nagios a GSM modem (this has been tested with a Siemens MC35i) or a cellphone with modem capabilities supported by Linux (I don&amp;rsquo;t have that) Gammu Set up the modem :
Connect the GSM modem to the Nagios machine through the serial port and make sure it receives signal from the carrier (LED blinking slowly means everything is OK, if not it blinks fast)</description>
    </item>
    
    
    
    <item>
      <title>Proxmox VE - accessing COM port from the host in a VM</title>
      <link>https://blog.wains.be/2010/2010-01-05-proxmox-ve-accessing-com-port-from-the-host-in-a-vm/</link>
      <pubDate>Tue, 05 Jan 2010 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2010/2010-01-05-proxmox-ve-accessing-com-port-from-the-host-in-a-vm/</guid>
      <description>categories:
Virtualization If you want to access the COM/serial port of your host machine from a KVM virtual machine in Proxmox VE, simply do the following :
vim /etc/qemu-server/104.conf where 104 is the ID of the VM
add &amp;ldquo;args: -serial /dev/ttyS0&amp;rdquo; to the end of the file
It should look like this :
name: testVM ide2: debian-500-i386-netinst.iso,media=cdrom smp: 1 vlan0: rtl8139=XX:XX:XX:XX:XX:XX bootdisk: ide0 ide0: vm-104-disk.qcow2 ostype: other memory: 256 args: -serial /dev/ttyS0</description>
    </item>
    
    
    
    <item>
      <title>Script - renew your IP automatically through your router web interface</title>
      <link>https://blog.wains.be/2009/2009-09-24-script-renew-your-ip-automatically-through-your-router-web-interface/</link>
      <pubDate>Thu, 24 Sep 2009 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2009/2009-09-24-script-renew-your-ip-automatically-through-your-router-web-interface/</guid>
      <description>categories:
Scripts A little background :
If you are not interested in the explanation behind this, skip to the script section.
OK, I&amp;rsquo;ve been using Scarlet ISP for my DSL connection for something like 5 years. My contract mentions I get a dynamic IP. The thing is, until two days ago, as long as my DSL router remained connected, I was keeping the same IP. Scarlet didn&amp;rsquo;t mind until Belgacom ISP bought them.</description>
    </item>
    
    
    
    <item>
      <title>WPA2 &#43; FreeRADIUS &#43; EAP-TLS</title>
      <link>https://blog.wains.be/2009/2009-09-13-wpa2-freeradius-eap-tls/</link>
      <pubDate>Sun, 13 Sep 2009 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2009/2009-09-13-wpa2-freeradius-eap-tls/</guid>
      <description>categories:
Debian/Ubuntu Howto Networks RADIUS Security Wifi WPA/WPA2 Enterprise on your wired or wireless network. Tested under Debian Lenny (server side) and Mac OS X 10.6, Windows XP and Android 2.2, Ubuntu 10.10 (client side)
BUILDING AND INSTALLING FREERADIUS WITH TLS SUPPORT
This step is not needed anymore, starting from Debian Squeeze Freeradius comes with TLS support. Please, do not build stuff on your production server. Build on a dedicated build machine and then install the resulting packages on the production server.</description>
    </item>
    
    
    
    <item>
      <title>Mac OS X - Time Machine backup on a Samba drive</title>
      <link>https://blog.wains.be/2009/2009-08-20-mac-os-x-time-machine-backup-on-a-samba-drive/</link>
      <pubDate>Thu, 20 Aug 2009 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2009/2009-08-20-mac-os-x-time-machine-backup-on-a-samba-drive/</guid>
      <description>categories:
Apple/Mac OS Howto Edit Jan 2010 : you can also run Time Machine backups on an AFP drive, which is faster (at least for me), see [http://blog.wains.be/post/afp-server-in-under-15-minutes-debian/](http://blog.wains.be/post/afp-server-in-under-15-minutes-debian/) for more info on installing Netatalk on your server.
Time Machine, the built-in backup utility of OS X is nice (in a &amp;ldquo;run and forget about it&amp;rdquo; way) but has a few limitations. The major problem is it will only backup your data to a physically attached drive (through USB or Firewire) by default.</description>
    </item>
    
    
    
    <item>
      <title>apache2 &#43; webdav &#43; SSL (self signed) on Debian Lenny</title>
      <link>https://blog.wains.be/2009/2009-07-17-apache2-webdav-ssl-self-signed-on-debian-lenny/</link>
      <pubDate>Fri, 17 Jul 2009 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2009/2009-07-17-apache2-webdav-ssl-self-signed-on-debian-lenny/</guid>
      <description>categories:
Apache Howto Install
Install Apache2 and SSL
apt-get install apache2 openssl ssl-cert
Enable the Apache modules we&amp;rsquo;ll be using :
a2enmod ssl a2enmod dav_fs a2enmod dav
Make sure you find the line &amp;ldquo;listen 443&amp;rdquo; somewhere in /etc/apache2/ports.conf
Create the SSL certificate
mkdir /etc/apache2/ssl openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem chmod 600 /etc/apache2/ssl/apache.pem
Apache config
mkdir -p /var/www/ssl/webdav/ chown www-data. /var/www/ssl/webdav/ htpasswd -c /var/www/passwd.dav user</description>
    </item>
    
    
    
    <item>
      <title>Querying SRV records</title>
      <link>https://blog.wains.be/2009/2009-07-15-querying-srv-records/</link>
      <pubDate>Wed, 15 Jul 2009 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2009/2009-07-15-querying-srv-records/</guid>
      <description>categories:
DNS I seem to always forget how to query SRV records.. so here it goes :
# host -t SRV _ldap._tcp.example.com _ldap._tcp.example.com has SRV record 0 100 389 ipaserver.example.com.</description>
    </item>
    
    
    
    <item>
      <title>Squid as a reverse proxy howto</title>
      <link>https://blog.wains.be/2009/2009-07-07-squid-as-a-reverse-proxy-howto/</link>
      <pubDate>Tue, 07 Jul 2009 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2009/2009-07-07-squid-as-a-reverse-proxy-howto/</guid>
      <description>categories:
Howto Linux Proxy The setup :
We run a virtualization server on a server in a datacenter (for example Proxmox VE), we only have 1 public IP available. We run web servers on 2 different virtual machines inside that VM host. We want both web servers to be accessible through the public IP on port 80.
We will use the Squid Proxy to act as a &amp;ldquo;reverse proxy&amp;rdquo; (http://en.wikipedia.org/wiki/Reverse_proxy). Squid will relay the requests to the destination depending on the hostname requested.</description>
    </item>
    
    
    
    <item>
      <title>GNBD on Debian installation howto</title>
      <link>https://blog.wains.be/2009/2009-06-30-gnbd-on-debian-installation-howto/</link>
      <pubDate>Tue, 30 Jun 2009 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2009/2009-06-30-gnbd-on-debian-installation-howto/</guid>
      <description>categories:
Debian/Ubuntu Howto Linux GNBD is some kind of alternative to iSCSI and to a (much) lower extent to sshfs or other filesharing systems (NFS, Samba, etc.).
Unlike iSCSI, there&amp;rsquo;s no authentication or such, I invite you to read the documentation to learn more about GNBD.
Server (server.example.org) :
Optional : Create a test filesystem
dd if=/dev/zero of=/home/disk bs=1M count=1000 losetup -f (find the next available loop device) losetup /dev/loop0 /home/disk mkfs.</description>
    </item>
    
    
    
    <item>
      <title>Google car spotted in Belgium</title>
      <link>https://blog.wains.be/2009/2009-06-19-google-car-spotted-in-belgium/</link>
      <pubDate>Fri, 19 Jun 2009 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2009/2009-06-19-google-car-spotted-in-belgium/</guid>
      <description>categories:
Misc I spotted a Google car on the E42/A15 highway while driving from Namur to Liège this morning around 9AM.
The cameras were covered.
Click on the thumbnails to enlarge :
I&amp;rsquo;m hopeful Google Street View will become available soon for us..</description>
    </item>
    
    
    
    <item>
      <title>Log SSH connections with /etc/ssh/sshrc</title>
      <link>https://blog.wains.be/2009/2009-06-05-log-ssh-connections-with-etcsshsshrc/</link>
      <pubDate>Fri, 05 Jun 2009 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2009/2009-06-05-log-ssh-connections-with-etcsshsshrc/</guid>
      <description>categories:
Linux SSH Yannick over at http://blog.uggy.org always comes up with interesting and valuable tips.
Following his latest post regarding sshrc, I made my own sshrc script.
Unlike his example, I didn&amp;rsquo;t make SSH email me whenever a connection is made. That would be overkill given the number of connections I can make on a single day. Instead I&amp;rsquo;m just logging dates and IP in a log file of its own, which I plan on keeping forever.</description>
    </item>
    
    
    
    <item>
      <title>Tool of the day - Dropbox</title>
      <link>https://blog.wains.be/2009/2009-05-27-tool-of-the-day-dropbox/</link>
      <pubDate>Wed, 27 May 2009 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2009/2009-05-27-tool-of-the-day-dropbox/</guid>
      <description>categories:
Tools I finally gave Dropbox a try and it&amp;rsquo;s awesome ! Dropbox makes syncing files across computers a breeze (Linux, Mac OS X, Windows).
I recommend you check their screencast here to get a better idea of what it does.
By default, you get 2 GB with the free account.
If you are interested in testing it, please use the link below for subscribing : https://www.getdropbox.com/referrals/NTEyMTA5NTc5
For any new user referred by me, both you and I will get an extra 250 MB on our accounts.</description>
    </item>
    
    
    
    <item>
      <title>Overscan problem connecting a MacBook unibody to Sony Bravia LCD HDTV ?</title>
      <link>https://blog.wains.be/2009/2009-05-05-overscan-problem-connecting-a-macbook-unibody-to-sony-bravia-lcd-hdtv/</link>
      <pubDate>Tue, 05 May 2009 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2009/2009-05-05-overscan-problem-connecting-a-macbook-unibody-to-sony-bravia-lcd-hdtv/</guid>
      <description>categories:
Apple/Mac OS Hardware Misc Today I connected a MacBook Unibody (13&amp;quot; and 2,4 Ghz CPU) into a 40&amp;quot; LCD HDTV (Sony Bravia KDL40L4000) using a MiniDisplay Port to DVI connector, a DVI to HDMI converter and a 5 meter long HDMI cable.
I ran into an &amp;ldquo;overscan&amp;rdquo; problem. Overscan means edges of the image are not viewable on the HDTV, which is pretty bad when you maximize a window.</description>
    </item>
    
    
    
    <item>
      <title>Howto - setting up dns2tcp</title>
      <link>https://blog.wains.be/2009/2009-04-23-howto-setting-up-dns2tcp/</link>
      <pubDate>Thu, 23 Apr 2009 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2009/2009-04-23-howto-setting-up-dns2tcp/</guid>
      <description>categories:
DNS Howto Wifi The following article has been tested on Debian Etch (server) and Debian Lenny and Mac OS X (clients).
Edit 03/2011 : dns2tcp client v0.5 won&amp;rsquo;t work with dns2tcp server v0.4.
I&amp;rsquo;m not gonna explain what dns2tcp is, just how to get it running in less than 30 minutes.
You need :
a public server, reachable from anywhere, its UDP/53 port must be free (no DNS service running) and reachable (not filtered) a domain name or subdomain dedicated for dns2tcp a dns2tcp client computer, your laptop usually a &amp;ldquo;restricted&amp;rdquo; network (captive portal, firewalled network, paying hotspot) allowing DNS requests (in our examples, we&amp;rsquo;ll be using Google DNS server 8.</description>
    </item>
    
    
    
    <item>
      <title>Skipping SSH banner message</title>
      <link>https://blog.wains.be/2009/2009-03-15-skipping-ssh-banner-message/</link>
      <pubDate>Sun, 15 Mar 2009 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2009/2009-03-15-skipping-ssh-banner-message/</guid>
      <description>categories:
Linux SSH I&amp;rsquo;m talking about the banner displayed BEFORE connecting, not the MOTD
By default :
&amp;lt;code&amp;gt;$ ssh root@server *************************************************************************** NOTICE TO USERS This computer system is the private property of its owner, whether individual, corporate or government. It is for authorized use only. Users (authorized or unauthorized) have no explicit or implicit expectation of privacy. Any or all uses of this system and all files on this system may be intercepted, monitored, recorded, copied, audited, inspected, and disclosed to your employer, to authorized site, government, and law enforcement personnel, as well as authorized officials of government agencies, both domestic and foreign.</description>
    </item>
    
    
    
    <item>
      <title>Nokia E71</title>
      <link>https://blog.wains.be/2009/2009-02-23-nokia-e71/</link>
      <pubDate>Mon, 23 Feb 2009 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2009/2009-02-23-nokia-e71/</guid>
      <description>categories:
Hardware VoIP I got myself a new cell phone, the Nokia E71. In the process I&amp;rsquo;m putting my old but faithful Sony Ericsson T610 to retirement.
In order of importance, here are the reasons why I went with that particular phone :
1. Built-in GPS
My wife landed a new job so she had to give her GPS back to her old company. I went with Sygic McGuider Europe 2009.</description>
    </item>
    
    
    
    <item>
      <title>Mac OS X - login keychain locked when screensaver activates ?</title>
      <link>https://blog.wains.be/2009/2009-02-10-mac-os-x-login-keychain-locked-when-screensaver-activates/</link>
      <pubDate>Tue, 10 Feb 2009 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2009/2009-02-10-mac-os-x-login-keychain-locked-when-screensaver-activates/</guid>
      <description>categories:
Apple/Mac OS I&amp;rsquo;ve been running Mac OS X at home for the past two months.
I somewhat tightened Mac OS X security by disabling automatic logins, setting a password on the screensaver and such.. the usual steps.
Somehow I set the system in the way that whenever I log in, the keychain will be automatically unlocked in the process. I actually don&amp;rsquo;t want to type two (identical) passwords in a row.</description>
    </item>
    
    
    
    <item>
      <title>Unlocking the Belgacom Wireless/VoIP/ADSL Router aka Philips SNV6520/18</title>
      <link>https://blog.wains.be/2009/2009-01-16-unlocking-the-belgacom-wirelessvoipadsl-router-aka-philips-snv652018/</link>
      <pubDate>Fri, 16 Jan 2009 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2009/2009-01-16-unlocking-the-belgacom-wirelessvoipadsl-router-aka-philips-snv652018/</guid>
      <description>categories:
Hardware VoIP THE BORING PART :
For the impatients out there, just skip to &amp;ldquo;Mandatory warnings&amp;rdquo;.
A while back, Belgacom, the major ISP in Belgium used to sell the router mentionned above along with their &amp;ldquo;triple-play&amp;rdquo; offer.
My dad just got a DSL connection and I got him that model on eBay. Not that I wanted that particular model or anything, I needed a wireless DSL router quick and for a reasonable price.</description>
    </item>
    
    
    
    <item>
      <title>Tool of the day - PrefixSuffix</title>
      <link>https://blog.wains.be/2008/2008-12-07-tool-of-the-day-prefixsuffix/</link>
      <pubDate>Sun, 07 Dec 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-12-07-tool-of-the-day-prefixsuffix/</guid>
      <description>categories:
Linux Tools If you want to batch rename files under Linux, check out PrefixSuffix.
I&amp;rsquo;m usually all for the CLI, but this nifty tool is quite convenient (if you have a GUI available :-) )
It is available right in the Ubuntu repositories, but not under Debian&amp;rsquo;s.
http://prefixsuffix.sourceforge.net/
(for the CLI addicts, feel free to post oneliners doing the same job (and even more))</description>
    </item>
    
    
    
    <item>
      <title>Zenity and timeout option</title>
      <link>https://blog.wains.be/2008/2008-12-07-zenity-and-timeout-option/</link>
      <pubDate>Sun, 07 Dec 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-12-07-zenity-and-timeout-option/</guid>
      <description>categories:
Bash Linux Tools Lately I installed rsnapshot on my lappy to get my files backed up on my home server during the night, in case the laptop is on.
Rsnapshot is only CLI, I still somewhat wanted to get some kind of visual notification saying the backup was starting (and ending).. just to avoid shutting down my machine while the backup process was still on, for example.
Rsnapshot allows you, throught the cmd_postexec and cmd_preexec options, to run scripts before and after the backup job.</description>
    </item>
    
    
    
    <item>
      <title>ztdummy for Debian Lenny</title>
      <link>https://blog.wains.be/2008/2008-12-03-ztdummy-for-debian-lenny/</link>
      <pubDate>Wed, 03 Dec 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-12-03-ztdummy-for-debian-lenny/</guid>
      <description>categories:
Asterisk Debian/Ubuntu Linux VoIP I just compiled zaptel-modules for Debian Lenny (Kernel 2.6.26 i386) That package contains the ztdummy module.
Here&amp;rsquo;s a link to the package : http://blog.wains.be/pub/zaptel-modules-2.6.26-1-686_1.4.11~dfsg-2+2.6.26-10_i386.deb</description>
    </item>
    
    
    
    <item>
      <title>Essential audio tools</title>
      <link>https://blog.wains.be/2008/2008-11-15-essential-audio-tools/</link>
      <pubDate>Sat, 15 Nov 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-11-15-essential-audio-tools/</guid>
      <description>categories:
Linux Tools I heavily rely on the following tools to manage my music. I must be using Easytag on a daily basis really. This is definitely the best tool to manage hundreds of MP3&amp;rsquo;s. If you are like me and like to see your music properly sorted in your player, this is definitely the tool you need.
Sound Converter has been able to convert every file I submitted to it.</description>
    </item>
    
    
    
    <item>
      <title>NetworkManager and resolv.conf</title>
      <link>https://blog.wains.be/2008/2008-11-13-networkmanager-and-resolvconf/</link>
      <pubDate>Thu, 13 Nov 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-11-13-networkmanager-and-resolvconf/</guid>
      <description>categories:
Debian/Ubuntu Gnome Linux Networks VPN I&amp;rsquo;m under Debian Lenny at work.
I installed the VPNC plugin (Cisco VPN) for NetworkManager today. I usually always connect to OpenVPN tunnels with the OpenVPN plugin, which works pretty well (at least on NM 0.6.6).
After installing the VPNC plugin, I started having issues with my OpenVPN tunnels.. I was not able to resolve remote hostnames correctly.
The problem was that my resolv.conf didn&amp;rsquo;t get updated upon connection to the OpenVPN.</description>
    </item>
    
    
    
    <item>
      <title>Tool of the day - pipeview (aka pv)</title>
      <link>https://blog.wains.be/2008/2008-10-29-tool-of-the-day-pipeview-aka-pv/</link>
      <pubDate>Wed, 29 Oct 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-10-29-tool-of-the-day-pipeview-aka-pv/</guid>
      <description>categories:
Linux Tools NAME pv - monitor the progress of data through a pipe
SYNOPSIS pv [OPTION] [FILE]... pv [-h|-V] DESCRIPTION pv allows a user to see the progress of data through a pipeline, by giving information such as time elapsed, percentage completed (with progress bar), current throughput rate, total data transferred, and ETA. ...&amp;lt;/code&amp;gt; Some examples :
pv file | nc -w 1 somewhere.com 3000
cat file | pv -s 12345 | nc -w 1 somewhere.</description>
    </item>
    
    
    
    <item>
      <title>Bug - NFS client under Debian Sid wont work with NFS server under Debian</title>
      <link>https://blog.wains.be/2008/2008-10-17-bug-nfs-client-under-debian-sid-wont-work-with-nfs-server-under-debian-etch/</link>
      <pubDate>Fri, 17 Oct 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-10-17-bug-nfs-client-under-debian-sid-wont-work-with-nfs-server-under-debian-etch/</guid>
      <description>Etch&#39;
categories:
Debian/Ubuntu Linux NFS clients under Debian Sid (unstable) are not able to browse NFS shares running on a Debian Etch server.
It is a bug in package nfs-common in Sid : http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=492970
Clients running nfs-common 1.1.3 or above will not be able to access an NFS share running on server version 1.0.10.
You&amp;rsquo;d be able to mount the share just fine, but not browse the mounted directory :</description>
    </item>
    
    
    
    <item>
      <title>Finding duplicate files</title>
      <link>https://blog.wains.be/2008/2008-09-29-finding-duplicate-files/</link>
      <pubDate>Mon, 29 Sep 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-09-29-finding-duplicate-files/</guid>
      <description>categories:
Linux Tools **Under Debian : **
apt-get install fdupes
Then :
fdupes -r /home/user &amp;gt; /home/user/duplicate.txt
-r : recursive Output of the command goes in duplicate.txt
fdupes will compare the size and MD5 hash of the files to find duplicates</description>
    </item>
    
    
    
    <item>
      <title>Checking for bad blocks on your drive</title>
      <link>https://blog.wains.be/2008/2008-08-14-checking-for-bad-blocks-on-your-drive/</link>
      <pubDate>Thu, 14 Aug 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-08-14-checking-for-bad-blocks-on-your-drive/</guid>
      <description>categories:
Hardware Linux If your partition is /dev/sda1
e2fsck -cc /dev/sda1
From the man pages :
&amp;lt;code&amp;gt; -c This option causes e2fsck to use badblocks(8) program to do a read-only scan of the device in order to find any bad blocks. If any bad blocks are found, they are added to the bad block inode to prevent them from being allocated to a file or direc‐ tory. If this option is specified twice, then the bad block scan will be done using a non-destructive read-write test.</description>
    </item>
    
    
    
    <item>
      <title>📌 SSH local and remote port forwarding</title>
      <link>https://blog.wains.be/2008/2008-07-23-ssh-local-and-remote-port-forwarding/</link>
      <pubDate>Wed, 23 Jul 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-07-23-ssh-local-and-remote-port-forwarding/</guid>
      <description>I use SSH local port forwarding on a daily basis but I rarely use remote port forwarding. Today I forgot (again) about the GatewayPorts option, so I decided to write a quick reminder about SSH port forwarding.
Local port forwarding When to use? When you need to access a service on a remote server that is not exposed.
In this example the remote service runs on port tcp/80.
home$ ssh user@work.</description>
    </item>
    
    
    
    <item>
      <title>Tools of the day</title>
      <link>https://blog.wains.be/2008/2008-07-23-tools-of-the-day/</link>
      <pubDate>Wed, 23 Jul 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-07-23-tools-of-the-day/</guid>
      <description>categories:
Linux Tools stow : Stow, a software installation management utility for Linux that offers a number of advantages over the tried-and-true Red Hat and Debian package management systems. With Stow, you can organize applications available in standard tar files and keep application binaries logically arranged for easy access.
http://www.ibm.com/developerworks/linux/l-stow/ Official homepage : http://www.gnu.org/software/stow/stow.html
iperf : Iperf was developed by NLANR/DAST as a modern alternative for measuring maximum TCP and UDP bandwidth performance.</description>
    </item>
    
    
    
    <item>
      <title>OpenVPN - routing all traffic through the VPN tunnel</title>
      <link>https://blog.wains.be/2008/2008-07-18-openvpn-routing-all-traffic-through-the-vpn-tunnel/</link>
      <pubDate>Fri, 18 Jul 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-07-18-openvpn-routing-all-traffic-through-the-vpn-tunnel/</guid>
      <description>Categories:
Apache Debian/Ubuntu Howto Linux RHCE Security VPN I&amp;rsquo;m really into OpenVPN these days, see my two previous posts about it:
Setting up OpenVPN for your road warriors: http://blog.wains.be/post/a-vpn-for-remote-users-with-openvpn/
Setting up a VPN between two sites: http://blog.wains.be/post/routed-openvpn-between-two-subnets-behind-nat-gateways/
Today : how to route all traffic through the OpenVPN tunnel
On the server side:
First of all, if you want to route all your traffic through the VPN tunnel, you need to turn on IP forwarding (also called routing) and add a masquerading rule on the server (where eth0 is the device connecting you to the internet):</description>
    </item>
    
    
    
    <item>
      <title>A VPN for remote users with OpenVPN</title>
      <link>https://blog.wains.be/2008/2008-07-15-a-vpn-for-remote-users-with-openvpn/</link>
      <pubDate>Tue, 15 Jul 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-07-15-a-vpn-for-remote-users-with-openvpn/</guid>
      <description>categories:
Networks VPN This article quickly explains how to set up a VPN for your remote users based on OpenVPN in around 5 minutes. If you want detailed informations about OpenVPN, certificates or other stuff, this is not the right place.
This applies to Debian Etch but will work will little difference in paths under Red Hat.
On the server
Install OpenVPN and the dependencies : # apt-get install openvpn</description>
    </item>
    
    
    
    <item>
      <title>DHCP and Dynamic DNS with BIND</title>
      <link>https://blog.wains.be/2008/2008-07-03-dhcp-and-dynamic-dns-with-bind/</link>
      <pubDate>Thu, 03 Jul 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-07-03-dhcp-and-dynamic-dns-with-bind/</guid>
      <description>categories:
Debian/Ubuntu DNS Howto Linux Networks Tested under Debian Etch
This is the network configuration of our DHCP/DNS server
Hostname : router.static.example.org WAN interface (eth0) : 192.168.99.254 mask 255.255.255.0 LAN interface (eth1) : 172.30.200.254 mask 255.255.0.0 Default gateway : 192.168.99.1
First, we need to tell the DHCP server to only run on eth1 :
/etc/default/dhcp3-server :
INTERFACES=&amp;quot;eth1&amp;quot;
/etc/dhcp3/dhcpd.conf :
This is the DHCP server configuration.
When a computer requests network information from the DHCP server, the DHCP will update the DNS zones</description>
    </item>
    
    
    
    <item>
      <title>Routed OpenVPN between two subnets behind NAT gateways</title>
      <link>https://blog.wains.be/2008/2008-06-06-routed-openvpn-between-two-subnets-behind-nat-gateways/</link>
      <pubDate>Fri, 06 Jun 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-06-06-routed-openvpn-between-two-subnets-behind-nat-gateways/</guid>
      <description>categories:
Networks Security VPN Edit : between two or MORE subnets. Check out the exchange between Michael Antal and me in the comments. He&amp;rsquo;s been able to interconnect 3 subnets using this method and some slight tweaks in routes.
The following is the configuration needed to create a routed OpenVPN network between two remote subnets, both behind NAT gateways. On each side, the gateways will act as the VPN gateways.</description>
    </item>
    
    
    
    <item>
      <title>Debian - how to keep a mixed system</title>
      <link>https://blog.wains.be/2008/2008-06-05-debian-how-to-keep-a-mixed-system/</link>
      <pubDate>Thu, 05 Jun 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-06-05-debian-how-to-keep-a-mixed-system/</guid>
      <description>categories:
Debian/Ubuntu Linux Create or edit /etc/apt/apt.conf with this content :
APT::Default-Release &amp;quot;stable&amp;quot;;
Edit your APT source list /etc/apt/sources.list as the following (adapt to your favorite mirrors) :
&amp;lt;code&amp;gt;# unstable deb http://ftp.debian.skynet.be/ftp/debian/ unstable main deb-src http://ftp.debian.skynet.be/ftp/debian/ unstable main # stable deb http://ftp.debian.skynet.be/ftp/debian/ etch main deb-src http://ftp.debian.skynet.be/ftp/debian/ etch main # security updates deb http://security.debian.org/ etch/updates main contrib deb-src http://security.debian.org/ etch/updates main contrib&amp;lt;/code&amp;gt; Now whenever you want to install a package in &amp;ldquo;unstable&amp;rdquo; on your &amp;ldquo;stable&amp;rdquo; system do the following :</description>
    </item>
    
    
    
    <item>
      <title>Debian - preventing a package from being updated</title>
      <link>https://blog.wains.be/2008/2008-06-05-debia-preventing-a-package-from-being-updated/</link>
      <pubDate>Thu, 05 Jun 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-06-05-debia-preventing-a-package-from-being-updated/</guid>
      <description>categories:
Debian/Ubuntu Linux Put a package on hold : echo &amp;quot;${package} hold&amp;quot; | dpkg --set-selections
Remove the hold : echo &amp;quot;${package} install&amp;quot; | dpkg --set-selections
where ${package} is the package name
Knowing the status of your packages : dpkg --get-selections</description>
    </item>
    
    
    
    <item>
      <title>Debian - store boot messages in log</title>
      <link>https://blog.wains.be/2008/2008-06-05-debian-store-boot-messages-in-log/</link>
      <pubDate>Thu, 05 Jun 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-06-05-debian-store-boot-messages-in-log/</guid>
      <description>categories:
Debian/Ubuntu Linux NSLU2 Enable bootlog in /etc/default/bootlogd :
BOOTLOGD_ENABLE=Yes
Logs go under /var/log/boot
Useful on systems with no monitor attached..</description>
    </item>
    
    
    
    <item>
      <title>Today in the mail...</title>
      <link>https://blog.wains.be/2008/2008-05-28-today-in-the-mail/</link>
      <pubDate>Wed, 28 May 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-05-28-today-in-the-mail/</guid>
      <description>After receiving a bottle of Jack Daniels from my buddy Seb in reward for helping him with several stuff&amp;hellip;
&amp;hellip;today in the mail, another reward, I received this&amp;hellip;
Network Security Hacks Second Edition by O&amp;rsquo;Reilly
Thanks to Rich Camp from Oakhurst, California!
Thanks to the community.</description>
    </item>
    
    
    
    <item>
      <title>Detaching processes from the current bash session</title>
      <link>https://blog.wains.be/2008/2008-05-24-detaching-processes-from-the-current-bash-session/</link>
      <pubDate>Sat, 24 May 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-05-24-detaching-processes-from-the-current-bash-session/</guid>
      <description>categories:
Bash Linux A bit of explanations :
$ help disown disown: disown [-h] [-ar] [jobspec ...] By default, removes each JOBSPEC argument from the table of active jobs. If the -h option is given, the job is not removed from the table, but is marked so that SIGHUP is not sent to the job if the shell receives a SIGHUP. The -a option, when JOBSPEC is not supplied, means to remove all jobs from the job table; the -r option means to remove only running jobs.</description>
    </item>
    
    
    
    <item>
      <title>Sharing your bash session using screen</title>
      <link>https://blog.wains.be/2008/2008-05-23-sharing-your-bash-session-using-screen/</link>
      <pubDate>Fri, 23 May 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-05-23-sharing-your-bash-session-using-screen/</guid>
      <description>categories:
Bash Linux In this post I was describing how one can share a bash session using a named pipe.
This is a great way if you can&amp;rsquo;t install anything on the machine. If you are able to get &amp;ldquo;screen&amp;rdquo; installed, screen provides a much easier way, which allows all connected users to interact on the shared session. The named pipe method only allowed one user to watch what the other user was doing.</description>
    </item>
    
    
    
    <item>
      <title>Finding data having more than one hardlink on the filesystem</title>
      <link>https://blog.wains.be/2008/2008-05-11-finding-data-having-more-than-one-hardlink-on-the-filesystem/</link>
      <pubDate>Sun, 11 May 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-05-11-finding-data-having-more-than-one-hardlink-on-the-filesystem/</guid>
      <description>categories:
Linux find / ! -links 1 -type f</description>
    </item>
    
    
    
    <item>
      <title>Keeping SSH connections alive behind some NAT routers</title>
      <link>https://blog.wains.be/2008/2008-04-27-keeping-ssh-connections-alive-behind-some-nat-routers/</link>
      <pubDate>Sun, 27 Apr 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-04-27-keeping-ssh-connections-alive-behind-some-nat-routers/</guid>
      <description>categories:
SSH SSH connections made from behind my Linksys WAG54G NAT gateway like to die after idling for something like 5 minutes.
The fix :
Add in /home/USER/.ssh/config
&amp;lt;code&amp;gt;Host * ServerAliveInterval 60 ServerAliveCountMax 60&amp;lt;/code&amp;gt; The SSH client will send a packet every 60 seconds in order to keep the connection alive. The second option means that after 60 keepalive packets sent, it will stop trying to keep the connection alive, and the connection will eventually die.</description>
    </item>
    
    
    
    <item>
      <title>Slimming Asterisk for the NSLU2 under Debian</title>
      <link>https://blog.wains.be/2008/2008-04-15-slimming-asterisk-for-the-nslu2-under-debian/</link>
      <pubDate>Tue, 15 Apr 2008 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-04-15-slimming-asterisk-for-the-nslu2-under-debian/</guid>
      <description>categories:
Asterisk NSLU2 VoIP A FULLY WORKING ASTERISK SIP PBX RUNNING WITH ONLY 6 MODULES LOADED ! READ ON&amp;hellip;
This howto is based on Asterisk 1.2 under Debian Etch. Please let me know through the comments if it works for you under other versions (and if it doesn&amp;rsquo;t, please provide the steps to get a working system). Thanks.
My needs :
I had to slim Asterisk down to the most minimalistic configuration possible to run on my Linksys NSLU2 (ARM cpu @ 266 MHz, RAM 32 MB).</description>
    </item>
    
    
    
    <item>
      <title>Backup your Gmail account in maildir format using fetchmail</title>
      <link>https://blog.wains.be/2008/2008-03-18-backup-your-gmail-account-in-maildir-format-using-fetchmail/</link>
      <pubDate>Tue, 18 Mar 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-03-18-backup-your-gmail-account-in-maildir-format-using-fetchmail/</guid>
      <description>categories:
Howto Linux Misc First of all, enable POP on your gmail account :
settings Forwarding and POP/IMAP Enable POP for all mail (even mail that&amp;rsquo;s already been downloaded) Then, the configuration for fetchmail and procmail :
You need to use procmail in order to be able to store the mails in maildir format (1 file per mail, mbox format is 1 big file for all emails)
/home/USER/.fetchmailrc :
poll pop.</description>
    </item>
    
    
    
    <item>
      <title>Remotely upgrade your kernel without dreading a kernel panic</title>
      <link>https://blog.wains.be/2008/2008-02-25-remotely-upgrade-your-kernel-without-dreading-a-kernel-panic/</link>
      <pubDate>Mon, 25 Feb 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-02-25-remotely-upgrade-your-kernel-without-dreading-a-kernel-panic/</guid>
      <description>categories:
Linux If you&amp;rsquo;re trying to upgrade a kernel remotely, there&amp;rsquo;s always a risk of losing access to the machine because of a kernel panic when rebooting.
In the following we will tell grub to try to boot the new kernel at least once, if it panics the machine will reboot and boot with the working kernel instead.
Edit /boot/grub/menu.lst :
Add panic=5 to the end of the kernel line for the new kernel, this means the machine will reboot 5 seconds after kernel panic upon boot.</description>
    </item>
    
    
    
    <item>
      <title>Request-Tracker 3.6 on Debian Etch &#43; Postfix &#43; Fetchmail</title>
      <link>https://blog.wains.be/2008/2008-02-23-request-tracker-36-on-debian-etch-postfix-fetchmail/</link>
      <pubDate>Sat, 23 Feb 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-02-23-request-tracker-36-on-debian-etch-postfix-fetchmail/</guid>
      <description>categories:
Howto Linux I&amp;rsquo;ll explain how to setup Request-Tracker (RT) on Debian Etch. This howto assumes you can&amp;rsquo;t install RT on the email gateway. I&amp;rsquo;ll use fetchmail to retrieve emails from the mail server and inject them into RT.
Install Postfix, fetchmail and the deps : apt-get install postfix fetchmail
Select &amp;ldquo;Internet Site&amp;rdquo; when prompted
Install MySQL Server 5 and its deps : apt-get install mysql-server-5.0
Install Request-Tracker Apache2 package, it will install the necessary dependencies : apt-get install rt3.</description>
    </item>
    
    
    
    <item>
      <title>Debian - get an email when updates are available with cron-apt</title>
      <link>https://blog.wains.be/2008/2008-02-04-debian-get-an-email-when-updates-are-available-with-cron-apt/</link>
      <pubDate>Mon, 04 Feb 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-02-04-debian-get-an-email-when-updates-are-available-with-cron-apt/</guid>
      <description>categories:
Debian/Ubuntu Linux Install cron-apt : # apt-get install cron-apt
Edit its config files : # vim /etc/cron-apt/config
You basically just need this in the config : MAILTO=&amp;quot;user@example.com&amp;quot; MAILON=&amp;quot;upgrade&amp;quot;
cron-apt runs every night at 4AM (see /etc/cron.d/cron-apt)
Source : http://www.debuntu.org/how-to-email-notification-upon-available-package-updates-with-cron-apt</description>
    </item>
    
    
    
    <item>
      <title>sudo password timeout</title>
      <link>https://blog.wains.be/2008/2008-01-22-sudo-password-timeout/</link>
      <pubDate>Tue, 22 Jan 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-01-22-sudo-password-timeout/</guid>
      <description>categories:
Linux By default, sudo keeps the password in &amp;ldquo;memory&amp;rdquo; for 5 minutes (at least under Ubuntu).
If you want to change that value
$ sudo visudo
Add the following line before the other &amp;ldquo;Defaults&amp;rdquo; line : Defaults timestamp_timeout=2
Or simply append &amp;ldquo;timestamp_timeout=2&amp;rdquo; to the existing Defaults line like : Defaults !lecture,tty_tickets,!fqdn,timestamp_timeout=2
This will set the timeout to 2 minutes&amp;hellip;
Set to 0 to always require the password Set to &amp;ldquo;-1&amp;rdquo;.</description>
    </item>
    
    
    
    <item>
      <title>Ubuntu 7.10 - screen doesnt lock when closing laptop lid</title>
      <link>https://blog.wains.be/2008/2008-01-22-ubuntu-710-screen-doesnt-lock-when-closing-laptop-lid/</link>
      <pubDate>Tue, 22 Jan 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-01-22-ubuntu-710-screen-doesnt-lock-when-closing-laptop-lid/</guid>
      <description>categories:
Linux This used to work in Ubuntu 7.04..
Here&amp;rsquo;s the fix until the feature works again (See bugreport 156226 in launchpad)
Open gconf-editor
Enable /apps/gnome-power-manager/lock/use_screensaver_settings
You should also enable &amp;ldquo;blank-screen&amp;rdquo; in the same section, I noticed the screen doesn&amp;rsquo;t go blank when the lid is closed without it
Solution provided by Pedro Villavicencio in the comments of the bug report (permalink)</description>
    </item>
    
    
    
    <item>
      <title>Ubuntu on Dell XPS M1330</title>
      <link>https://blog.wains.be/2008/2008-01-21-ubuntu-on-dell-xps-m1330/</link>
      <pubDate>Mon, 21 Jan 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-01-21-ubuntu-on-dell-xps-m1330/</guid>
      <description>categories:
Hardware Linux Ubuntu 7.10 Desktop Edition
Laptop specs : Dell XPS M1330 WLED screen Webcam 0.3 Mpixels Fingerprint scanner Media Card Reader Ricoh Wireless Intel iwl4965 AGN Cpu : T7500 2.2 Ghz Memory : 3 GB RAM 667 Mhz HDD : Seagate 200 GB 7200 RPM Sound : SigmaTel STAC9228
lspci : 00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 0c) 00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root Port (rev 0c) 00:1a.</description>
    </item>
    
    
    
    <item>
      <title>Set the default editor in Debian</title>
      <link>https://blog.wains.be/2008/2008-01-18-set-the-default-editor-in-debian/</link>
      <pubDate>Fri, 18 Jan 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-01-18-set-the-default-editor-in-debian/</guid>
      <description>categories:
Debian/Ubuntu Linux I can never seem to remember that command.. always starting the command with alt.. then tab-tab-tab for autocompletion.. but nothing relevant shows up..
Here it is : sudo update-alternatives --config editor
Under Red Hat, both update-alternatives and alternatives commands work.
Or one can always manually symlink editor to vim under /etc/alternatives</description>
    </item>
    
    
    
    <item>
      <title>Changing SVN repository URL</title>
      <link>https://blog.wains.be/2008/2008-01-14-changing-svn-repository-url/</link>
      <pubDate>Mon, 14 Jan 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-01-14-changing-svn-repository-url/</guid>
      <description>categories:
Linux Versioning Not something I do on a daily basis, so here it goes :
$ svn switch --relocate file:///home/old/path/to/svn/ file:///home/new/path/to/svn/
You may also want to update the SVN repository URL in your TRAC environments&amp;hellip;
$ vim /path/to/trac-env/conf/trac.ini
Update the variable named repository_dir
When done you need to resync the environments&amp;hellip;
$ trac-admin /path/to/trac-env/ resync</description>
    </item>
    
    
    
    <item>
      <title>BIND - the $GENERATE Directive</title>
      <link>https://blog.wains.be/2008/2008-01-10-bind-the-generate-directive/</link>
      <pubDate>Thu, 10 Jan 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-01-10-bind-the-generate-directive/</guid>
      <description>categories:
DNS Linux From : http://www.bind9.net/manual/bind/9.3.2/Bv9ARM.ch06.html#id2566761
BIND Master File Extension: the $GENERATE Directive
Syntax: $GENERATE range lhs [ttl] [class] type rhs [ comment ]
$GENERATE is used to create a series of resource records that only differ from each other by an iterator. $GENERATE can be used to easily generate the sets of records required to support sub /24 reverse delegations described in RFC 2317: Classless IN-ADDR.ARPA delegation.
$ORIGIN 0.0.192.IN-ADDR.ARPA. $GENERATE 1-2 0 NS SERVER$.</description>
    </item>
    
    
    
    <item>
      <title>Installing Debian on a Linksys NSLU2</title>
      <link>https://blog.wains.be/2008/2008-01-10-installing-debian-on-a-linksys-nslu2/</link>
      <pubDate>Thu, 10 Jan 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-01-10-installing-debian-on-a-linksys-nslu2/</guid>
      <description>categories:
Debian/Ubuntu Hardware Linux NSLU2 Grab firmware : http://www.slug-firmware.net/d-dls.php
(optional) Install UpSlug2 on your computer : http://www.nslu2-linux.org/wiki/Main/UpSlug2
UpSlug2 is a tool to flash your NSLU2 from a computer on the same network.
This is required if you are reinstalling an already Debianized NSLU2, otherwise you can use the web management on a new unit.
Install Debian : http://www.cyrius.com/debian/nslu2/ In order for the install to complete as fast as possible, unselect any package group (even base).</description>
    </item>
    
    
    
    <item>
      <title>Debian Etch - disable the -- MARK -- log</title>
      <link>https://blog.wains.be/2008/2008-01-09-debian-etch-disable-the-mark-log/</link>
      <pubDate>Wed, 09 Jan 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-01-09-debian-etch-disable-the-mark-log/</guid>
      <description>categories:
Debian/Ubuntu Linux NSLU2 I installed Debian on an NSLU2.
The system is running off a USB thumb drive.
In order to maximize the lifetime of the drive, I need to limit the number of writes to it.
&amp;ndash; MARK &amp;ndash; entries in the logs are (from my understanding) pretty useless for that system, here&amp;rsquo;s how to disable them.
Edit /etc/defaults/syslogd
Change the SYSLOGD option to the following :
SYSLOGD=&amp;quot;-m 0&amp;quot;</description>
    </item>
    
    
    
    <item>
      <title>Exporting man pages to PDF</title>
      <link>https://blog.wains.be/2008/2008-01-05-exporting-man-pages-to-pdf/</link>
      <pubDate>Sat, 05 Jan 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-01-05-exporting-man-pages-to-pdf/</guid>
      <description>categories:
Linux man -t rsync | ps2pdf -&amp;gt; ~/Desktop/rsync.pdf
Thanks to my buddy Seb for the command :-)</description>
    </item>
    
    
    
    <item>
      <title>Data recovery with Linux- useful tools</title>
      <link>https://blog.wains.be/2008/2008-01-04-data-recovery-with-linux-useful-tools/</link>
      <pubDate>Fri, 04 Jan 2008 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2008/2008-01-04-data-recovery-with-linux-useful-tools/</guid>
      <description>Tags: Linux, Security, Tools
Today, I had to recover some data from a (badly) failed drive. The drive was coming from a laptop. I first tried to recover stuff using the Ubuntu Live CD on the laptop, but it didn&amp;rsquo;t work. Whenever I was trying to install the necessary tools in the Live CD environment, the system was hanging and throwing IO errors from the failed drive.
I attached the drive (using a 2&amp;quot;1/2 to 3&amp;quot;1/2 adapter) to my desktop machine and booted under Ubuntu.</description>
    </item>
    
    
    
    <item>
      <title>CentOS 5 - preventing brute force attacks with iptables</title>
      <link>https://blog.wains.be/2007/2007-12-30-centos-5-preventing-brute-force-attacks-with-iptables/</link>
      <pubDate>Sun, 30 Dec 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-12-30-centos-5-preventing-brute-force-attacks-with-iptables/</guid>
      <description>categories:
Iptables Linux Red Hat/CentOS Security Based on http://e18.physik.tu-muenchen.de/~tnagel/ipt_recent/
The following example is much simpler, it blocks hosts trying to connect more than 3 times to the SSH server within 60 seconds. If you need something more complex, check out the howto mentionned above.
This is my /etc/sysconfig/iptables
&amp;lt;code&amp;gt;*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :LIMIT_SSH - [0:0] # accept localhost and related/established traffic -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -j ACCEPT # transfer connections made to tcp/22 to the LIMIT_SSH chain -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j LIMIT_SSH # block anything else in the INPUT chain -A INPUT -j DROP # if host has made more than 3 attempts in 60 seconds, drop it -A LIMIT_SSH -m recent --set --name SSH -A LIMIT_SSH -m recent --update --seconds 60 --hitcount 4 --name SSH -j DROP -A LIMIT_SSH -j ACCEPT COMMIT&amp;lt;/code&amp;gt; Recent module homepage : http://www.</description>
    </item>
    
    
    
    <item>
      <title>CentOS 5 - sending logs to a central log server</title>
      <link>https://blog.wains.be/2007/2007-12-28-centos-5-sending-logs-to-a-central-log-server/</link>
      <pubDate>Fri, 28 Dec 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-12-28-centos-5-sending-logs-to-a-central-log-server/</guid>
      <description>categories:
Linux Red Hat/CentOS Security On the log server :
Edit /etc/sysconfig/syslog and change SYSLOGD_OPTIONS to match the following : SYSLOGD_OPTIONS=&amp;quot;-m 0 -r -s example.com&amp;quot;
-r : listen over the network, only necessary for log servers -s : strip that value out of the logs (client.example.com would become client in the logs)
Restart the service : # service syslog restart
The server will start listening on UDP/514
Make sure you allow that port in the firewall configuration on the log server</description>
    </item>
    
    
    
    <item>
      <title>BackupPC - File--RsyncP module doesnt exist</title>
      <link>https://blog.wains.be/2007/2007-12-17-backuppc-filersyncp-module-doesnt-exist/</link>
      <pubDate>Mon, 17 Dec 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-12-17-backuppc-filersyncp-module-doesnt-exist/</guid>
      <description>categories:
Debian/Ubuntu Linux If you are trying to get BackupPC running under Debian and get the following message :
File::RsyncP module doesn&#39;t exist
Make sure you have the following package installed :
apt-get install libfile-rsyncp-perl</description>
    </item>
    
    
    
    <item>
      <title>CentOS 5 - chroot DNS with bind</title>
      <link>https://blog.wains.be/2007/2007-12-13-centos-5-chroot-dns-with-bind/</link>
      <pubDate>Thu, 13 Dec 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-12-13-centos-5-chroot-dns-with-bind/</guid>
      <description>categories:
DNS Howto Linux Red Hat/CentOS Howto for CentOS 4 here : http://blog.wains.be/post/centos-chroot-dns-with-bind/
1. Install packages :
yum install bind bind-chroot bind-libs bind-utils caching-nameserver
2. Configure RNDC :
cd /var/named/chroot/etc rndc-confgen &amp;gt; rndc.key chown root:named rndc.key
Edit rndc.key so it looks like this :
key &amp;quot;rndckey&amp;quot; { algorithm hmac-md5; secret &amp;quot;SGsvd1dF+mv+yU4ywCCkkg==&amp;quot;; };
You DON&amp;rsquo;T NEED anything else in the file (you must remove some option lines !)
A symlink in /etc exists and points to the rndc.</description>
    </item>
    
    
    
    <item>
      <title>Debian Etch &#43; DSPAM retraining with Web Interface</title>
      <link>https://blog.wains.be/2007/2007-12-09-debian-etch-dspam-retraining-with-web-interface/</link>
      <pubDate>Sun, 09 Dec 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-12-09-debian-etch-dspam-retraining-with-web-interface/</guid>
      <description>categories:
Debian/Ubuntu Linux Postfix A while ago, I wrote an howto explaining how to set up a Debian box with Postfix and DSPAM as anti-spam solution.
I haven&amp;rsquo;t been able to test that howto in a real world environment yet (receiving and training the system with actual spam). Somehow, it has been reported by several persons that it was working (thanks guys !).
The howto was considering a small domain where the sysadmin would take care of retraining the system.</description>
    </item>
    
    
    
    <item>
      <title>Bash tips and tricks</title>
      <link>https://blog.wains.be/2007/2007-11-26-bash-tips-and-tricks/</link>
      <pubDate>Mon, 26 Nov 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-11-26-bash-tips-and-tricks/</guid>
      <description>categories:
Bash Linux Richard posted some nice tips about bash history..
I&amp;rsquo;ll post his tips here in a shorter version
The following snippets of code must be added to your .bashrc file.
You open two terminals, when closing them, history of only one of both is saved ? This is the fix, that will merge/append histories from both terminals in the history :
shopt -s histappend PROMPT_COMMAND=’history -a’
Avoiding spelling mistakes (like /ect instead of /etc) :</description>
    </item>
    
    
    
    <item>
      <title>Firefox - Gmail blank page when opening attachment ?</title>
      <link>https://blog.wains.be/2007/2007-11-24-firefox-gmail-blank-page-when-opening-attachment/</link>
      <pubDate>Sat, 24 Nov 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-11-24-firefox-gmail-blank-page-when-opening-attachment/</guid>
      <description>categories:
Firefox See : http://groups.google.com/group/Gmail-Problem-solving/browse_thread/thread/b844fef88053e780/acdb3357fe4a2729?lnk=raot
Problem :
Since the new version of Gmail, I was having issues when downloading attachments. The Gmail tab would go blank. The only way to get back to Gmail was to close the tab and open Gmail again. Reloading was not helping.
Solution :
My problem was because of the add-on &amp;ldquo;Tab Mix Plus&amp;rdquo;
Open Tab Mix Plus options Links tab Click on &amp;ldquo;edit&amp;rdquo; in regard to &amp;ldquo;Prevent blank tabs when downloading files&amp;rdquo; Remove from the list the lines /disp=attd&amp;amp;view=att/ and /view=att&amp;amp;disp=attd/ Issue is discussed here : http://tmp.</description>
    </item>
    
    
    
    <item>
      <title>Function key on your laptop not controlling sound ?</title>
      <link>https://blog.wains.be/2007/2007-11-24-function-key-on-your-laptop-not-controlling-sound/</link>
      <pubDate>Sat, 24 Nov 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-11-24-function-key-on-your-laptop-not-controlling-sound/</guid>
      <description>categories:
Hardware Linux OK, this one is dumb.
Until a few months ago, I was able to control the sound volume on my laptop using the dedicated function key (controlling the master output).
Then, all messed up.
Along with the dead function key, the master volume no longer had any effect on volume. Volume could only be controlled by the PCM switch. And the function key was controlling the master output !</description>
    </item>
    
    
    
    <item>
      <title>Linux Mint - gnome-vfs issues out of the box</title>
      <link>https://blog.wains.be/2007/2007-11-24-linux-mint-gnome-vfs-issues-out-of-the-box/</link>
      <pubDate>Sat, 24 Nov 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-11-24-linux-mint-gnome-vfs-issues-out-of-the-box/</guid>
      <description>categories:
Linux Yesterday I switched from Ubuntu to Linux Mint. I won&amp;rsquo;t discuss here the pros and cons of Mint since I first tested it yesterday and decided to install it on my laptop on the same day.
Everything is supposed to work out of the box under Mint. Except it is not true. Apparently, Mint doesn&amp;rsquo;t ship a bunch of packages that come by default under Ubuntu (particularly Evolution, tsclient, etc.</description>
    </item>
    
    
    
    <item>
      <title>Cut MP3 under Linux Ubuntu</title>
      <link>https://blog.wains.be/2007/2007-11-23-cut-mp3-under-linux-ubuntu/</link>
      <pubDate>Fri, 23 Nov 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-11-23-cut-mp3-under-linux-ubuntu/</guid>
      <description>categories:
Linux If you want to cut MP3 files under Ubuntu, install the following package from the repositories
sudo apt-get install poc-streamer
It contains a utility mp3cut
Syntax :
mp3cut [ -o outputfile ] [ -T title ] [ -A artist ] [ -N album-name ] [ -t [hh:]mm:ss[+ms]-[hh:]mm:ss[+ms] ] mp3file [[ -t &amp;hellip; ] mp3file1 &amp;hellip;]
The following examples cuts a 120 minute MP3 in 2 parts where the first file will be 70 min long :</description>
    </item>
    
    
    
    <item>
      <title>Gmail IMAP under Thunderbird - problems with PDF files ?</title>
      <link>https://blog.wains.be/2007/2007-11-12-gmail-imap-under-thunderbird-problems-with-pdf-files/</link>
      <pubDate>Mon, 12 Nov 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-11-12-gmail-imap-under-thunderbird-problems-with-pdf-files/</guid>
      <description>categories:
Misc My wife had some problems today sending her resume in PDF to some companies. She used the web interface of Gmail. Some people reported they were unable to open the file.
We&amp;rsquo;ve made some tests. She tried to send an email with the PDF attachment to these recipients (carbon copy, not separate emails) :
HER Gmail address configured in Thunderbird using IMAP MY Gmail address using the web interface MY work address configured in Thunderbird using IMAP (courier-imap server) I was able to open the file on my home and work addresses while she was not able to open the file in Thunderbird.</description>
    </item>
    
    
    
    <item>
      <title>Sending Ctrl-Alt-Del command to VNC client under Gnome</title>
      <link>https://blog.wains.be/2007/2007-11-08-sending-ctrl-alt-del-command-to-vnc-client-under-gnome/</link>
      <pubDate>Thu, 08 Nov 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-11-08-sending-ctrl-alt-del-command-to-vnc-client-under-gnome/</guid>
      <description>categories:
Gnome Linux The problem : you want to send the &amp;ldquo;Ctrl-Alt-Del&amp;rdquo; command to a remote VNC server to unlock a Windows session, but you are under Gnome and all it does is opening a window with Gnome session options (lock session, restart, etc.)
How to unlock a Windows session : Press &amp;ldquo;Shift-Ctrl-Alt-Del&amp;rdquo;.
May seem obvious, but it tooks me a few minutes to figure out.
Also, vncviewer.exe runs perfectly fine using Wine, probably better than the VNC clients available under Ubuntu.</description>
    </item>
    
    
    
    <item>
      <title>Belgian eID under Ubuntu 7.10</title>
      <link>https://blog.wains.be/2007/2007-10-28-belgian-eid-under-ubuntu-710/</link>
      <pubDate>Sun, 28 Oct 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-10-28-belgian-eid-under-ubuntu-710/</guid>
      <description>categories:
Firefox Hardware Linux I had almost forgotten that I was offered an eID card reader by our Federal Public Service FINANCE, a few months ago when I went up to their offices to get some info.
I decided to give it a try tonight.
The sticker on the back of the reader says &amp;ldquo;ACR38U-SPC-FDT (FW104)&amp;rdquo;.
I first blindly tried to install some packages (beidgui to read my card info) but ran into several problems.</description>
    </item>
    
    
    
    <item>
      <title>Squid 2.6 - transparent proxy</title>
      <link>https://blog.wains.be/2007/2007-10-27-squid-26-transparent-proxy/</link>
      <pubDate>Sat, 27 Oct 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-10-27-squid-26-transparent-proxy/</guid>
      <description>categories:
Howto Linux Proxy I was explaining in this article how to enable the transparent proxy feature under Squid 2.5.
The following options required for transparent proxy are no longer available under Squid 2.6 :
httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on The new option under Squid 2.6 is the much simpler :
http_port 8080 transparent
You just need to append &amp;ldquo;transparent&amp;rdquo; to the http_port option line.
If you upgrade to Squid 2.</description>
    </item>
    
    
    
    <item>
      <title>Apache - disable the HTTP TRACE method</title>
      <link>https://blog.wains.be/2007/2007-10-25-apache-disable-the-http-trace-method/</link>
      <pubDate>Thu, 25 Oct 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-10-25-apache-disable-the-http-trace-method/</guid>
      <description>categories:
Apache Marius Ducea is sharing an interesting tip about Apache. Later versions of Apache now have a variable controlling if the trace request method is enabled.
TRACE is a HTTP request method used for debugging which echoes input back to the user.
http://www.ducea.com/post/apache-tips-disable-the-http-trace-method/</description>
    </item>
    
    
    
    <item>
      <title>Bash - converting unix timestamp to date </title>
      <link>https://blog.wains.be/2007/2007-10-23-bash-converting-unix-timestamp-to-date/</link>
      <pubDate>Tue, 23 Oct 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-10-23-bash-converting-unix-timestamp-to-date/</guid>
      <description>categories:
Bash Linux Under Debian or RHEL4 and later, it can be as simple as :
$ date -d @1193144433 Tue Oct 23 15:00:33 CEST 2007
But that command doesn&amp;rsquo;t work under Red Hat EL 3, so you should use the following :
$ date --date &amp;quot;1970-01-01 1193144433 sec&amp;quot; &amp;quot;+%Y-%m-%d %T&amp;quot; 2007-10-23 15:00:33
The output is different though You can always use the previous command under Ubuntu/RHEL4+ or the simpler :</description>
    </item>
    
    
    
    <item>
      <title>RRDWeather 0.42</title>
      <link>https://blog.wains.be/2007/2007-10-17-rrdweather-042/</link>
      <pubDate>Wed, 17 Oct 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-10-17-rrdweather-042/</guid>
      <description>categories:
RRDWeather I&amp;rsquo;ve released a new version of RRDWeather.
RRDWeather is a simple weather monitoring tool. It is a set of scripts collecting weather data from weather.com. These data go into RRDtool graphs.
It&amp;rsquo;s released under the GPL&amp;hellip; feel free to modify, improve, copy, etc, etc.
Demo : http://blog.wains.be/cgi-bin/weather.cgi?zip=BEXX0014
Project page : http://blog.wains.be/projects/rrdweather/
Download : http://blog.wains.be/projects/pub/rrdweather-0.42.tar.gz</description>
    </item>
    
    
    
    <item>
      <title>Upgrading to PHP5/MySQL5 under CentOS 4.5</title>
      <link>https://blog.wains.be/2007/2007-10-15-upgrading-to-php5mysql5-under-centos-45/</link>
      <pubDate>Mon, 15 Oct 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-10-15-upgrading-to-php5mysql5-under-centos-45/</guid>
      <description>categories:
Linux Red Hat/CentOS SQL I&amp;rsquo;m planning on moving to PHP 5 and MySQL 5 on our CentOS 4 production server.
Before doing anything on the production machine, I&amp;rsquo;m testing the process on a fresh installation of CentOS on a virtual machine&amp;hellip;
I first tried to upgrade PHP&amp;hellip; MySQL updates should be pulled out from the repository as well but it didn&amp;rsquo;t work.
&amp;lt;code&amp;gt;# yum update php --enable=centosplus Setting up Update Process Setting up repositories update 100% |=========================| 951 B 00:00 base 100% |=========================| 1.</description>
    </item>
    
    
    
    <item>
      <title>DHCP snooping on Cisco Catalyst 2950</title>
      <link>https://blog.wains.be/2007/2007-10-05-dhcp-snooping-on-cisco-catalyst-2950/</link>
      <pubDate>Fri, 05 Oct 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-10-05-dhcp-snooping-on-cisco-catalyst-2950/</guid>
      <description>categories:
Hardware Networks Security I&amp;rsquo;ll explain the few commands used to enable DHCP snooping on our Catalyst switch at work. The users aren&amp;rsquo;t really tech savvy or anything, but it is painless to configure so it is worth having it enabled.
switch1&amp;gt;enable
First, we need to know which VLAN the DHCP server belongs to, &amp;ldquo;show arp&amp;rdquo; has that info :
switch1#show arp Protocol Address Age (min) Hardware Addr Type Interface Internet 192.</description>
    </item>
    
    
    
    <item>
      <title>Howto - installing TRAC on Debian Etch</title>
      <link>https://blog.wains.be/2007/2007-10-05-howto-installing-trac-on-debian-etch/</link>
      <pubDate>Fri, 05 Oct 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-10-05-howto-installing-trac-on-debian-etch/</guid>
      <description>categories:
Apache Debian/Ubuntu Howto Versioning Howto available here : http://blog.wains.be/pub/howto/trac-debian.txt
This howto explains the steps from creating the SVN project to publishing it with TRAC.
Along with this howto, you can download a script that automates the process of creating the SVN repository and TRAC environment. This script was made according to this howto and works under Debian. YOU SHOULD FIRST GO THROUGH THE HOWTO BEFORE USING THIS SCRIPT.
http://blog.wains.be/pub/create_svntrac_project</description>
    </item>
    
    
    
    <item>
      <title>Intel Pro 1000 generating gratuitous ARP traffic</title>
      <link>https://blog.wains.be/2007/2007-10-01-intel-pro-1000-generating-gratuitous-arp-traffic/</link>
      <pubDate>Mon, 01 Oct 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-10-01-intel-pro-1000-generating-gratuitous-arp-traffic/</guid>
      <description>categories:
Networks Windows Finally, I have decided to take 5 minutes and focus on the gratuitous ARP broadcast issue I have with our Windows 2000 server (Fujitsu Siemens server).
The problem is described here : http://blog.wains.be/post/unsolvable-gratuitous-arp-from-our-windows-2000-server-with-intel-pro-1000/
I have installed Wireshark on the Windows box, had to reboot (oh !) to get it working. Thanks to Wireshark, I figured out the gratuitous ARP traffic was generated as some lower level than Windows.</description>
    </item>
    
    
    
    <item>
      <title>Tcpdump advanced filters</title>
      <link>https://blog.wains.be/2007/2007-10-01-tcpdump-advanced-filters/</link>
      <pubDate>Mon, 01 Oct 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-10-01-tcpdump-advanced-filters/</guid>
      <description>Introduction In this article, I will explain how to use tcpdump to:
know if IP options are set find DF packets (packets which we don&amp;rsquo;t want to be fragmented) find fragmented packets find datagrams with low TTL find particular TCP flag combinations find datagrams with particular data (here, packets with command MAIL from the SMTP protocol and GET command from HTTP) Notes I usually type tcpdump -n -i eth1 -s 1600 before my filter but I won&amp;rsquo;t do that throughout the article.</description>
    </item>
    
    
    
    <item>
      <title>Using lsof to get network information</title>
      <link>https://blog.wains.be/2007/2007-09-27-using-lsof-to-get-network-information/</link>
      <pubDate>Thu, 27 Sep 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-09-27-using-lsof-to-get-network-information/</guid>
      <description>categories:
Howto Linux Networks I often use netstat to get network information (&amp;ldquo;netstat -napee&amp;rdquo; producing my favorite verbose output)
You can also use lsof, which primary use is to list open files. Ideally, you will run lsof as root to get network info from privileged ports (&amp;lt; 1024).
The syntax is : # lsof -i[46][protocol][@hostname|hostaddr][:service|port]
List any network info (as with many other commands, -n avoids name resolution, which makes lsof faster) :</description>
    </item>
    
    
    
    <item>
      <title>Howto - Postfix chrooted &#43; Debian Etch &#43; SSL/TLS &#43; SMTP AUTH SASL &#43; Quota</title>
      <link>https://blog.wains.be/2007/2007-09-12-howto-postfix-chrooted-debian-etch-ssltls-smtp-auth-sasl-quota-vda-postfix-admin-with-virtual-usersdomains-autoreply-disclaimerautosignature-procmail-dspam-clamassassinclam/</link>
      <pubDate>Wed, 12 Sep 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-09-12-howto-postfix-chrooted-debian-etch-ssltls-smtp-auth-sasl-quota-vda-postfix-admin-with-virtual-usersdomains-autoreply-disclaimerautosignature-procmail-dspam-clamassassinclam/</guid>
      <description>(VDA) + Postfix Admin with Virtual Users/Domains + Autoreply + Disclaimer/Autosignature
Procmail + DSPAM + Clamassassin/ClamAV + RBL checks + Mime checks + Dovecot IMAP(S)/POP3(S) chrooted&#39; categories:
Howto Linux Postfix I have tried to document the new email setup I&amp;rsquo;m willing to install at work.
My current setup is running under CentOS, uses SpamAssassin and courier-imap. I&amp;rsquo;m trying to make the switch to different technologies : Debian, DSPAM and Dovecot.</description>
    </item>
    
    
    
    <item>
      <title>Get your hands back on a frozen system</title>
      <link>https://blog.wains.be/2007/2007-09-09-get-your-hands-back-on-a-frozen-system/</link>
      <pubDate>Sun, 09 Sep 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-09-09-get-your-hands-back-on-a-frozen-system/</guid>
      <description>categories:
Linux FOSSwire has an interesting article explaining how to get your hands back on your linux box when it appears to be badly frozen (yes it tends to happen on alpha releases of Ubuntu).
Hold down the Alt and SysRq (Print Screen) keys. While holding those down, type the following in order. Nothing will appear to happen until the last letter is pressed: REISUB Watch your computer reboot magically. The key combination consisting of Alt, SysRq and another key, controls the command issued:</description>
    </item>
    
    
    
    <item>
      <title>Bash - output classified in columns </title>
      <link>https://blog.wains.be/2007/2007-09-02-bash-output-classified-in-columns/</link>
      <pubDate>Sun, 02 Sep 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-09-02-bash-output-classified-in-columns/</guid>
      <description>categories:
Bash Linux My friend Jonathan just passed me another nice CLI tip
Sometimes, some commands output are not really readable :
Example : $ mount
Readability can be improved by piping &amp;ldquo;mount&amp;rdquo; into the command &amp;ldquo;column&amp;rdquo;
$ mount | column -t
There are so many little useful commands like these under Linux, I wish I knew them all. Any other similar tips are welcomed !</description>
    </item>
    
    
    
    <item>
      <title>nohup</title>
      <link>https://blog.wains.be/2007/2007-08-26-nohup/</link>
      <pubDate>Sun, 26 Aug 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-08-26-nohup/</guid>
      <description>categories:
Bash Linux See http://en.wikipedia.org/wiki/Nohup
nohup is a Unix command that is used to run another command while suppressing the action of the HUP (hangup) signal, enabling the command to keep running after the user who issues the command has logged out. It is most often used to run commands in background as daemons. Output that would normally go to the terminal goes to a file called nohup.out if it has not already been redirected.</description>
    </item>
    
    
    
    <item>
      <title>Subversion integration to Nautilus</title>
      <link>https://blog.wains.be/2007/2007-08-26-subversion-integration-to-nautilus/</link>
      <pubDate>Sun, 26 Aug 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-08-26-subversion-integration-to-nautilus/</guid>
      <description>categories:
Gnome Linux Versioning $ sudo apt-get install nautilus-script-collection-svn $ nautilus-script-manager enable Subversion
Restart your computer (or if you are more experienced either restart Gnome (ctrl+alt+backspace) or kill nautilus)
Now, there&amp;rsquo;s a new submenu when right-clicking on a directory/file
Link : http://packages.ubuntu.com/gutsy/devel/nautilus-script-collection-svn</description>
    </item>
    
    
    
    <item>
      <title>Postfix and DSPAM - var/run/dspam/dspam.sock - No such file or directory</title>
      <link>https://blog.wains.be/2007/2007-08-23-postfix-and-dspam-varrundspamdspamsock-no-such-file-or-directory/</link>
      <pubDate>Thu, 23 Aug 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-08-23-postfix-and-dspam-varrundspamdspamsock-no-such-file-or-directory/</guid>
      <description>categories:
Linux Postfix OS : Debian Etch Postfix : 2.3.8 Dspam : 3.6.8
I was following the official dspam documentation (http://dspam.nuclearelephant.com/text/README-3.6.7.txt) to set up Postfix and DSPAM.
I had this under** /etc/postfix/master.rc** :
&amp;lt;code&amp;gt;smtp inet n - n - - smtpd -v -o content_filter=lmtp:unix:/var/run/dspam/dspam.sock localhost:10026 inet n - n - - smtpd -o content_filter= -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks -o smtpd_helo_restrictions= -o smtpd_client_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o smtpd_authorized_xforward_hosts=127.0.0.0/8&amp;lt;/code&amp;gt; But Postfix would not connect to dspam socket, the logs were returning :</description>
    </item>
    
    
    
    <item>
      <title>Why Im switching from Red Hat (and friends) to Debian (and friends)</title>
      <link>https://blog.wains.be/2007/2007-08-23-why-im-switching-from-redhat-and-friends-to-debian-and-friends/</link>
      <pubDate>Thu, 23 Aug 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-08-23-why-im-switching-from-redhat-and-friends-to-debian-and-friends/</guid>
      <description>categories:
Debian/Ubuntu Linux Red Hat/CentOS Yeah, I decided I&amp;rsquo;ll be switching my servers to Debian.
It slowly started with my desktop OS, when I moved from Fedora to Ubuntu. (and CentOS before Fedora, until came the need for wireless with ipw3945 on my new laptop [was using Orinoco Gold on my old CentOS 4 laptop]).
There was a reason why I chose to try something else. First, the (french) translation under Fedora was somewhat broken back then, sometimes resulting in frenglish sentences.</description>
    </item>
    
    
    
    <item>
      <title>Compiz Fusion keeps snapping windows to the edge of screen and other windows</title>
      <link>https://blog.wains.be/2007/2007-08-21-compiz-fusion-keeps-snapping-windows-to-the-edge-of-screen-and-other-windows/</link>
      <pubDate>Tue, 21 Aug 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-08-21-compiz-fusion-keeps-snapping-windows-to-the-edge-of-screen-and-other-windows/</guid>
      <description>categories:
Linux Even though the &amp;ldquo;snapping windows&amp;rdquo; plugin is disabled, the windows keep sticking to the edge of anything around. This is a major annoyance, leading me to struggle with the windows to go where I want them to go. This is really counter-productive.
Fix :
In CompizConfig Configuration Manager, navigate to Wobbly Windows and disable Snap Inverted.</description>
    </item>
    
    
    
    <item>
      <title>Record entries in log files with logger</title>
      <link>https://blog.wains.be/2007/2007-08-20-record-entries-in-log-files-with-logger/</link>
      <pubDate>Mon, 20 Aug 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-08-20-record-entries-in-log-files-with-logger/</guid>
      <description>categories:
Linux Call me Mr. Obvious on this one, but I actually always need to check out the manpage for this&amp;hellip;
If you want to record entries in logs file :
Example here in daemon.log
$ sudo logger -p daemon.warn &amp;quot;This is a test&amp;quot;
Where daemon is the facility, warn is the level
Hit Ctrl+C when done.
Result in /var/log/daemon.log : Aug 20 13:07:16 hostname user: &amp;quot;This is a test&amp;quot;</description>
    </item>
    
    
    
    <item>
      <title>ViewCVS ImportError- No module named svn (Debian)</title>
      <link>https://blog.wains.be/2007/2007-08-18-viewcvs-importerror-no-module-named-svn-debian/</link>
      <pubDate>Sat, 18 Aug 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-08-18-viewcvs-importerror-no-module-named-svn-debian/</guid>
      <description>categories:
Debian/Ubuntu Linux Versioning Even if properly configured for using Subversion repositories, you&amp;rsquo;d get this error messages from ViewCVS :
&amp;lt;code&amp;gt;An Exception Has Occurred Python Traceback Traceback (most recent call last): File &amp;quot;/var/lib/python-support/python2.4/viewcvs.py&amp;quot;, line 3235, in main request.run_viewcvs() File &amp;quot;/var/lib/python-support/python2.4/viewcvs.py&amp;quot;, line 268, in run_viewcvs import vclib.svn File &amp;quot;/var/lib/python-support/python2.4/vclib/svn/__init__.py&amp;quot;, line 27, in ? from svn import fs, repos, core, delta ImportError: No module named svn&amp;lt;/code&amp;gt; The reason of the error is a package missing : python-subversion</description>
    </item>
    
    
    
    <item>
      <title>VMWare Server - bridging over wireless not working</title>
      <link>https://blog.wains.be/2007/2007-08-18-vmware-server-bridging-over-wireless-not-working/</link>
      <pubDate>Sat, 18 Aug 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-08-18-vmware-server-bridging-over-wireless-not-working/</guid>
      <description>categories:
Wifi I was not able to get the bridging network mode working for my virtual machines under VMWare Server. Then, I figured out I was using the eth1 interface (the wireless interface), while the bridge mode was probably bound to eth0 (wire interface).
This is how to fix the issue :
$ sudo vmware-config-network.pl
Would you like to skip networking setup and keep your old settings as they are? (yes/no) [yes] no</description>
    </item>
    
    
    
    <item>
      <title>sshfs - problem when mounting a remote dir under /media</title>
      <link>https://blog.wains.be/2007/2007-08-16-sshfs-problem-when-mounting-a-remote-dir-under-media/</link>
      <pubDate>Thu, 16 Aug 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-08-16-sshfs-problem-when-mounting-a-remote-dir-under-media/</guid>
      <description>categories:
Linux sshfs : http://fuse.sourceforge.net/sshfs.html
(only tested under Ubuntu 7.04)
When trying to mount a remote directory under /media on the local filesystem, you&amp;rsquo;ll get this :
user@user:/media$ ls -l total 8 ?--------- ? ? ? ? ? remote_dir lrwxrwxrwx 1 root root 6 2007-04-24 11:29 cdrom -&amp;gt; cdrom0 drwxr-xr-x 2 root root 4096 2007-04-24 11:29 cdrom0
Notice the question marks.. ?
No problem when mounting under, say /mnt :</description>
    </item>
    
    
    
    <item>
      <title>Courier-imap RPM for CentOS 5 (i386 &#43; x86_64)</title>
      <link>https://blog.wains.be/2007/2007-08-14-courier-imap-rpm-for-centos-5-i386/</link>
      <pubDate>Tue, 14 Aug 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-08-14-courier-imap-rpm-for-centos-5-i386/</guid>
      <description>categories:
Linux Red Hat/CentOS Someone asked for help about installing courier-imap under CentOS 5.
I made the RPM for him and thought I would share them here.
The whole thing is packaged in a tar.gz
Courier-authlib Version:	0.59.3 (22-Apr-2007)
Courier-Imap Version:	4.1.3 (22-Apr-2007)
Download : http://blog.wains.be/pub/courier-centos5-i386-20070814.tar.gz
Packages tested and working.
x86_64
Charles has been kind enough to build the RPMs for the x86_64 architecture and share them.
Courier-authlib Version : 0.</description>
    </item>
    
    
    
    <item>
      <title>Firefox - always display the address bar</title>
      <link>https://blog.wains.be/2007/2007-08-11-firefox-always-display-the-address-bar/</link>
      <pubDate>Sat, 11 Aug 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-08-11-firefox-always-display-the-address-bar/</guid>
      <description>categories:
Firefox It is sometimes tedious when websites try to &amp;ldquo;hide&amp;rdquo; the URL in an attempt to prevent you from downloading some content.
Here&amp;rsquo;s the fix :
Type &amp;ldquo;about:config&amp;rdquo; in the address bar Find dom.disable_window_open_feature.location Double click to set the value to true Link : http://mozillalinks.org/wp/2007/03/keep-firefoxs-location-bar-on-sight/</description>
    </item>
    
    
    
    <item>
      <title>How to debug SSL SMTP</title>
      <link>https://blog.wains.be/2007/2007-08-10-how-to-debug-ssl-smtp/</link>
      <pubDate>Fri, 10 Aug 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-08-10-how-to-debug-ssl-smtp/</guid>
      <description>categories:
Howto Security My friend Jonathan just told me about a nice command to debug SSL SMTP :
$ openssl s_client -connect mail.server.be:465
Example :
`$ openssl s_client -connect smtp.gmail.com:465 CONNECTED(00000003) depth=0 /C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com verify error:num=20:unable to get local issuer certificate verify return:1 depth=0 /C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com verify error:num=27:certificate not trusted verify return:1 depth=0 /C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com verify error:num=21:unable to verify the first certificate verify return:1
Certificate chain 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.</description>
    </item>
    
    
    
    <item>
      <title>last and lastb</title>
      <link>https://blog.wains.be/2007/2007-08-05-last-and-lastb/</link>
      <pubDate>Sun, 05 Aug 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-08-05-last-and-lastb/</guid>
      <description>categories:
Linux From the man pages :
Last searches back through the file /var/log/wtmp (or the file designated by the -f flag) and displays a list of all users logged in (and out) since that file was created. Names of users and tty’s can be given, in which case last will show only those entries matching the arguments. Names of ttys can be abbreviated, thus last 0 is the same as last tty0.</description>
    </item>
    
    
    
    <item>
      <title>MySQL - selecting duplicate entries</title>
      <link>https://blog.wains.be/2007/2007-08-03-mysql-selecting-duplicate-entries/</link>
      <pubDate>Fri, 03 Aug 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-08-03-mysql-selecting-duplicate-entries/</guid>
      <description>categories:
SQL This is the correct query : SELECT field from table GROUP BY field HAVING COUNT(field) &amp;gt; 1;
Here&amp;rsquo;s an example where I have two duplicate entries (test and test3).
&amp;lt;code&amp;gt;# let&#39;s see the records mysql&amp;gt; SELECT field from `table`; +-------+ | field | +-------+ | test | | test | | test2 | | test3 | | test3 | +-------+ 5 rows in set (0.00 sec) # THIS IS NOT WHAT WE WANT !</description>
    </item>
    
    
    
    <item>
      <title>Ubuntu 7.04 - my personal repository list</title>
      <link>https://blog.wains.be/2007/2007-08-02-ubuntu-704-my-personal-repository-list/</link>
      <pubDate>Thu, 02 Aug 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-08-02-ubuntu-704-my-personal-repository-list/</guid>
      <description>categories:
Linux I&amp;rsquo;ll try to keep my custom repository list here, among the usual universe and multiverse repositories :
# Canonical commercial (vmware, etc.) deb http://archive.canonical.com/ubuntu feisty-commercial main deb http://www.telemail.fi/mlind/ubuntu feisty fonts deb-src http://www.telemail.fi/mlind/ubuntu feisty fonts main deb http://dl.google.com/linux/deb/ stable non-free deb http://download.tuxfamily.org/3v1deb feisty eyecandy deb-src http://download.tuxfamily.org/3v1deb feisty eyecandy deb http://archive.ubuntustudio.org/ubuntustudio feisty main deb-src http://archive.ubuntustudio.org/ubuntustudio feisty main deb http://download.tuxfamily.org/syzygy42 feisty avant-window-navigator deb-src http://download.tuxfamily.org/syzygy42 feisty avant-window-navigator deb http://repository.debuntu.org/ feisty multiverse deb-src http://repository.</description>
    </item>
    
    
    
    <item>
      <title>Ubuntu 7.10 Alpha 3 - small fonts in Firefox</title>
      <link>https://blog.wains.be/2007/2007-08-02-ubuntu-710-alpha-3-small-fonts-in-firefox/</link>
      <pubDate>Thu, 02 Aug 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-08-02-ubuntu-710-alpha-3-small-fonts-in-firefox/</guid>
      <description>categories:
Firefox Linux Fonts are smaller in Firefox than under Gnome.
If you want to fix that small (and hopefully temporary) issue, under Firefox type in the URL bar :
&amp;ldquo;about:config&amp;rdquo;
Then in the filter box, search for &amp;ldquo;dpi&amp;rdquo;
This will filter out the value &amp;ldquo;layout.css.dpi&amp;rdquo; having a default value of &amp;ldquo;-1&amp;rdquo;
Change that value to &amp;ldquo;0&amp;rdquo; and restart Firefox, the fonts will be the same size as under Gnome.</description>
    </item>
    
    
    
    <item>
      <title>Howto - fix video playback issues when using Beryl/Compiz/Compiz Fusion</title>
      <link>https://blog.wains.be/2007/2007-07-28-howto-fix-video-playback-issues-when-using-berylcompizcompiz-fusion/</link>
      <pubDate>Sat, 28 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-28-howto-fix-video-playback-issues-when-using-berylcompizcompiz-fusion/</guid>
      <description>categories:
Linux I have used Beryl, Fusion and now run Compiz Fusion.
I have been having the following issue since I first tried Beryl but did not care much about it until today.
When I was playing a video (totem, VLC, etc..), I was getting a black screen instead of the video. The video would show up if I was moving the window around, but it would randomly become black again after a while or if I was doing anything while the video was playing.</description>
    </item>
    
    
    
    <item>
      <title>Encrypted partition using LUKS under Debian</title>
      <link>https://blog.wains.be/2007/2007-07-26-encrypted-partition-using-luks-under-debian/</link>
      <pubDate>Thu, 26 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-26-encrypted-partition-using-luks-under-debian/</guid>
      <description>categories:
Howto Linux Security Install needed packages :
# apt-get install cryptsetup
Load modules (if needed) :
`# modprobe aes
LUKS on a free partition :
# cryptsetup luksFormat -c aes -h sha256 /dev/hda6
This would erase any data on the partition !
THE PARTITION SHOULD NOT BE MOUNTED, if so &amp;ldquo;umount /dev/hda6&amp;rdquo;
Formating the newly created partition :
`# cryptsetup luksOpen /dev/hda6 secure
where &amp;ldquo;secure&amp;rdquo; is the name given to the encrypted partition.</description>
    </item>
    
    
    
    <item>
      <title>Put a password on your screen session</title>
      <link>https://blog.wains.be/2007/2007-07-23-put-a-password-on-your-screen-session/</link>
      <pubDate>Mon, 23 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-23-put-a-password-on-your-screen-session/</guid>
      <description>categories:
Linux You can &amp;ldquo;protect&amp;rdquo; the access to a screen session. Don&amp;rsquo;t use your usual password, as the method used is pretty weak (standard DES)
Open a screen session :
$ screen
Inside the session press &amp;ldquo;ctrl + a&amp;rdquo; then type &amp;ldquo;:password&amp;rdquo;
If successfully set, you should see [ Password moved into copybuffer ] in the lower left corner of the terminal.
Now you can detach by pressing &amp;ldquo;ctrl + a&amp;rdquo; then type &amp;ldquo;d&amp;rdquo; Reattach with &amp;ldquo;screen -r&amp;rdquo; from the prompt.</description>
    </item>
    
    
    
    <item>
      <title>Apache - custom 404 error page returns a 302 error code</title>
      <link>https://blog.wains.be/2007/2007-07-21-apache-custom-404-error-page-returns-a-302-error-code/</link>
      <pubDate>Sat, 21 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-21-apache-custom-404-error-page-returns-a-302-error-code/</guid>
      <description>categories:
Apache Linux First let&amp;rsquo;s look what the docs says about setting up a custom error page : http://httpd.apache.org/docs/2.0/en/custom-error.html
If you set up your custom 404 error page pointing to a full URL like :
ErrorDocument 404 http://blog.wains.be/404/index.html
You would get an error 302 code.
$ curl -I http://blog.wains.be/mlfkgldk HTTP/1.1 302 Found Date: Sat, 21 Jul 2007 09:20:40 GMT Server: Apache Location: http://blog.wains.be/404/index.html Connection: close Content-Type: text/html; charset=iso-8859-1
If you want to get the real deal :</description>
    </item>
    
    
    
    <item>
      <title>SSH X11 forwarding - running graphical apps remotely</title>
      <link>https://blog.wains.be/2007/2007-07-21-ssh-x11-forwarding-running-graphical-apps-remotely/</link>
      <pubDate>Sat, 21 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-21-ssh-x11-forwarding-running-graphical-apps-remotely/</guid>
      <description>categories:
Linux SSH polishlinux.com has a great article about SSH and its powerful functions.
Original link : http://polishlinux.org/apps/ssh-tricks/#
Here&amp;rsquo;s an excerpt about X forwarding&amp;hellip;
One of the least known functions of SSH is X protocol forwarding. This enables us to run almost every X application remotely! It’s enough to connect to the remote server using the -X option:
ssh -X user1@remote_serwer &#39;application&#39;
and the display of every X application executed from now on will be forwarded to our local X server.</description>
    </item>
    
    
    
    <item>
      <title>.htaccess pcfg_openfile- unable to check htaccess file, ensure it is readable</title>
      <link>https://blog.wains.be/2007/2007-07-19-htaccess-pcfg_openfile-unable-to-check-htaccess-file-ensure-it-is-readable/</link>
      <pubDate>Thu, 19 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-19-htaccess-pcfg_openfile-unable-to-check-htaccess-file-ensure-it-is-readable/</guid>
      <description>categories:
Apache Linux I got this error message in apache error logs :
/some/path/to/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
I was trying to access an image to something like http://www.domain.be/image/picture.jpg
The error message is very misleading because the real issue was just inappropriate rights on the folder &amp;ldquo;image&amp;rdquo;. (I did not have anything involving htaccess around there).
I had the folder chmod&amp;rsquo;ed 644 for some reason.</description>
    </item>
    
    
    
    <item>
      <title>Securely surf the web from an insecure network access using SSH and SOCKS</title>
      <link>https://blog.wains.be/2007/2007-07-19-securely-surf-the-web-from-an-insecure-network-access-using-ssh-and-socks/</link>
      <pubDate>Thu, 19 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-19-securely-surf-the-web-from-an-insecure-network-access-using-ssh-and-socks/</guid>
      <description>categories:
Linux Security SSH Posted by JoshTriplett on Mon 23 Oct 2006 at 12:35 From : http://www.debian-administration.org/articles/449
SSH has numerous uses beyond just logging into a remote system. In particular, SSH allows you to forward ports from one machine to another, tunnelling traffic through the secure SSH connection. This provides a convenient means of accessing a service hosted behind a firewall, or one blocked by an outgoing firewall.
However, forwarding an individual port still requires you to change where your program connects, telling it to use a non-standard port on localhost rather than the standard port on the remote machine, and it requires a separate port forward for each machine you want to access.</description>
    </item>
    
    
    
    <item>
      <title>Wordpress - The uploaded file could not be moved to .</title>
      <link>https://blog.wains.be/2007/2007-07-19-wordpress-the-uploaded-file-could-not-be-moved-to/</link>
      <pubDate>Thu, 19 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-19-wordpress-the-uploaded-file-could-not-be-moved-to/</guid>
      <description>categories:
Security If you get this message when trying to upload a file into wordpress admin area, this may mean that :
the webserver doesn&amp;rsquo;t have the write permissions on the upload directory safe mode is enabled on the webserver The easiest fix is to edit the value &amp;ldquo;safe_mode&amp;rdquo; to off in /etc/php.ini YOU MAY NOT WANT TO DO THAT, THIS IS NOT SAFE
Read on..
What is safe mode ?</description>
    </item>
    
    
    
    <item>
      <title>Lock MySQL table(s) in order to make a backup</title>
      <link>https://blog.wains.be/2007/2007-07-18-lock-mysql-tables-in-order-to-make-a-backup-of-a-database/</link>
      <pubDate>Wed, 18 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-18-lock-mysql-tables-in-order-to-make-a-backup-of-a-database/</guid>
      <description>categories:
Linux SQL In order to make a backup of a database, you have to make sure it&amp;rsquo;s not modified while it is in the process of backup.
Let&amp;rsquo;s see here how to lock a single table or a full database..
Locking a table only :
root@host# mysql -p
mysql&amp;gt; CONNECT database;
mysql&amp;gt; LOCK TABLE table READ ; Query OK, 0 rows affected (0.00 sec)
mysql&amp;gt; INSERT INTO table VALUES (&amp;lsquo;1&amp;rsquo;); ERROR 1099: Table &amp;rsquo;table&amp;rsquo; was locked with a READ lock and can&amp;rsquo;t be updated</description>
    </item>
    
    
    
    <item>
      <title>Ubuntu Studio artwork under Ubuntu classic </title>
      <link>https://blog.wains.be/2007/2007-07-16-ubuntu-studio-artwork-under-ubuntu-classic/</link>
      <pubDate>Mon, 16 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-16-ubuntu-studio-artwork-under-ubuntu-classic/</guid>
      <description>categories:
Gnome Linux Add this to /etc/apt/sources.list : deb http://archive.ubuntustudio.org/ubuntustudio feisty main
Then at the command line type : $ wget -q http://archive.ubuntustudio.org/ubuntustudio.gpg -O- | sudo apt-key add -
Then install the artwork packages :
ubuntustudio-gdm-theme ubuntustudio-icon-theme ubuntustudio-sounds ubuntustudio-theme ubuntustudio-wallpapers Some packages are optionals, of course. You may want to install others, like screensaver or splashcreen
To get an idea of what it looks like : Google is your friend :)</description>
    </item>
    
    
    
    <item>
      <title>CentOS - secure OpenLDAP traffic with SSL</title>
      <link>https://blog.wains.be/2007/2007-07-13-centos-secure-openldap-traffic-with-ssl/</link>
      <pubDate>Fri, 13 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-13-centos-secure-openldap-traffic-with-ssl/</guid>
      <description>categories:
Howto LDAP Linux Red Hat/CentOS Security I&amp;rsquo;ll consider you already have a database running. I&amp;rsquo;ll only review how to set up the SSL certificate and key and what to change in the config files.
1. SSL cert and key
`# mkdir /etc/openldap/ssl &amp;amp;&amp;amp; mkdir /etc/ssl
This would create a self-signed certificate valid for 10 years.
2. Configure LDAP
Under /etc/openldap/slapd.conf (server configuration) add (somewhere between include entries and database entries) : TLSCertificateFile /etc/ssl/ldap-cert.</description>
    </item>
    
    
    
    <item>
      <title>OpenLDAP password protection, security and authentication</title>
      <link>https://blog.wains.be/2007/2007-07-13-openldap-password-protection-security-and-authentication/</link>
      <pubDate>Fri, 13 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-13-openldap-password-protection-security-and-authentication/</guid>
      <description>categories:
Howto LDAP Linux yolinux.com has a great guide about password protection, security and authentication for OpenLDAP.
Source : yolinux.com
Mirror : http://blog.wains.be/mirrors/yolinux.com/openldap-password/</description>
    </item>
    
    
    
    <item>
      <title>Faster Gnome menus</title>
      <link>https://blog.wains.be/2007/2007-07-12-faster-gnome-menus/</link>
      <pubDate>Thu, 12 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-12-faster-gnome-menus/</guid>
      <description>categories:
Gnome Linux Edit the file &amp;ldquo;.gtkrc-2.0&amp;rdquo; under your home directory : $ cd ~ $ gedit ./gtkrc-2.0
Add : gtk-menu-popup-delay = 100
100 for 100 ms
Log off and log back in.</description>
    </item>
    
    
    
    <item>
      <title>Gnome - change autohide panel behavior</title>
      <link>https://blog.wains.be/2007/2007-07-12-ubuntu-change-autohide-panel-behavior/</link>
      <pubDate>Thu, 12 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-12-ubuntu-change-autohide-panel-behavior/</guid>
      <description>categories:
Gnome Linux Tested under Ubuntu only
You can change some settings of the autohide feature of gnome panels (task bar).
Like by default, if set to autohide, the bar is not disappearing completely.
In a terminal : $ gconf-editor
Then go under the key :
/apps/panel/toplevels/top_panel_screen0 /apps/panel/toplevels/bottom_panel_screen0 The interesting keys are : auto_hide_size : set this to 0 if you want the bar to completely disappear hide_delay : change how fast the bar would hide unhide_delay : same for unhide.</description>
    </item>
    
    
    
    <item>
      <title>Squid cache manager error - socket- (13) Permission denied</title>
      <link>https://blog.wains.be/2007/2007-07-12-squid-cache-manager-error-socket-13-permission-denied/</link>
      <pubDate>Thu, 12 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-12-squid-cache-manager-error-socket-13-permission-denied/</guid>
      <description>categories:
Linux Proxy Security If you get the error
socket: (13) Permission denied
while trying to connect to the cache manager of Squid using cachemgr.cgi, it probably means SElinux is enabled and is preventing cgi files from making TCP connections.
Quick and dirty fix : disabling SElinux
Edit /etc/sysconfig/selinux
Change the value SELINUX to &amp;ldquo;disabled&amp;rdquo;
Clean fix : make a rule in SElinux to allow the connection
I don&amp;rsquo;t know much about SElinux yet, so if someone feels like pointing me to the right direction or submitting something, it is welcomed :)</description>
    </item>
    
    
    
    <item>
      <title>Ubuntu - connect to your secure wireless network without authenticating against</title>
      <link>https://blog.wains.be/2007/2007-07-12-ubuntu-connect-to-your-secure-wireless-network-without-authenticating-against-keyring/</link>
      <pubDate>Thu, 12 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-12-ubuntu-connect-to-your-secure-wireless-network-without-authenticating-against-keyring/</guid>
      <description>keyring &#39;
categories:
Howto Linux Wifi From : original link
By default, if your wireless network is secured by WPA or such, you have to save the info in your keyring manager, which is protected by a password.
I personally have the same password for my Ubuntu session but also for the keyring manager.
Whenever I log in, I have to authenticate with my user and password, then Gnome tries to connect to my wireless network and prompts me to unlock the keyring.</description>
    </item>
    
    
    
    <item>
      <title>Howto install Munin on CentOS</title>
      <link>https://blog.wains.be/2007/2007-07-11-howto-install-munin-on-centos/</link>
      <pubDate>Wed, 11 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-11-howto-install-munin-on-centos/</guid>
      <description>categories:
Howto Linux Security From : http://blog.jploh.com/post/how-to-install-munin-on-centos/
Munin is a monitoring tool for servers. It uses RRDtool to log and graph data from your servers. The plugin API is very easy to grasp. Actually, I haven’t read the API documentation yet. I just looked at the output of the plugins and it looks easy to achieve. The data can be accessed through the web.
This guide will walk you through installing and configuring Munin on CentOS 4.</description>
    </item>
    
    
    
    <item>
      <title>Exporting your config from a Cisco device to a TFTP server</title>
      <link>https://blog.wains.be/2007/2007-07-09-exporting-your-config-from-a-cisco-device-to-a-tftp-server/</link>
      <pubDate>Mon, 09 Jul 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-07-09-exporting-your-config-from-a-cisco-device-to-a-tftp-server/</guid>
      <description>categories:
Hardware Linux Networks This has been tested under Ubuntu and a Cisco switch model Catalyst 2950 (IOS 12.1)
1. Set up your TFTP server
$ sudo apt-get install xinetd tftpd tftp
$ sudo vi /etc/xinetd.d/tftp
service tftp { protocol = udp port = 69 socket_type = dgram wait = yes user = nobody server = /usr/sbin/in.tftpd server_args = /tftpboot disable = no }
$ sudo mkdir /tftpboot $ sudo chmod 777 /tftpboot $ sudo chown nobody /tftpboot</description>
    </item>
    
    
    
    <item>
      <title>Another rant against Linksys</title>
      <link>https://blog.wains.be/2007/2007-06-20-another-rant-against-linksys/</link>
      <pubDate>Wed, 20 Jun 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-06-20-another-rant-against-linksys/</guid>
      <description>categories:
Hardware Misc As you may have read, I had some troubles with my Linksys ADSL Wireless router a while ago.. see here for the story
At the end of this journey, I was still believing Linksys was a good company making good products. Read on.
My father in law switched from a DSL connection to cable lately. The cable company provided a cable modem (a Kathrein DCM 52i+, they have been distributing this model for years).</description>
    </item>
    
    
    
    <item>
      <title>Essential tools for Ubuntu (and others)</title>
      <link>https://blog.wains.be/2007/2007-06-20-essential-ubuntu/</link>
      <pubDate>Wed, 20 Jun 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-06-20-essential-ubuntu/</guid>
      <description>I&amp;rsquo;m going to keep a list of tools I find essential under Linux. I&amp;rsquo;m using Ubuntu as my main desktop OS for now but it should apply to any other distro under Gnome. The tools are available in the Ubuntu repositories unless otherwise stated.
Security tools :
Seahorse : encryption keys manager (SSH, GPG) http://www.gnome.org/projects/seahorse/
Truecrypt : transparent volume encryption http://www.truecrypt.org Not available from the repositories
Wipe : Secure file deletion</description>
    </item>
    
    
    
    <item>
      <title>smb_fill_super- missing data argument when trying to mount a samba share</title>
      <link>https://blog.wains.be/2007/2007-06-18-smb_fill_super-missing-data-argument-when-trying-to-mount-a-samba-share/</link>
      <pubDate>Mon, 18 Jun 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-06-18-smb_fill_super-missing-data-argument-when-trying-to-mount-a-samba-share/</guid>
      <description>?&#39;
categories:
Linux Under Ubuntu, it means the package &amp;ldquo;smbfs&amp;rdquo; is missing..
Install the missing package $ sudo apt-get install smbfs
Somewhat related to this article.. ?</description>
    </item>
    
    
    
    <item>
      <title>Experience with Linksys technical support and their RMA procedure</title>
      <link>https://blog.wains.be/2007/2007-06-13-experience-with-linksys-technical-support-and-their-rma-procedure/</link>
      <pubDate>Wed, 13 Jun 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-06-13-experience-with-linksys-technical-support-and-their-rma-procedure/</guid>
      <description>categories:
Hardware Misc I bought a Linksys wireless DSL gateway on Ebay in May. It was still under warranty as Linksys products are covered for 3 years. According to the seller, the unit was brand new and had never been used, as it was a unit that was sent to him from a RMA procedure. In the meantime, he had bought another router.
The exact model I got was a WAG54G-E2 (hardware version 2) with firmware 1.</description>
    </item>
    
    
    
    <item>
      <title>Blocking Internet Explorer with the Squid Web proxy</title>
      <link>https://blog.wains.be/2007/2007-06-07-blocking-internet-explorer-with-the-squid-web-proxy/</link>
      <pubDate>Thu, 07 Jun 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-06-07-blocking-internet-explorer-with-the-squid-web-proxy/</guid>
      <description>categories:
Howto Linux Proxy This is my own way of blocking Internet Explorer :
/etc/squid/squid.conf :
&amp;lt;code&amp;gt;### We want to block IE, but some sites (grr) are only working under IE ### so we put up a list of safe URL for Internet Explorer in the following file acl safe_url_for_IE url_regex -i &amp;quot;/etc/squid/ACL/safe_url&amp;quot; ### The ACL for the IE user-agent acl internet_explorer browser MSIE ### The world acl all src 0.</description>
    </item>
    
    
    
    <item>
      <title>Keeping threaded view in Thunderbird</title>
      <link>https://blog.wains.be/2007/2007-06-01-keeping-threaded-view-in-thunderbird/</link>
      <pubDate>Fri, 01 Jun 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-06-01-keeping-threaded-view-in-thunderbird/</guid>
      <description>categories:
Misc I find this useful as I&amp;rsquo;m getting used to Gmail threaded view
Users of Mozilla Thunderbird, may have noticed that if you are viewing messages in threaded view, clicking on a column name (other than the thread column) will turn off threaded view.
What if you want to keep threaded view on? Go to Tools–&amp;gt;Options–&amp;gt;Advanced–&amp;gt;General, and click on “Config Editor“. In the Config Editor, search for the preference mailnews.</description>
    </item>
    
    
    
    <item>
      <title>Temporary SpamAssassin rule against Imageshack spam</title>
      <link>https://blog.wains.be/2007/2007-05-29-temporary-spamassassin-rule-against-imageshack-spam/</link>
      <pubDate>Tue, 29 May 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-05-29-temporary-spamassassin-rule-against-imageshack-spam/</guid>
      <description>categories:
Howto This would help blocking the new imageshack spam while we are waiting for a rule to be directly integrated into SpamAssassin :
Create the new rule in a separate file : $ vi /etc/mail/spamassassin/imageshack.cf
body __IMAGESHACK_URL /.*http://imgd+.imageshack.us.*/ meta SPAMSHACK __IMAGESHACK_URL describe SPAMSHACK ImageShack Spam ? score SPAMSHACK 10.00
Run spamassassin lint mode to check if everything is fine : $ spamassassin --lint
A test file :
&amp;lt;code&amp;gt;Received: from [200.</description>
    </item>
    
    
    
    <item>
      <title>How to enable OpenSSH on a Synology DS-101 NAS</title>
      <link>https://blog.wains.be/2007/2007-05-21-howto-enable-openssh-on-a-synology-ds-101-nas/</link>
      <pubDate>Mon, 21 May 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-05-21-howto-enable-openssh-on-a-synology-ds-101-nas/</guid>
      <description>categories:
Howto Linux I&amp;rsquo;ll explain how I enabled SSH on my Synology DS-101 box.
This guide is based on Nicolas&amp;rsquo; work : http://www.dotmana.com/index.php/?p=91
1. FIRMWARE UPGRADE
Reboot the DS-101 (this is absolutely necessary in order to achieve the next step)
Upgrade to the latest firmware available from Synology within 5 minutes after reboot. If you don&amp;rsquo;t upgrade within 5 minutes after reboot you&amp;rsquo;ll get an &amp;ldquo;error 24&amp;rdquo; message, and you&amp;rsquo;d need to reboot again.</description>
    </item>
    
    
    
    <item>
      <title>Reviewing the Synology DS-101 NAS</title>
      <link>https://blog.wains.be/2007/2007-05-21-reviewing-the-synology-ds-101-nas/</link>
      <pubDate>Mon, 21 May 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-05-21-reviewing-the-synology-ds-101-nas/</guid>
      <description>categories:
Hardware Misc NSLU2 I got my DS-101 (discontinued product) today and I&amp;rsquo;m so excited about it I want to tell the world ASAP :-D
The Synology DS-101 is a Network Attached Storage unit. By default, it allows FTP and SMB connectivity.
It is running Linux and thus is easily hackable. See : http://www.nslu2-linux.org/wiki/DS101/HomePage
Through some hacking, I was able to enable SSH. Now, I can even browse my files through SSH from Linux.</description>
    </item>
    
    
    
    <item>
      <title>LibClamAV Error- Database Directory- /var/clamav not locked</title>
      <link>https://blog.wains.be/2007/2007-05-16-libclamav-error-database-directory-varclamav-not-locked/</link>
      <pubDate>Wed, 16 May 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-05-16-libclamav-error-database-directory-varclamav-not-locked/</guid>
      <description>categories:
Linux If you get that message when using freshclam, check out the clamd sock file&amp;hellip;
Usually stored under /var/run/clamav/clamd.sock
Verify the ownership on the file, directory, and verify if the owner is similar to the user running clamd.</description>
    </item>
    
    
    
    <item>
      <title>Regex to match a valid IP address</title>
      <link>https://blog.wains.be/2007/2007-05-07-regex-to-match-a-valid-ip-address/</link>
      <pubDate>Mon, 07 May 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-05-07-regex-to-match-a-valid-ip-address/</guid>
      <description>categories:
Linux Match an IPv4 address..
b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) .(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)b
Test your regex rules online at http://www.regextester.com/
IPv6 rule soon ;)</description>
    </item>
    
    
    
    <item>
      <title>How to enable query caching in MySQL</title>
      <link>https://blog.wains.be/2007/2007-05-02-enable-query-cache-in-mysql/</link>
      <pubDate>Wed, 02 May 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-05-02-enable-query-cache-in-mysql/</guid>
      <description>categories:
Linux Query caching should improve MySQL performances..
Edit /etc/my.cnf :
Under the mysqld section add the following lines
[mysqld] query-cache-type = 1 query-cache-size = 10M
Restart MySQL : # service mysqld restart
Make sure query caching is enabled :
&amp;lt;code&amp;gt;[root@local](1008)# mysql -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 9 to server version: 4.1.20 Type &#39;help;&#39; or &#39;h&#39; for help.</description>
    </item>
    
    
    
    <item>
      <title>VMware server on Ubuntu 7.04 the easy way</title>
      <link>https://blog.wains.be/2007/2007-05-02-vmware-server-on-ubuntu-704-the-easy-way/</link>
      <pubDate>Wed, 02 May 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-05-02-vmware-server-on-ubuntu-704-the-easy-way/</guid>
      <description>categories:
Howto Linux You would find howtos here and there about installation of vmware server the manual way.
There&amp;rsquo;s a much easier way, as it is available in the commercial repository of Canonical
Add this line to /etc/apt/sources.list : deb http://archive.canonical.com/ubuntu feisty-commercial main
From synaptic, install vmware-server, it will install its dependencies along.
Obtain a serial number at http://register.vmware.com/content/registration.html
As soon as it is installed, you can access the vmware console from the Applications menu &amp;gt; System tools &amp;gt; VMware server console</description>
    </item>
    
    
    
    <item>
      <title>clamscan vs. clamdscan</title>
      <link>https://blog.wains.be/2007/2007-04-27-clamscan-vs-clamdscan/</link>
      <pubDate>Fri, 27 Apr 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-04-27-clamscan-vs-clamdscan/</guid>
      <description>categories:
Linux If you&amp;rsquo;re wondering what is best&amp;hellip;
I switched back to clamdscan at 5pm. Actually my system was using clamdscan under amavisd-new. After switching to clamassassin, it was using clamscan by default, I noticed that after a while, seeing how long it was taking for emails to be processed.
Use ./configure &amp;ndash;enable-clamdscan when building clamassassin (see README)</description>
    </item>
    
    
    
    <item>
      <title>Postfix &#43; SpamAssassin &#43; ClamAV with procmail without amavisd-new</title>
      <link>https://blog.wains.be/2007/2007-04-26-postfix-spamassassin-clamav-with-procmail-without-amavisd-new/</link>
      <pubDate>Thu, 26 Apr 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-04-26-postfix-spamassassin-clamav-with-procmail-without-amavisd-new/</guid>
      <description>categories:
Howto Linux Postfix Security I used to use Amavisd-new on our email gateway at work. It sucks. It was a memory hog and was consuming around 400 Mb of swap. It was making it difficult to upgrade clamav, something would break anytime you upgraded. I had a very basic use of amavis, I needed to get rid of it and find a better setup.
Basically, I just wanted to pipe the mails into ClamAV then if no viruses were found, pipe them in SpamAssassin, ideally doing all that from procmail.</description>
    </item>
    
    
    
    <item>
      <title>Another review of Ubuntu 7.04</title>
      <link>https://blog.wains.be/2007/2007-04-23-another-review-of-ubuntu-704/</link>
      <pubDate>Mon, 23 Apr 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-04-23-another-review-of-ubuntu-704/</guid>
      <description>categories:
Linux I freshly installed Ubuntu 7.04 on my Toshiba laptop. I first tried to update it but I was getting some slowliness issues for some unknown reason.
Let&amp;rsquo;s start with the cons :
Graphic installation anyone ? You can have all those fancy CD sleeves and a nice logo reworked at every release but that text installer would scare anyone used to GUI environments. (this comment apparently applies to the alternate version of Ubuntu, the desktop one has a graphical installer available within the live cd)</description>
    </item>
    
    
    
    <item>
      <title>Eye-candy Ubuntu 7.04</title>
      <link>https://blog.wains.be/2007/2007-04-23-eye-candy-ubuntu-704/</link>
      <pubDate>Mon, 23 Apr 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-04-23-eye-candy-ubuntu-704/</guid>
      <description>categories:
Gnome Linux My personal top 3 for a nice looking desktop.
Install Beryl from the repositories
Install subpixel font rendering : explained here
Prettify the Firefox widgets : explained here Backup of the widget package at http://blog.wains.be/pub/firefox-widgets-10.tar.bz2</description>
    </item>
    
    
    
    <item>
      <title>Installing ZoneMinder 1.22.3 under CentOS 4.4</title>
      <link>https://blog.wains.be/2007/2007-04-23-installing-zoneminder-1223-under-centos-44/</link>
      <pubDate>Mon, 23 Apr 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-04-23-installing-zoneminder-1223-under-centos-44/</guid>
      <description>categories:
Linux http://www.zoneminder.com/
ZoneMinder is intended for use in single or multi-camera video security applications, including commercial or home CCTV, theft prevention and child or family member or/ home monitoring and other care scenarios&amp;hellip;.
Disable SELinux (that&amp;rsquo;s the easy way, I know.. please provide the steps in the comment if you kept SELinux on) : Edit /etc/sysconfig/selinux
Install RPMforge repository : See http://dag.wieers.com/rpm/FAQ.php#B
Install necessary packages : # yum install mysql-server mysql php-mysql mysql-devel libjpeg-devel pcre-devel subversion ffmpeg perl-Archive-Tar perl-MIME-Lite perl-MIME-tools gcc gcc-c++</description>
    </item>
    
    
    
    <item>
      <title>Im a Red Hat Certified Engineer!</title>
      <link>https://blog.wains.be/2007/2007-04-20-im-a-redhat-certified-engineer/</link>
      <pubDate>Fri, 20 Apr 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-04-20-im-a-redhat-certified-engineer/</guid>
      <description>Dear Sebastien Wains: The results of your RHCE Certification Exam are reported below. The RHCE Certification Exam allows candidates to qualify for the Red Hat Certified Engineer (RHCE) and Red Hat Certified Technician (RHCT) certificates. Please note that the RHCE designation is understood to both include and supersede the RHCT designation. SECTION I: TROUBLESHOOTING AND SYSTEM MAINTENANCE RHCE requirements: completion of compulsory items (50 points) overall section score of 80 or higher RHCT requirements: completion of compulsory items (50 points) Compulsory Section I score: 50.</description>
    </item>
    
    
    
    <item>
      <title>Display NFS shares</title>
      <link>https://blog.wains.be/2007/2007-04-10-display-nfs-shares/</link>
      <pubDate>Tue, 10 Apr 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-04-10-display-nfs-shares/</guid>
      <description>categories:
Linux List NFS shares from a remote (or even localhost) server :
# showmount -e server</description>
    </item>
    
    
    
    <item>
      <title>VSftpd on RHEL</title>
      <link>https://blog.wains.be/2007/2007-04-10-vsftpd-on-rhel/</link>
      <pubDate>Tue, 10 Apr 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-04-10-vsftpd-on-rhel/</guid>
      <description>categories:
Linux RHCE FTP server on RHEL
RPM : vsftpd
Config : /etc/vsftpd/vsftpd.conf
By default :
anonymous users will fall in a chroot located in /var/ftp/pub. They have read access only. local users are connecting in their /home and are not chrooted In order to chroot local users use in the config : chroot_local_user=YES
Thanks to Toutim for pointing out a mistake I&amp;rsquo;ve made in this article.</description>
    </item>
    
    
    
    <item>
      <title>Set your keyboard rate and repeat delay under Linux</title>
      <link>https://blog.wains.be/2007/2007-04-03-set-your-keyboard-rate-and-repeat-delay-under-linux/</link>
      <pubDate>Tue, 03 Apr 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-04-03-set-your-keyboard-rate-and-repeat-delay-under-linux/</guid>
      <description>categories:
Linux Just found this out, didn&amp;rsquo;t know that command existed.
$ kbdrate -r30 -d0
This sets the repeat rate to 30 characters per second (which is the maximum value) and a repeat delay of 250 ms (which is the lowest possible).
You may sometimes notice your keyboard rate/repeat delay is slow after attaching it to a running system which was booted without a keyboard attached. I guess this command would help.</description>
    </item>
    
    
    
    <item>
      <title>Connecting to your Linux CentOS box using serial null-modem cable</title>
      <link>https://blog.wains.be/2007/2007-03-30-connecting-to-your-linux-centos-box-using-serial-null-modem-cable/</link>
      <pubDate>Fri, 30 Mar 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-03-30-connecting-to-your-linux-centos-box-using-serial-null-modem-cable/</guid>
      <description>categories:
Howto Linux This has been tested under CentOS 4.4.
Why would I need that ? This is useful if you set up a server that will be located in a place where there&amp;rsquo;s low chance to have a keyboard and a monitor around. Or useful, when, like me, you&amp;rsquo;re given like 2 squared meters to store your servers.
What you need : Server : At least one serial port available on the linux box and the &amp;ldquo;util-linux&amp;rdquo; package installed.</description>
    </item>
    
    
    
    <item>
      <title>Allowing Apache/mod_dosevasive to use iptables through sudoers</title>
      <link>https://blog.wains.be/2007/2007-03-29-allowing-apachemod_dosevasive-to-use-iptables-through-sudoers/</link>
      <pubDate>Thu, 29 Mar 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-03-29-allowing-apachemod_dosevasive-to-use-iptables-through-sudoers/</guid>
      <description>categories:
Apache Howto Linux Security What is mod_dosevasive ?
mod_dosevasive is an evasive maneuvers module for Apache to provide evasive action in the event of an HTTP DoS or DDoS attack or brute force attack. It is also designed to be a detection tool, and can be easily configured to talk to ipchains, firewalls, routers, and etcetera.
Detection is performed by creating an internal dynamic hash table of IP Addresses and URIs, and denying any single IP address from any of the following:</description>
    </item>
    
    
    
    <item>
      <title>Install the latest kernel from Kernel.org under CentOS 4.4</title>
      <link>https://blog.wains.be/2007/2007-03-28-install-the-latest-kernel-from-kernelorg-under-centos-44/</link>
      <pubDate>Wed, 28 Mar 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-03-28-install-the-latest-kernel-from-kernelorg-under-centos-44/</guid>
      <description>categories:
Linux Red Hat/CentOS This was just part of an experiment on a test machine. I wanted to see if it was a pain to install the latest kernel to a CentOS 4.4 system, and see if the system was stable etc.
The following steps are based on http://howtoforge.com/kernel_compilation_centos guide.
It is probably not the best way to deal with it. And you probably don&amp;rsquo;t want to install the latest kernel on a production system.</description>
    </item>
    
    
    
    <item>
      <title>SWAP space under RHEL/CentOS</title>
      <link>https://blog.wains.be/2007/2007-03-27-swap-space-under-rhelcentos/</link>
      <pubDate>Tue, 27 Mar 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-03-27-swap-space-under-rhelcentos/</guid>
      <description>categories:
RHCE Adding a 250 MB swap file to the system
Create an empty 250M file : dd if=/dev/zero of=/swapfile bs=1024 count=256000
Create the swap on the newly created file : mkswap /swapfile
Enable the new swap file : swapon /swapfile
Edit fstab and add : /swapfile swap swap defaults 0 0
**Verify if the new swap space is enabled : ** cat /proc/swaps free -m
A good idea is to have your swap partition as an LVM volume.</description>
    </item>
    
    
    
    <item>
      <title>Managing LVM on Red Hat based systems</title>
      <link>https://blog.wains.be/2007/2007-03-26-managing-lvm-on-redhat-based-systems/</link>
      <pubDate>Mon, 26 Mar 2007 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-03-26-managing-lvm-on-redhat-based-systems/</guid>
      <description>categories:
RHCE Steps :
Creation of Physical Volumes (container of volume groups) Creation of Volume Groups (container of logical volumes) Creation of Logical Volumes (&amp;ldquo;partitions&amp;rdquo;) Formatting the Logical Volumes (optional) Resizing Logical Volumes 1. Creation of Physical Volumes (PV)
pvcreate /dev/hda4 pvdisplay
It is good practice to always use &amp;ldquo;(pv|vg|lv)display&amp;rdquo; after creating a volume.
/dev/hda4 is an empty partition.. see fdisk manpages for help.
2. Creation of Volume Groups (VG)</description>
    </item>
    
    
    
    <item>
      <title>Resetting frozen Ipod</title>
      <link>https://blog.wains.be/2007/2007-03-25-resetting-frozen-ipod/</link>
      <pubDate>Sun, 25 Mar 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-03-25-resetting-frozen-ipod/</guid>
      <description>categories:
Apple/Mac OS My Ipod froze the other day and had to Google around to find how to reset the small piece of hardware.
The following page has a nice interactive panel showing how to access hidden functions of your ipod.
http://www.command-tab.com/post/hidden-ipod-commands/</description>
    </item>
    
    
    
    <item>
      <title>Unsolvable - Gratuitous ARP from our Windows 2000 server with Intel Pro 1000</title>
      <link>https://blog.wains.be/2007/2007-03-24-unsolvable-gratuitous-arp-from-our-windows-2000-server-with-intel-pro-1000/</link>
      <pubDate>Sat, 24 Mar 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-03-24-unsolvable-gratuitous-arp-from-our-windows-2000-server-with-intel-pro-1000/</guid>
      <description>categories:
Networks Windows With the accuracy of a swiss clock, our windows 2000 server at work sends gratuitous ARP requests every 30 seconds for some unknown reason.
It has always been doing that. I&amp;rsquo;ve tried to figure out the issue every now and then, when I had some time to kill.
The question is.. is it software or hardware related ? The strange thing is the gratuitous arp requests are supposedly from an IP totally unknown in the network.</description>
    </item>
    
    
    
    <item>
      <title>Quota on RHEL/CentOS</title>
      <link>https://blog.wains.be/2007/2007-03-23-quota-on-rhelcentos/</link>
      <pubDate>Fri, 23 Mar 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-03-23-quota-on-rhelcentos/</guid>
      <description>categories:
RHCE Here are the steps to implementing quotas on a RedHat based system :
We will enable quotas on /home on the /dev/hda3 partition.
Create user : useradd user1 passwd user1
Edit /etc/fstab : From : /dev/hda3 /home ext3 defaults 1 2 To : /dev/hda3 /home ext3 defaults,usrquota,grpquota 1 2
Remount the disk (make sure it&amp;rsquo;s not in use) : mount -o remount /home
Check if usrquota and grpquota are enabled : mount | grep /home</description>
    </item>
    
    
    
    <item>
      <title>Resize ext3 partitions</title>
      <link>https://blog.wains.be/2007/2007-03-16-resize-ext3-partitions/</link>
      <pubDate>Fri, 16 Mar 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-03-16-resize-ext3-partitions/</guid>
      <description>categories:
Howto Linux Say we have a brand new already ext3 formatted disk on our system.. say it has a 300 GB partition and it is brand new, so not running anything on the system. DO NOT TRY RESIZING PARTITIONS ON SYSTEM DISKS UNLESS YOU KNOW WHAT YOU ARE DOING.
We are gonna copy the old 100 GB partition to the new partition.
Old : sda2 New : sdb1
dd if=/dev/sda2 of=/dev/sdb1 bs=4k</description>
    </item>
    
    
    
    <item>
      <title>CentOS &#43; RAID with mdadm</title>
      <link>https://blog.wains.be/2007/2007-03-12-centos-raid-with-mdadm/</link>
      <pubDate>Mon, 12 Mar 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-03-12-centos-raid-with-mdadm/</guid>
      <description>categories:
RHCE RHCE exam requires you to be able to create a RAID array on a running system, as well as with the installer.
I won&amp;rsquo;t explain here how to deal with the installer as it&amp;rsquo;s pretty easy.
1. create the partitions
Using fdisk or else Set the ID type to &amp;ldquo;fd&amp;rdquo; (Linux RAID autodetect)
Say we got here /dev/hda2 and /dev/hdb2
2. create the RAID array with the first drive only</description>
    </item>
    
    
    
    <item>
      <title>SpamAssassin &#43; Razor2 on CentOS/RHEL</title>
      <link>https://blog.wains.be/2007/2007-03-07-spamassassin-razor2-on-centosrhel/</link>
      <pubDate>Wed, 07 Mar 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-03-07-spamassassin-razor2-on-centosrhel/</guid>
      <description>categories:
Howto Linux Install SpamAssassin 3.1.8
Install razor-agents and perl-Razor-Agent from dag&amp;rsquo;s http://dag.wieers.com/rpm/packages/razor-agents/
Or from Razor homepage : http://razor.sourceforge.net/
Restart SpamAssassin : service spamassassin condrestart
Run a test to see if razor2 is running (should be enabled by default in v310.pre) : spamassassin -t -D razor2 &amp;lt; /usr/share/doc/spamassassin-3.1.8/sample-spam.txt
**Output : ** ``[1284] dbg: razor2: razor2 is available, version 2.82 Razor-Log: Computed razorhome from env: /root/.razor Razor-Log: Found razorhome: /root/.razor Razor-Log: No /root/.</description>
    </item>
    
    
    
    <item>
      <title>Setting up http/https on CentOS</title>
      <link>https://blog.wains.be/2007/2007-03-06-setting-up-httphttps-on-centos/</link>
      <pubDate>Tue, 06 Mar 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-03-06-setting-up-httphttps-on-centos/</guid>
      <description>categories:
RHCE Packages needed : httpd + deps Package needed for https : mod_ssl
yum install httpd mod_ssl
service httpd start chkconfig httpd on
Done !
I&amp;rsquo;m not sure what they could ask about Apache at the RHCE exam.. ? Virtual domains ?</description>
    </item>
    
    
    
    <item>
      <title>SpamAssassin - Rules du jour on CentOS/RHEL 4</title>
      <link>https://blog.wains.be/2007/2007-03-06-spamassassin-rules-du-jour-on-centosrhel-4/</link>
      <pubDate>Tue, 06 Mar 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-03-06-spamassassin-rules-du-jour-on-centosrhel-4/</guid>
      <description>categories:
Howto Linux Red Hat/CentOS Download the script (functional for me as of today with SpamAssassin 3.1.8) : wget http://blog.wains.be/pub/rules_du_jour.gz -O /usr/local/bin/rules_du_jour.gz &amp;amp;&amp;amp; gzip -d /usr/local/bin/rules_du_jour.gz
I always find it difficult to download the script (site down, etc), so I put my current script online.
Set the exec bit : chmod +x /usr/local/bin/rules_du_jour
Create the config file : mkdir /etc/rulesdujour Create and edit /etc/rulesdujour/config :
TRUSTED_RULESETS=&amp;quot;SARE_ADULT SARE_STOCKS SARE_WHITELIST SARE_RANDOM SARE_EVILNUMBERS0 SARE_BML TRIPWIRE&amp;quot; SA_DIR=/etc/mail/spamassassin EMAIL_RDJ_UPDATE_ONLY= SINGLE_EMAIL_ONLY=true MAIL_ADDRESS=your@address.</description>
    </item>
    
    
    
    <item>
      <title>Linux-Anti-Theft</title>
      <link>https://blog.wains.be/2007/2007-03-05-linux-anti-theft/</link>
      <pubDate>Mon, 05 Mar 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-03-05-linux-anti-theft/</guid>
      <description>categories:
Linux-Anti-Theft I released a small utility mainly intended at my personal use.
Homepage : http://blog.wains.be/projects/linux-anti-theft/
Download : http://blog.wains.be/projects/pub/</description>
    </item>
    
    
    
    <item>
      <title>SpamAssassin &#43; DCC on CentOS/RHEL</title>
      <link>https://blog.wains.be/2007/2007-03-05-spamassassin-dcc/</link>
      <pubDate>Mon, 05 Mar 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-03-05-spamassassin-dcc/</guid>
      <description>categories:
Howto Linux Postfix I decided to give a try to DCC on our CentOS 3.8 mail gateway running Postfix.
SpamAssassin 3.1.8 was already installed.
Install package : rpm -ihv http://repo.securityteam.us/repository/redhat/el3/i386/RPMS/dcc-1.3.12-1.i386.rpm
In order to work properly, DCC needs the following iptables rule : iptables -A INPUT -p udp -m udp --dport 1024:65535 --sport 6277 -j ACCEPT
Edit /etc/dcc/dcc_conf and enable dccifd : DCCIFD_ENABLE=on
Edit /etc/mail/spamassassin/local.cf : use_dcc 1 dcc_home /etc/dcc</description>
    </item>
    
    
    
    <item>
      <title>Hide PHP version in the header (X-Powered-By)</title>
      <link>https://blog.wains.be/2007/2007-03-03-hide-php-version-in-the-header-x-powered-by/</link>
      <pubDate>Sat, 03 Mar 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-03-03-hide-php-version-in-the-header-x-powered-by/</guid>
      <description>categories:
Apache Linux Edit /etc/php.ini (under RHEL/CentOS) and set : expose_php = Off
Before : $ curl -I blog.wains.be HTTP/1.0 200 OK Date: Sat, 03 Mar 2007 14:55:17 GMT Server: Apache X-Powered-By: PHP/4.x.x X-Pingback: http://blog.wains.be/xmlrpc.php Content-Type: text/html; charset=UTF-8 X-Cache: MISS from localhost Connection: close
After : $ curl -I blog.wains.be HTTP/1.0 200 OK Date: Sat, 03 Mar 2007 15:11:36 GMT Server: Apache X-Pingback: http://blog.wains.be/xmlrpc.php Content-Type: text/html; charset=UTF-8 X-Cache: MISS from localhost Connection: close</description>
    </item>
    
    
    
    <item>
      <title>Mount NTFS disks under CentOS</title>
      <link>https://blog.wains.be/2007/2007-02-28-mount-ntfs-disks-under-centos/</link>
      <pubDate>Wed, 28 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-28-mount-ntfs-disks-under-centos/</guid>
      <description>categories:
Red Hat/CentOS Download the NTFS kernel modules from : http://www.linux-ntfs.org/content/view/135/71/
The download for the current kernel at the time is kernel-module-ntfs-2.6.9-42.0.8.EL-2.1.20-0.rr.10.0.i686.rpm
Install the RPM : rpm -ihv kernel-module-ntfs-2.6.9-42.0.8.EL-2.1.20-0.rr.10.0.i686.rpm
Load the kernel module : modprobe ntfs
Find the disk info : fdisk -l One partition should be mentionned as HPFS/NTFS
Mount the partition : mkdir /media/win mount -t ntfs /dev/hdb1 /media/win
Voilà !</description>
    </item>
    
    
    
    <item>
      <title>Setting up NFS &#43; autofs under CentOS 4</title>
      <link>https://blog.wains.be/2007/2007-02-28-setting-up-nfs-under-centos-4/</link>
      <pubDate>Wed, 28 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-28-setting-up-nfs-under-centos-4/</guid>
      <description>categories:
RHCE Packages needed : nfs-utils
Server side
Edit /etc/exports : /home *(rw,sync)
Start service and make sure it&amp;rsquo;ll start at boot service nfs start chkconfig nfs on
Client side
Check if you can reach the server : rpcinfo -p 10.0.0.254
Manually mounting the shared folder mount -t nfs 10.0.0.254:/home /home
Setting up autofs on the client side to automount the NFS share :
Package needed : autofs
Let&amp;rsquo;s say we have a user &amp;ldquo;admin&amp;rdquo;</description>
    </item>
    
    
    
    <item>
      <title>Setting up NIS under CentOS 4</title>
      <link>https://blog.wains.be/2007/2007-02-28-setting-up-nis-under-centos-4/</link>
      <pubDate>Wed, 28 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-28-setting-up-nis-under-centos-4/</guid>
      <description>categories:
RHCE Server : server.lab.local (10.0.0.254) Client : client1.lab.local (10.0.0.1)
Server side :
Packages needed : yp-tools ypbind ypserv portmap
Edit /etc/yp.conf : domain lab.local server server ypserver server
Following this scheme : domain ${domain} server ${host} ypserver ${host}
By default /etc/ypserv.conf is ok.
Edit /etc/sysconfig/network and add : NISDOMAIN=lab.local
At the prompt : `# domainname lab.local
Still under the prompt : service portmap start chkconfig portmap on
Start the NIS server : service ypserv start</description>
    </item>
    
    
    
    <item>
      <title>Creating a local CentOS mirror</title>
      <link>https://blog.wains.be/2007/2007-02-26-creating-a-local-centos-mirror/</link>
      <pubDate>Mon, 26 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-26-creating-a-local-centos-mirror/</guid>
      <description>categories:
RHCE For my RHCE prep, I&amp;rsquo;m setting up a small lab of 3 machines.. one machine will act as the server.. For my ease of use, I decided to build a local mirror of the CentOS repository (base and updates).
I had downloaded the 4 ISO images of CentOS 4.4 overnight and burnt them.
Please consider the following : I&amp;rsquo;m only building a local copy of the base and updates repo for CentOS 4.</description>
    </item>
    
    
    
    <item>
      <title>RHEL package management</title>
      <link>https://blog.wains.be/2007/2007-02-21-package-management/</link>
      <pubDate>Wed, 21 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-21-package-management/</guid>
      <description>categories:
RHCE Compilation of most common commands dealing with package management.
up2date
Install up2date -i package
Show packages groups up2date --show-groups
Install a package group up2date -i @GROUP_NAME (e.g. : up2date -i @GNOME Desktop Environment)
up2date sources specified under /etc/sysconfig/rhn/sources
yum
Install yum install package
Get info yum info package
Remove yum erase package
Check if update available yum check-update
Find package providing the file yum whatprovides /some/file
Clean all yum caches yum clean all</description>
    </item>
    
    
    
    <item>
      <title>passwd- User not known to the underlying authentication module</title>
      <link>https://blog.wains.be/2007/2007-02-19-passwd-user-not-known-to-the-underlying-authentication-module/</link>
      <pubDate>Mon, 19 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-19-passwd-user-not-known-to-the-underlying-authentication-module/</guid>
      <description>categories:
Linux RHCE If you ran &amp;ldquo;pwunconv&amp;rdquo; and try to change the password of a user, you may get that error message.
passwd: User not known to the underlying authentication module
Try &amp;ldquo;pwconv&amp;rdquo; and try again.
pwconv explained here</description>
    </item>
    
    
    
    <item>
      <title>tar, gzip, bzip2</title>
      <link>https://blog.wains.be/2007/2007-02-19-tar-gzip-bzip2/</link>
      <pubDate>Mon, 19 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-19-tar-gzip-bzip2/</guid>
      <description>categories:
RHCE Overview of the most common commands when it comes to compression&amp;hellip;
Tar
Create a tar file : tar -cpf target.tar source_folder/
Create a tar.gz file : tar -cpzf target.tar.gz source_folder/
Create a tar.bz file : tar -cpjf target.tar.bz2 source_folder/
-c : create -p : preserve permissions -z : gzip -j : bzip -f : file -x : extract -v : verbose -t : test
Extract foo.tar : tar -xvf foo.</description>
    </item>
    
    
    
    <item>
      <title>The Linux Runlevel</title>
      <link>https://blog.wains.be/2007/2007-02-19-the-linux-runlevel/</link>
      <pubDate>Mon, 19 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-19-the-linux-runlevel/</guid>
      <description>categories:
RHCE I&amp;rsquo;m pretty sure they don&amp;rsquo;t provide the root password at the RHCE exam and ask you to deal with it :)
Runlevels : * 0 - Halt the system * 1 - Single-user mode * 2 - Multi-user mode (without NFS) * 3 - Multi-user mode * 4 - Unused * 5 - Multi-user mode, graphical login * 6 - Reboot the system
Switch runlevel while the system is running (example : switch to runlevel 5) : telinit 5</description>
    </item>
    
    
    
    <item>
      <title>Users/groups management under RHEL</title>
      <link>https://blog.wains.be/2007/2007-02-19-usersgroups-management-under-rhel/</link>
      <pubDate>Mon, 19 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-19-usersgroups-management-under-rhel/</guid>
      <description>categories:
RHCE useradd [options] account usermod [options] account userdel [-r] account (-r would delete the home directory)
Default values when creating a user stored under /etc/default/useradd # useradd defaults file GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel
/etc/skel contains the skeleton of the files in the home directory of any newly created account
/etc/login.defs file defines the site-specific configuration for the shadow password suite.
Disable an account : passwd -l account Enable an account : passwd -u account</description>
    </item>
    
    
    
    <item>
      <title>Analyzing TCP packets</title>
      <link>https://blog.wains.be/2007/2007-02-18-analyzing-tcp-packets/</link>
      <pubDate>Sun, 18 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-18-analyzing-tcp-packets/</guid>
      <description>categories:
RHCE Reviewing the basics of TCP/IP networking.. I wasn&amp;rsquo;t able to find the command displaying a full detail of datagrams using tcpdump.. And as I tend to always forget how to get that verbose output, I&amp;rsquo;ll post it here for good.
Had to install Wireshark, as I couldn&amp;rsquo;t find how to get it under tcpdump (drop a comment if you know the answer ! :) )
Command : $ tshark -V -i eth0</description>
    </item>
    
    
    
    <item>
      <title>Environment variables</title>
      <link>https://blog.wains.be/2007/2007-02-18-environment-variables/</link>
      <pubDate>Sun, 18 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-18-environment-variables/</guid>
      <description>categories:
RHCE Displaying global variables &amp;ndash;&amp;gt; &amp;ldquo;printenv&amp;rdquo; or &amp;ldquo;env&amp;rdquo; Displaying local variables &amp;ndash;&amp;gt; &amp;ldquo;set&amp;rdquo;
Set a local variable : VARNAME=&amp;quot;value&amp;quot;
Local vars only available in the current shell.
Set a global variable : export VARNAME=&amp;quot;value&amp;quot;
Useful special bash variables : $?	Exit status of the most recently executed foreground pipeline. $$	Process ID of the shell. $!	Process ID of the most recently executed background command. $0	Expands to the name of the shell or shell script.</description>
    </item>
    
    
    
    <item>
      <title>grep, sed, awk</title>
      <link>https://blog.wains.be/2007/2007-02-18-grep-sed-awk/</link>
      <pubDate>Sun, 18 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-18-grep-sed-awk/</guid>
      <description>categories:
RHCE Let&amp;rsquo;s continue with the basics&amp;hellip; Reviewing only the really useful, and not going into the deep
If you have some useful tips, please share ! :)
Grep
grep : print lines matching a pattern (equals &amp;ldquo;grep -G&amp;rdquo; which is the default) egrep : equals grep -E (interpret extended regexp)
grep -n : line numbered grep -i : ignore case grep -c : count matches grep -v : print non-matching lines grep -r : recursivity, read all files under each directory</description>
    </item>
    
    
    
    <item>
      <title>Keep your machine synchronized using NTP</title>
      <link>https://blog.wains.be/2007/2007-02-18-keep-your-machine-synchronized-using-ntp/</link>
      <pubDate>Sun, 18 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-18-keep-your-machine-synchronized-using-ntp/</guid>
      <description>categories:
Howto Linux Security Install the package : yum install ntp
Make a backup of the default config cp /etc/ntp.conf /etc/ntp.conf.default
Minimal and pretty safe /etc/ntp.conf : server 0.europe.pool.ntp.org server 1.europe.pool.ntp.org server 2.europe.pool.ntp.org server 0.north-america.pool.ntp.org server 1.north-america.pool.ntp.org server 2.north-america.pool.ntp.org driftfile /var/lib/ntp/drift restrict default nopeer nomodify restrict 127.0.0.1
Make sure NTP daemon will start at boot : chkconfig ntpd on
Start the NTP service : service ntpd on
Verify if your server can reach the peers : `# ntpq -pn remote refid st t when poll reach delay offset jitter 195.</description>
    </item>
    
    
    
    <item>
      <title>Reading documentation under RHEL</title>
      <link>https://blog.wains.be/2007/2007-02-18-reading-documentation-under-rhel/</link>
      <pubDate>Sun, 18 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-18-reading-documentation-under-rhel/</guid>
      <description>categories:
RHCE Several ways to get help quickly. Need to get used to finding the missing info as fast as possible (I&amp;rsquo;m already pretty fast usually, but need to improve if possible)..
# whatis named named (8) - Internet domain name server named-checkconf (8) - named configuration file syntax checking tool named-checkzone (8) - zone file validity checking tool named.conf [named] (5) - configuration file for named
# apropos named Opcode (3pm) - Disable named opcodes when compiling perl code XML::DOM::NamedNodeMap (3pm) - A hash table interface for XML::DOM charnames (3pm) - define character names for eN{named} string literal escapes fifo (4) - first-in first-out special file, named pipe mkfifo (1) - make FIFOs (named pipes) mkfifo (3) - make a FIFO special file (a named pipe) named (8) - Internet domain name server named-checkconf (8) - named configuration file syntax checking tool named-checkzone (8) - zone file validity checking tool named.</description>
    </item>
    
    
    
    <item>
      <title>Converting watts (W) to kilowatt-hours (kWh) and vice-versa</title>
      <link>https://blog.wains.be/2007/2007-02-17-converting-watts-w-to-kilowatt-hours-kwh-and-vice-versa/</link>
      <pubDate>Sat, 17 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-17-converting-watts-w-to-kilowatt-hours-kwh-and-vice-versa/</guid>
      <description>categories:
Misc If you draw 100 W / hour on average
100W x (8760 hours per year) / 1000 = 876 kWh
Thus : 1 kWh = 0.114155 W on average 1 W on average = 8.76 kWh
The power here costs 0.1429 € per kWh.
876 kWh * 0.1429 = €125.18
Leaving something on drawing 100W in average costs €125 per year.</description>
    </item>
    
    
    
    <item>
      <title>Fixing scrambled terminal</title>
      <link>https://blog.wains.be/2007/2007-02-17-fixing-scrambled-terminal/</link>
      <pubDate>Sat, 17 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-17-fixing-scrambled-terminal/</guid>
      <description>categories:
Linux To fix a scrambled terminal display, as it sometimes happens, (blindly) type at the prompt :
reset
Your terminal is now back in shape.</description>
    </item>
    
    
    
    <item>
      <title>Input/output redirections and pipes</title>
      <link>https://blog.wains.be/2007/2007-02-17-inputoutput-redirections-and-pipes/</link>
      <pubDate>Sat, 17 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-17-inputoutput-redirections-and-pipes/</guid>
      <description>categories:
RHCE Today is the day I&amp;rsquo;m diving into the docs getting ready for the RHCE exam (exam on April 20) I&amp;rsquo;m adding a RHCE category to the site. I&amp;rsquo;ll put all my study notes in there.
Feel free to drop a comment if you have any useful tip or trick !
Let&amp;rsquo;s begin with the basics..
Standard input (stdin) : 0 Standard output (stdout) : 1 Error output (stderr) : 2</description>
    </item>
    
    
    
    <item>
      <title>My review of Mac OS X</title>
      <link>https://blog.wains.be/2007/2007-02-16-my-review-of-mac-os-x/</link>
      <pubDate>Fri, 16 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-16-my-review-of-mac-os-x/</guid>
      <description>categories:
Apple/Mac OS I&amp;rsquo;ll describe here my experience with Mac OS X as my main OS after 5 days (installed it on Sun 11 Feb 2007). I&amp;rsquo;ll keep this post updated with my latest discoveries.. Don&amp;rsquo;t blame me if I&amp;rsquo;m complaining about something while I&amp;rsquo;m just missing the point, drop a comment if so, I&amp;rsquo;d love to have feedback from Mac users.
Pros :
It just works, insert the DVD, install, you&amp;rsquo;re done and it takes like 15 minutes (and not the usual 39 minutes (whether you have a P3 or a Dual Core 2.</description>
    </item>
    
    
    
    <item>
      <title>Securely synchronize a folder from a remote machine with SSH</title>
      <link>https://blog.wains.be/2007/2007-02-13-securely-synchronize-a-folder-from-a-remote-machine-with-ssh/</link>
      <pubDate>Tue, 13 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-13-securely-synchronize-a-folder-from-a-remote-machine-with-ssh/</guid>
      <description>categories:
Howto Linux Security SSH rsync -vaz -e ssh user@server.domain.be:/home/user/ /home/user/
Source : user@server.domain.be:/home/user/ Target : /home/user/
-a : archive mode, preserve owner/group and permissions -v : verbose -z : compress data during transfer -e : the remote shell to use
Output : receiving file list ... done created directory /home/user ./ 28403/ BEXX0014/ 28403.xml error.xml . sent 876 bytes received 1294165 bytes 2590082.00 bytes/sec total size is 1644823 speedup is 1.</description>
    </item>
    
    
    
    <item>
      <title>Tunneling UDP through SSH</title>
      <link>https://blog.wains.be/2007/2007-02-13-tunneling-udp-requests-through-ssh/</link>
      <pubDate>Tue, 13 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-13-tunneling-udp-requests-through-ssh/</guid>
      <description>categories:
Howto Linux Security SSH Say you need to forward UDP packets between two remote networks securely. E.g : dns queries from your home machine to your dns servers at work. You should use a VPN between the networks in order to do so (see : http://blog.wains.be/post/routed-openvpn-between-two-subnets-behind-nat-gateways/)
Otherwise, you can use the following way :
1. Connect to the remote server and set up TCP forward client$ ssh -L 22222:127.0.0.1:22222 remote.</description>
    </item>
    
    
    
    <item>
      <title>Cross-monitoring 2 Linux machines in a LAN</title>
      <link>https://blog.wains.be/2007/2007-02-08-cross-monitoring-between-2-linux-machines-in-a-lan/</link>
      <pubDate>Thu, 08 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-08-cross-monitoring-between-2-linux-machines-in-a-lan/</guid>
      <description>categories:
Howto Linux Security Scenario :
You want 2 Linux machines in your network to monitor themselves. If one machines goes down, the other sends an email to the admin.
machine A has the IP 192.168.1.1 (machineA.local.domain.be) machine B has the IP 192.168.1.2 (machineB.local.domain.be)
Configuration :
Install heartbeat. CentOS/RHEL Packages available here : http://dev.centos.org/centos/4/testing/i386/RPMS/
/etc/ha.d/authkeys Machine A + B : auth 3 3 md5 thisisarandomstringofcharacters
The authkey is a shared secret between the machines, thus it has to be the same on the two machines.</description>
    </item>
    
    
    
    <item>
      <title>CentOS 4 - chroot DNS with BIND</title>
      <link>https://blog.wains.be/2007/2007-02-04-centos-chroot-dns-with-bind/</link>
      <pubDate>Sun, 04 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-04-centos-chroot-dns-with-bind/</guid>
      <description>categories:
DNS Howto Linux Red Hat/CentOS I won&amp;rsquo;t go into the details of what is DNS, or the difference between an A record and a CNAME record.. just a quick howto to set up a chrooted DNS server using Bind under CentOS in a mere 5 minutes..
Howto available for CentOS 5 : http://blog.wains.be/post/centos-5-chroot-dns-with-bind/
1. Install packages :
yum install bind bind-chroot bind-libs bind-utils
2. Configure rndc :
The rndc tool allow to get some useful info on your dns server (stats, status, etc.</description>
    </item>
    
    
    
    <item>
      <title>DIY - Passive network tap</title>
      <link>https://blog.wains.be/2007/2007-02-01-diy-passive-network-tap/</link>
      <pubDate>Thu, 01 Feb 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-02-01-diy-passive-network-tap/</guid>
      <description>categories:
Hardware Networks Security I made a lan tap following this great guide : http://www.ossmann.com/5-in-1.html
This is the schema : Another link : http://gd.tuwien.ac.at/infosys/security/snort/docs/tap/
I made a loopback plug too and the short cross over cable too&amp;hellip;
Here&amp;rsquo;s my kit :
Passive network tap box Straight cable Cross over cable Coupler Loop connector Passive network tap connector </description>
    </item>
    
    
    
    <item>
      <title>kernel panic - not syncing - Attempted to kill init</title>
      <link>https://blog.wains.be/2007/2007-01-31-kernel-panic-not-syncing-attempted-to-kill-init/</link>
      <pubDate>Wed, 31 Jan 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-01-31-kernel-panic-not-syncing-attempted-to-kill-init/</guid>
      <description>categories:
Howto Linux My home server hard drive started to have problems (bad sectors, noisy, etc..)
I decided it was time to reinstall CentOS before it was too late
I had some important data on the old drive, I would recover the data by just pluging it when the new system would be installed on the new drive.
So, I installed CentOS 4.4 and partitioned the new drive pretty much like the old one.</description>
    </item>
    
    
    
    <item>
      <title>PMB - php-yaz sous Redhat 4 / CentOS 4 / Fedora (FR)</title>
      <link>https://blog.wains.be/2007/2007-01-30-pmb-php-yaz-sous-redhat-4-centos-4-fedora-fr/</link>
      <pubDate>Tue, 30 Jan 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-01-30-pmb-php-yaz-sous-redhat-4-centos-4-fedora-fr/</guid>
      <description>categories:
Linux Nous utilisons PMB au travail (http://www.sigb.net). Ce logiciel offre une possibilité intéressante qui permet de contacter des bibliothéques PMB externes, cette fonction fait appel à un module appelé &amp;ldquo;YAZ&amp;rdquo; et son module au niveau du serveur web &amp;ldquo;PHP-YAZ&amp;rdquo;.
Nous utilisons un serveur CentOS (équivalent Redhat Enterprise RHEL, voire Fedora Core).
Le problème se situait au niveau des RPM disponibles sur le site des développeurs de Yaz. En installant les RPM yaz et libyaz, ça ne fonctionnait pas, le module PHP (php-yaz.</description>
    </item>
    
    
    
    <item>
      <title>Reloading /etc/inittab</title>
      <link>https://blog.wains.be/2007/2007-01-30-reloading-etcinittab/</link>
      <pubDate>Tue, 30 Jan 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-01-30-reloading-etcinittab/</guid>
      <description>categories:
Linux After any change made to /etc/inittab (like removing useless mingetty&amp;rsquo;s), type this to restart the init process without rebooting :
init q</description>
    </item>
    
    
    
    <item>
      <title>/usr/bin/ld- cannot find -lgcrypt</title>
      <link>https://blog.wains.be/2007/2007-01-29-usrbinld-cannot-find-lgcrypt/</link>
      <pubDate>Mon, 29 Jan 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-01-29-usrbinld-cannot-find-lgcrypt/</guid>
      <description>categories:
Linux Red Hat/CentOS While trying to compile yaz, I got this error :
&amp;ldquo;/usr/bin/ld: cannot find -lgcrypt&amp;rdquo;
Simple fix :
Install this package: libgcrypt-devel
yum install libgcrypt-devel</description>
    </item>
    
    
    
    <item>
      <title>Apache - conditional http authentication</title>
      <link>https://blog.wains.be/2007/2007-01-26-apache-conditional-http-authentication/</link>
      <pubDate>Fri, 26 Jan 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-01-26-apache-conditional-http-authentication/</guid>
      <description>categories:
Apache Howto Linux Security This is what I needed to do : I have a virtual host (say sub.domain.be) running under Apache web server at work that should be accessible for everybody on the local network but as well for a bunch of people outside of it. The main concern is security, we would consider the local network as safe while anything else is not.
Thus, the condition is this :</description>
    </item>
    
    
    
    <item>
      <title>Make an ISO out of a CD</title>
      <link>https://blog.wains.be/2007/2007-01-26-make-an-iso-out-of-a-cd/</link>
      <pubDate>Fri, 26 Jan 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-01-26-make-an-iso-out-of-a-cd/</guid>
      <description>categories:
Howto Linux dd if=/dev/hda of=/home/user/cd.iso bs=2048 conv=notrunc
Where /dev/hda is your cdrom drive..
How do I find that out ? (snippet)
user@localhost:~$ mount ... /dev/sda1 on /media/win type ntfs (rw) **/dev/hda on /media/cdrom0 type iso9660 (ro,noexec,nosuid,nodev,user=user)**
The admin blogger mentionned an easier way : cat /dev/hda &amp;gt; /home/user/cd.iso
More info : http://www.linuxquestions.org/linux/answers/Applications_GUI_Multimedia/How_To_Do_Eveything_With_DD</description>
    </item>
    
    
    
    <item>
      <title>New (neat) postfix 2.3 feature - custom bounce messages</title>
      <link>https://blog.wains.be/2007/2007-01-25-new-neat-postfix-23-feature-custom-bounce-messages/</link>
      <pubDate>Thu, 25 Jan 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-01-25-new-neat-postfix-23-feature-custom-bounce-messages/</guid>
      <description>categories:
Postfix Bounce messages sent by the postfix daemon used to be hardcoded until version 2.3. This is actually great news for non-english speaking or not email-litterate users.
This is an excerpt of my postfix config : maximal_queue_lifetime = 1d delay_warning_time = 1h bounce_template_file = /etc/postfix/bounce.cf
It is important to know the $delay_warning_time and $maximal_queue_lifetime time values.
Let&amp;rsquo;s start by copying the default bounce template file : cp /etc/postfix/bounce.cf.default /etc/postfix/bounce.cf</description>
    </item>
    
    
    
    <item>
      <title>Some vi tips</title>
      <link>https://blog.wains.be/2007/2007-01-11-some-vi-tips/</link>
      <pubDate>Thu, 11 Jan 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-01-11-some-vi-tips/</guid>
      <description>categories:
Linux RHCE This is my personal vi reminder. Feel free to share your tips !
Search and replace a string globally in a document : :.,$s/search_string/replacement_string/g
Searching for a string : Type &amp;ldquo;/&amp;rdquo; followed by the string e.g. : /pattern
Disabling highlighted patterns : Type &amp;ldquo;:nohl&amp;rdquo; to disable highlighting
Comment out several lines at once (I like that one) : 1. Ctrl + V (visual block) 2. Select the lines you want to be commented out 3.</description>
    </item>
    
    
    
    <item>
      <title>Subversion- automating svn-keywords</title>
      <link>https://blog.wains.be/2007/2007-01-10-subversion-automating-svnkeywords/</link>
      <pubDate>Wed, 10 Jan 2007 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2007/2007-01-10-subversion-automating-svnkeywords/</guid>
      <description>categories:
Howto Linux Versioning We&amp;rsquo;ll see here how you can automate the addition of SVN keywords to your newly added or imported file in your Subversion repository.
Changes are being made on the client computer, NOT the repository. It means you need to apply the following to every computer accessing the SVN repository.
For files already in the repository, you will need to manually set the keywords this way:
svn propset svn:keywords &amp;quot;Id&amp;quot; file.</description>
    </item>
    
    
    
    <item>
      <title>Ubuntu - Side buttons with Microsoft IntelliMouse Optical</title>
      <link>https://blog.wains.be/2006/2006-12-31-side-buttons-with-intellimouse-optical/</link>
      <pubDate>Sun, 31 Dec 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-12-31-side-buttons-with-intellimouse-optical/</guid>
      <description>categories:
Howto Linux Tested working under Ubuntu 6.10 With this enabled, you can go backward and forward under Firefox (and probably other apps).
sudo gedit /etc/X11/xorg.conf and add :
Option &amp;quot;ButtonMapping&amp;quot; &amp;quot;1 2 3 6 7 4 5&amp;quot; Option &amp;quot;ZAxisMapping&amp;quot; &amp;quot;4 5&amp;quot;
sudo gedit /etc/X11/Xsession.d/63xmodmap (this is a new file) and add :
xmodmap -e &amp;quot;pointer = 1 2 3 4 5 6 7&amp;quot; BINARY=$(which imwheel) $BINARY -k -p -b &amp;quot;67&amp;quot;</description>
    </item>
    
    
    
    <item>
      <title>Install FuzzyOCR for SpamAssassin on CentOS/RHEL</title>
      <link>https://blog.wains.be/2006/2006-12-29-install-fuzzyocr-on-centos/</link>
      <pubDate>Fri, 29 Dec 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-12-29-install-fuzzyocr-on-centos/</guid>
      <description>categories:
Howto Linux Security Tested under CentOS 3.8 and CentOS 4.4, both running SpamAssassin 3.1.7 built from srpm
wget http://users.own-hero.net/~decoder/fuzzyocr/fuzzyocr-latest.tar.gz
**Ungzip : ** gzip -d fuzzyocr-latest.tar.gz
**Untar : ** tar xvf fuzzyocr-latest.tar
Packages needed and found in the CentOS repositories : yum install netpbm netpbm-progs ImageMagick libungif libungif-progs
Packages needed and found in SecurityTeamUS repository : First, you need to install that SecurityTeamUS repo : rpm -ihv http://repo.securityteam.us/repository/redhat/securityteamus-repo-latest.rpm
Then : yum install perl-Digest-MD5</description>
    </item>
    
    
    
    <item>
      <title>Install ntop on CentOS/RHEL</title>
      <link>https://blog.wains.be/2006/2006-12-21-install-ntop-on-centosrhel/</link>
      <pubDate>Thu, 21 Dec 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-12-21-install-ntop-on-centosrhel/</guid>
      <description>categories:
Howto Linux What is ntop ? : http://www.ntop.org/overview.html
Install the SecurityTeamUS repo : rpm -ihv http://repo.securityteam.us/repository/redhat/securityteamus-repo-latest.rpm
Install ntop (dependencies (gd) included on the base repo) : yum install ntop
ntop requires that you create a password for it to run, type ntop at the prompt : Thu Dec 21 19:53:54 2006 NOTE: Interface merge enabled by default Thu Dec 21 19:53:54 2006 Initializing gdbm databases Thu Dec 21 19:53:54 2006 ntop will be started as user nobody Thu Dec 21 19:53:54 2006 ntop v.</description>
    </item>
    
    
    
    <item>
      <title>CentOS/RHEL - Web Proxy &#43; Antivirus (ClamAV)</title>
      <link>https://blog.wains.be/2006/2006-12-19-centosrhelfedora-web-proxy-antivirus-clamav/</link>
      <pubDate>Tue, 19 Dec 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-12-19-centosrhelfedora-web-proxy-antivirus-clamav/</guid>
      <description>categories:
Howto Linux Proxy Red Hat/CentOS Security I&amp;rsquo;ll explain here how to setup a web proxy with antivirus capabilities.
We will use these tools : Squid + ClamAV + a patched version of DansGuardian
The clamav packages provided are now outdated, I&amp;rsquo;m going to build an updated version as soon as I can
Squid : www.squid-cache.org ClamAV : www.clamav.net DansGuardian : dansguardian.org DansGuardian Antivirus plugin : http://www.harvest.com.br/asp/afn/dg.nsf
You can download squid from the default CentOS repository.</description>
    </item>
    
    
    
    <item>
      <title>Bash shortcuts</title>
      <link>https://blog.wains.be/2006/2006-12-18-bash-shortcuts/</link>
      <pubDate>Mon, 18 Dec 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-12-18-bash-shortcuts/</guid>
      <description>categories:
Bash Linux Great memo ! Original link
25 March 2007 : New memo from http://linuxhelp.blogspot.com/2005/08/bash-shell-shortcuts.html
CTRL Key Bound
Ctrl + a - Jump to the start of the line Ctrl + b - Move back a char Ctrl + c - Terminate the command Ctrl + d - Exit the current shell Ctrl + e - Jump to the end of the line Ctrl + f - Move forward a char Ctrl + h - Same as backspace Ctrl + k - Delete to EOL Ctrl + l - Clear the screen Ctrl + r - Search the history backwards Ctrl + R - Search the history backwards with multi occurrence Ctrl + t : Swap the last two characters before the cursor Ctrl + u - Delete backward from cursor Ctrl + w : Delete the word before the cursor Ctrl + xx - Move between EOL and current cursor position Ctrl + x @ - Show possible hostname completions Ctrl + z - Suspend/ Stop the command.</description>
    </item>
    
    
    
    <item>
      <title>Squid - log Google and other search engines related queries</title>
      <link>https://blog.wains.be/2006/2006-12-18-squid-log-google-and-other-queries/</link>
      <pubDate>Mon, 18 Dec 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-12-18-squid-log-google-and-other-queries/</guid>
      <description>categories:
Linux Proxy Security By default, the queries sent to google and other search engines are not logged into Squid proxy logs. This is meant to protect the user&amp;rsquo;s privacy.
See below how to enable queries logging..
Add this to /etc/squid/squid.conf
strip_query_terms off
As a result, you&amp;rsquo;d get this in the logs : 1166463218.353 1285 192.168.1.10 TCP_MISS/200 6429 GET http://www.google.com/search?hl=en&amp;amp;q=s%C3%A9bastien+wains&amp;amp;btnG=Google+Search - DIRECT/64.233.161.104 text/html
Instead of this :
1166463218.353 1285 192.168.1.10 TCP_MISS/200 6429 GET http://www.</description>
    </item>
    
    
    
    <item>
      <title>Transparent Squid proxy</title>
      <link>https://blog.wains.be/2006/2006-12-18-transparent-squid/</link>
      <pubDate>Mon, 18 Dec 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-12-18-transparent-squid/</guid>
      <description>categories:
Howto Linux Proxy How to run squid as a transparent squid proxy :
Squid 2.5 and earlier :
Edit /etc/squid/squid.conf and add this :
httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on
To enable the transparent proxying, type this :
iptables -t nat -A PREROUTING -i eth0 -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
&amp;ldquo;-s 192.168.1.0/24&amp;rdquo; is optional but needed if you run a webserver on the squid machine.</description>
    </item>
    
    
    
    <item>
      <title>OpenLDAP, Evolution and Microsoft Outlook HOWTO</title>
      <link>https://blog.wains.be/2006/2006-12-17-openldap-evolution-and-microsoft-outlook-howto/</link>
      <pubDate>Sun, 17 Dec 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-12-17-openldap-evolution-and-microsoft-outlook-howto/</guid>
      <description>categories:
Howto LDAP Linux Matthew Feldt was kind enough to put up a guide explaining how to set up OpenLDAP as an addressbook compatible with Evolution and Microsoft Outlook.
Please visit his page here : http://www.feldt.com/work/projects/openLDAP/
A mirror of his page is available here : http://blog.wains.be/mirrors/feldt.com/
The guide works for CentOS/RHEL 4.4.
Thanks Matthew for that very well written howto !
For your information, LDAP support in Outlook is terrible. No autocompletion available.</description>
    </item>
    
    
    
    <item>
      <title>Test and debug AUTH PLAIN authentication</title>
      <link>https://blog.wains.be/2006/2006-12-15-test-and-debug-auth-plain-authentication/</link>
      <pubDate>Fri, 15 Dec 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-12-15-test-and-debug-auth-plain-authentication/</guid>
      <description>categories:
Howto Linux Postfix Security This command will give you the string that should be passed at AUTH PLAIN
For test@domain.be, you&amp;rsquo;d type this :
perl -MMIME::Base64 -e &#39;print encode_base64(&amp;quot;00test@domain.be00password&amp;quot;)&#39;
Where &amp;ldquo;test@domain.be&amp;rdquo; is your username and &amp;ldquo;password&amp;rdquo; is.. your password Your username and password should start with the string &amp;ldquo;00&amp;rdquo;
The output is : AHRlc3RAZG9tYWluLmJlAHBhc3N3b3Jk
Now, you can test the authentication..
user@host:~$ telnet mx.domain.be 25 Trying 10.0.0.1... Connected to mx.domain.be. Escape character is &#39;^]&#39;.</description>
    </item>
    
    
    
    <item>
      <title>RRDWeather 0.40 released</title>
      <link>https://blog.wains.be/2006/2006-12-13-rrdweather-040-released/</link>
      <pubDate>Wed, 13 Dec 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-12-13-rrdweather-040-released/</guid>
      <description>Download here: https://github.com/sebw/rrdweather
Project page: https://www.wains.be/projects/rrdweather/
Changelog since version 0.36
Grégory Bittan reported an issue when the web connection is down. The script would still feed the RRD databases with a value of 0, messing up the average figures. The update script can now handle the monitoring of several cities Lionel Porcheron made RRDweather available to the Ubuntu Community trough the Universe repository To achieve the goal of monitoring several cities from a single script, RRDWeather had to use a new directory structure in order to store database files Better indenting Improved bash code Improved debugging mode &amp;hellip; </description>
    </item>
    
    
    
    <item>
      <title>Give to the community... the community gives it back to you</title>
      <link>https://blog.wains.be/2006/2006-12-06-give-to-the-community-the-community-gives-it-back-to-you/</link>
      <pubDate>Wed, 06 Dec 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-12-06-give-to-the-community-the-community-gives-it-back-to-you/</guid>
      <description>categories:
Rewards And this is what I got today :)
This is a reward for helping a friend with Linux and some networking stuff :-D</description>
    </item>
    
    
    
    <item>
      <title>Problems with accents in Samba</title>
      <link>https://blog.wains.be/2006/2006-12-05-problems-with-accents-in-samba/</link>
      <pubDate>Tue, 05 Dec 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-12-05-problems-with-accents-in-samba/</guid>
      <description>categories:
Linux Well I had problems with accents in filenames&amp;hellip;
I tried changing the filesystem localization to french, it didn&amp;rsquo;t help I tried changing the system locale (/etc/sysconfig/i18n under CentOS/RHEL), it didn&amp;rsquo;t help
I figured out the accents trouble was only occuring when dropping a file though smb
I then finally found out these parameters to add in your smb.conf configuration file :
dos charset = CP850 unix charset = ISO8859-1 display charset = LOCALE It fixed the issue for me with the FS and system locale always under en_US</description>
    </item>
    
    
    
    <item>
      <title>Ubuntu / FC5 - low volume issue with Intel HDA onboard card</title>
      <link>https://blog.wains.be/2006/2006-12-04-ubuntu-fc5-low-volume-issue-with-intel-hda-onboard-card/</link>
      <pubDate>Mon, 04 Dec 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-12-04-ubuntu-fc5-low-volume-issue-with-intel-hda-onboard-card/</guid>
      <description>categories:
Linux The bug is reported here :
https://launchpad.net/distros/ubuntu/edgy/+source/alsa-driver/+bug/47755
My onboard card was recognized as &amp;ldquo;Generic 14f1 ID 5047&amp;rdquo;. root@portable:~# head -5 /proc/asound/card0/codec* Codec: Generic 14f1 ID 5047 Address: 0 Vendor Id: 0x14f15047 Subsystem Id: 0x1179ff31 Revision Id: 0x100000
The volume was low and distorted at 100 % with alsa-drivers 1.0.11
I followed this page http://www.alsa-project.org/alsa-doc/doc-php/template.php?company=Intel&amp;amp;card=ICH+southbridge+HD-audio+and+modem.&amp;amp;chip=ICH6%2C+ICH6M%2C+ICH7%2C+ESB2&amp;amp;module=hda-intel and upgraded manually to the alsa-drivers version 1.0.13
It fixed the issue.
The chip is now recognized as a &amp;ldquo;Conexant ID 5047&amp;rdquo; root@portable:/# head -5 /proc/asound/card0/codec* Codec: Conexant ID 5047 Address: 0 Vendor Id: 0x14f15047 Subsystem Id: 0x1179ff31 Revision Id: 0x100000</description>
    </item>
    
    
    
    <item>
      <title>ModSecurity 2 - Invalid command SecRuleEngine, perhaps mis-spelled or</title>
      <link>https://blog.wains.be/2006/2006-11-22-invalid-command-secruleengine-perhaps-mis-spelled-or-defined-by-a-module-not-included-in-the-server-configuration/</link>
      <pubDate>Wed, 22 Nov 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-11-22-invalid-command-secruleengine-perhaps-mis-spelled-or-defined-by-a-module-not-included-in-the-server-configuration/</guid>
      <description>defined by a module not included in the server configuration&#39;
categories:
Apache Linux Security If you try to install modsecurity2 on Apache without reading the docs, you may get this message :
&amp;ldquo;Invalid command &amp;lsquo;SecRuleEngine&amp;rsquo;, perhaps mis-spelled or defined by a module not included in the server configuration&amp;rdquo;
This is not a bug ! Just a RTFM alert ! :)
You should thoroughly follow the following procedure (as described here ) to get modsecurity running :</description>
    </item>
    
    
    
    <item>
      <title>Postfix chroot &#43; MySQL</title>
      <link>https://blog.wains.be/2006/2006-11-18-postfix-chroot-mysql/</link>
      <pubDate>Sat, 18 Nov 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-11-18-postfix-chroot-mysql/</guid>
      <description>categories:
Howto Linux Postfix Security SQL Scenario :
You run Postfix non-chrooted with a MySQL DB as backend.
The issue :
You can&amp;rsquo;t run Postfix chrooted because the MySQL sock is not located in the chroot area.
**The fix : **
Edit /etc/my.cnf and add this line under the [mysqld] section : bind-address = 127.0.0.1
Restart mysql
Make Postfix connect to MySQL using TCP instead of using sock
Change your SQL files from : user = username password = password dbname = database hosts = localhost query = SELECT alias FROM batabase WHERE id = &#39;%s&#39;</description>
    </item>
    
    
    
    <item>
      <title>Postfix chroot &#43; SASL authentication (saslauthd)</title>
      <link>https://blog.wains.be/2006/2006-11-18-postfix-chroot-sasl-authentication-saslauthd/</link>
      <pubDate>Sat, 18 Nov 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-11-18-postfix-chroot-sasl-authentication-saslauthd/</guid>
      <description>categories:
Howto Linux Postfix Security **Scenario : **
You run Postfix non-chrooted with SMTP auth though SASL authentication (using saslauthd)
The issue :
When chrooted, Postfix needs access to saslauthd sock file, which is not in the chroot area
The fix :
We consider Postfix chroot is under /var/spool/postfix
mkdir -p /var/spool/postfix/var/run mv /var/run/saslauthd /var/spool/postfix/var/run/ ln -s /var/spool/postfix/var/run/saslauthd /var/run
Configure Postfix to run chrooted (script available here : http://blog.wains.be/pub/postfix-chroot</description>
    </item>
    
    
    
    <item>
      <title>Postfix new MySQL syntax &gt; Postfix 2.2</title>
      <link>https://blog.wains.be/2006/2006-11-18-postfix-new-mysql-syntax-postfix-22/</link>
      <pubDate>Sat, 18 Nov 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-11-18-postfix-new-mysql-syntax-postfix-22/</guid>
      <description>categories:
Linux Postfix SQL I found out just yesterday that Postfix uses a new syntax for SQL lookups. It seems like my old syntax was still compatible with Postfix 2.2.8. I guess it will be backward compatible for a while.
For Postfix 2.2 and later : user = someone password = password dbname = database query = SELECT alias FROM alias_table WHERE alias=&#39;%s&#39;
For Postfix releases prior to 2.2 : user = someone password = password dbname = database select_field = alias table = alias_table where_field = alias</description>
    </item>
    
    
    
    <item>
      <title>Windows Server - dont ever change your admin password !</title>
      <link>https://blog.wains.be/2006/2006-11-17-windows-server-dont-ever-change-your-admin-password/</link>
      <pubDate>Fri, 17 Nov 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-11-17-windows-server-dont-ever-change-your-admin-password/</guid>
      <description>categories:
Windows I guess when you pick up an administrator password on a windows server machine, you&amp;rsquo;ve got to stick with it until the end of the world.
For security reasons, I changed the administrator password. It is like 16 character long now.
After rebooting the machine :
MS SQL was not starting It had been set up in NT services to start from the administrator account (don&amp;rsquo;t ask, I didn&amp;rsquo;t set it up that way, a company did).</description>
    </item>
    
    
    
    <item>
      <title>Logwatch 7 under CentOS/RHEL</title>
      <link>https://blog.wains.be/2006/2006-11-16-logwatch-7-under-centosrhel/</link>
      <pubDate>Thu, 16 Nov 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-11-16-logwatch-7-under-centosrhel/</guid>
      <description>categories:
Linux Security I had the regular logwatch 5.2.2 running on my CentOS 3 box. For some legal reason, I keep 52 weeks worth of logs.
Logwatch started behaving weird lately.. parsing events being 1 year old, it was a random mess of yesterday&amp;rsquo;s events and last year logs.
I upgraded to Logwatch 7 (available at http://repo.securityteam.us/repository/)
It looks like it fixed the issue.</description>
    </item>
    
    
    
    <item>
      <title>CentOS/RHEL Postfix SMTP AUTH</title>
      <link>https://blog.wains.be/2006/2006-11-15-centosrhel-postfix-smtp-auth/</link>
      <pubDate>Wed, 15 Nov 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-11-15-centosrhel-postfix-smtp-auth/</guid>
      <description>**Thanks to Luca Gibelli for his document about Postfix SMTP AUTH.
It helped me a lot, this article is largely based on his work, I adapted it to match RHEL/CentOS systems.**
Scenario Your mail server hosts multiple domains.
You use a MySQL database as backend for user authentication.
Users authenticate to the POP3/IMAP server as:
username : username@example.org
password : test123
You want to allow them to authenticate with SMTP AUTH using the same credentials.</description>
    </item>
    
    
    
    <item>
      <title>Delete files above a certain size with xargs &#43; other find recipes</title>
      <link>https://blog.wains.be/2006/2006-11-14-delete-files-above-a-certain-size/</link>
      <pubDate>Tue, 14 Nov 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-11-14-delete-files-above-a-certain-size/</guid>
      <description>categories:
Bash Linux Delete files in the current directory above 500Kb find -size +500 | xargs rm
This may not work on files with spaces in their filename. Use the solution recommended in the comments.
Other recipes :
Change the permissions and set 750 on dirs and 0640 on files:
find -type d -exec chmod 0750 &#39;{}&#39; &#39;;&#39; find -type f -exec chmod 0640 &#39;{}&#39; &#39;;&#39;</description>
    </item>
    
    
    
    <item>
      <title>Run courier-imap 4 (couriertcpd) as non-root on CentOS/RHEL</title>
      <link>https://blog.wains.be/2006/2006-11-14-run-courier-imap-4-as-non-root-on-centosrhel/</link>
      <pubDate>Tue, 14 Nov 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-11-14-run-courier-imap-4-as-non-root-on-centosrhel/</guid>
      <description>categories:
Howto Linux Postfix Red Hat/CentOS What follows is an explanation on how I got courier-imap 4 running as non-root on my CentOS 3 system.
I run Postfix 2.2 with virtual domains/users and a mysql backend
Emails are stored here : drwxr-xr-x 5 postfix vmail 4.0K Nov 14 00:47 /var/spool/postfix/vmail/
Domain folders are stored under vmail and are owned by vmail.
Emails are delivered to maildir with user vmail.
The issue : courier-imap needs to run as user &amp;ldquo;vmail&amp;rdquo; to avoid permissions headaches.</description>
    </item>
    
    
    
    <item>
      <title>SpamAssassin - prefork- child states meaning</title>
      <link>https://blog.wains.be/2006/2006-11-14-spamassassin-prefork-child-states-meaning/</link>
      <pubDate>Tue, 14 Nov 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-11-14-spamassassin-prefork-child-states-meaning/</guid>
      <description>categories:
Linux I start SpamAssassin with 2 children and set the maximum children to 10
This is how I start SpamAssassin : spamd -d -u spamassassin --min-children=2 --max-children=10 -x -r /var/run/spamd.pid --socketowner=filter --socketgroup=filter --socketmode=664 --socketpath=/var/run/spamd.sock
spamd will send messages like this : spamd[16437]: prefork: child states: II
II means the two children are idle
There are several status : I : idle S : starting K : killed (you should not get that one I guess :)) B : busy</description>
    </item>
    
    
    
    <item>
      <title>Permission denied (publickey,keyboard-interactive) when trying to ssh from</title>
      <link>https://blog.wains.be/2006/2006-11-13-permission-denied-publickeykeyboard-interactive-when-trying-to-ssh-from-terminal-while-using-keychain/</link>
      <pubDate>Mon, 13 Nov 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-11-13-permission-denied-publickeykeyboard-interactive-when-trying-to-ssh-from-terminal-while-using-keychain/</guid>
      <description>terminal while using Keychain&#39;
categories:
Bash Linux Security SSH &amp;ldquo;Permission denied (publickey,keyboard-interactive)&amp;rdquo;
I&amp;rsquo;m not satisfied by SSH clients under Linux (like putty and the likes), the only ssh client I really enjoy is SecureCRT under Windows, it&amp;rsquo;s a great piece of software (okay it works with wine, I have tested it, but I want to stick withthe CLI under Linux).
SSH agent forwarding ?
With SecureCRT, I was able to ssh from machines to machines flawlessly&amp;hellip;</description>
    </item>
    
    
    
    <item>
      <title>Backup partition to another machine over the network (CentOS/RHEL)</title>
      <link>https://blog.wains.be/2006/2006-11-11-backup-partition-to-another-machine-over-the-network-centosrhel/</link>
      <pubDate>Sat, 11 Nov 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-11-11-backup-partition-to-another-machine-over-the-network-centosrhel/</guid>
      <description>categories:
Howto Linux Security SSH There are many ways to backup partitions between machines (CIFS, NFS, etc.)
I&amp;rsquo;ll describe what seems to be the easiest and quickest way, you don&amp;rsquo;t need to setup services like Samba or NFS here.
Machine A (source) : 192.168.0.1 /dev/hda1 / /dev/hda2 /home /dev/hda3 /tmp
Machine B (target) : 192.168.0.2
Tools needed : dd (diskdump), gzip, nc (netcat), pv (pipeview : optional)
To save your home partition, on the source machine type this : root@source# dd if=/dev/hda2 | gzip -9 | nc -l -p 9999</description>
    </item>
    
    
    
    <item>
      <title>Disable Gnome windows effects</title>
      <link>https://blog.wains.be/2006/2006-11-11-disable-gnome-windows-effects/</link>
      <pubDate>Sat, 11 Nov 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-11-11-disable-gnome-windows-effects/</guid>
      <description>categories:
Howto Linux From : http://www.g-loaded.eu/post/turning-off-window-animations-in-gnome/
In gconf-editor, turn this key on : /apps/metacity/general/reduced_resources
Thanks to the author for sharing, I never really bothered trying to disable effects but that&amp;rsquo;s good to know it&amp;rsquo;s possible :)</description>
    </item>
    
    
    
    <item>
      <title>Postfix - deliver emails to the same mailbox from several virtual domains</title>
      <link>https://blog.wains.be/2006/2006-11-10-postfix-deliver-emails-to-the-same-accounts-on-several-virtual-domains/</link>
      <pubDate>Fri, 10 Nov 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-11-10-postfix-deliver-emails-to-the-same-accounts-on-several-virtual-domains/</guid>
      <description>categories:
Howto Linux Postfix Let&amp;rsquo;s say you own several domains :
**Your default domain : **my-domain.be
The domain you registered to protect your trademark, copyright, brand, etc :
mydomain.be my_domain.be Let&amp;rsquo;s say all these domains point to the same MX server.
We assume your original email addresses are user.name@my-domain.be
What if people try to send to user.name@my_domain.be ?
What follows is how to setup Postfix to automatically redirect emails to the original domain without headache (no need to setup redirecting aliases on the parked domains).</description>
    </item>
    
    
    
    <item>
      <title>Subversion - svn&#43;ssh-// - No repository found</title>
      <link>https://blog.wains.be/2006/2006-11-08-subversion-svnssh-no-repository-found-2/</link>
      <pubDate>Wed, 08 Nov 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-11-08-subversion-svnssh-no-repository-found-2/</guid>
      <description>categories:
Linux Versioning You can use &amp;ldquo;svn checkout svn://hostname.tld/project/&amp;rdquo; but you can&amp;rsquo;t check out your projects using svn+ssh:// ?
Let&amp;rsquo;s clear things, svn+ssh:// doesn&amp;rsquo;t require svnserve to run on the server as a daemon or through (x)inetd to work.
svn+ssh:// is only doing some kind of scp connection to the server. That&amp;rsquo;s why you need to USE ABSOLUTE PATH WHEN USING svn+ssh
Usage :
svn only svn checkout svn://hostname.tld/project/
svn+ssh svn checkout svn+ssh://hostname.</description>
    </item>
    
    
    
    <item>
      <title>Subversion - svnserve over xinetd</title>
      <link>https://blog.wains.be/2006/2006-11-08-subversion-svnserve-over-xinetd/</link>
      <pubDate>Wed, 08 Nov 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-11-08-subversion-svnserve-over-xinetd/</guid>
      <description>categories:
Howto Linux Security Versioning If you want to run svnserve through xinetd (documentation still refers to inetd) :
Create file /etc/xinetd.d/svnserve : # default: on service svnserve { socket_type = stream protocol = tcp user = root wait = no disable = no server = /usr/bin/svnserve server_args = -i -r /path/to/svn/projects port = 3690 }
/path/to/svn/projects is the repository you want to share, if you don&amp;rsquo;t use -r, you&amp;rsquo;d need to specify the full path to the svn repository, which should be avoided.</description>
    </item>
    
    
    
    <item>
      <title>Nicer radio and check boxes for Firefox 2 under Ubuntu Linux 6.10 (edgy)</title>
      <link>https://blog.wains.be/2006/2006-11-04-nicer-radio-and-check-boxes-for-firefox-2-under-ubuntu-linux-610-edgy/</link>
      <pubDate>Sat, 04 Nov 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-11-04-nicer-radio-and-check-boxes-for-firefox-2-under-ubuntu-linux-610-edgy/</guid>
      <description>categories:
Firefox Howto Linux While I run Beryl and XGL and have an eye candy desktop, I found the radio and check boxes to be very ugly under Firefox&amp;hellip;
I packaged all you need to get nicer boxes&amp;hellip;
Before : After : Download the package : http://blog.wains.be/pub/firefox-widgets.tar.gz
Installation instructions can be found in the package
A better package is available at : http://ubuntudaily.com/post/how-to-prettify-the-firefox-widgets/</description>
    </item>
    
    
    
    <item>
      <title>Ubuntu - The NetworkManager applet could not find some required resources.</title>
      <link>https://blog.wains.be/2006/2006-10-27-ubuntu-the-networkmanager-applet-could-not-find-some-required-resources-it-cannot-continue/</link>
      <pubDate>Fri, 27 Oct 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-10-27-ubuntu-the-networkmanager-applet-could-not-find-some-required-resources-it-cannot-continue/</guid>
      <description>It cannot continue.&#39;
categories:
Howto Linux The NetworkManager applet could not find some required resources. It cannot continue.
To fix the issue, you just need to type the following line at the terminal and reboot :
sudo gtk-update-icon-cache -f /usr/share/icons/hicolor
What is gtk-update-icon-cache :
DESCRIPTION gtk-update-icon-cache creates mmap()able cache files for icon themes. . It expects to be given the path to a icon theme directory containing an index.theme, e.g. /usr/share/icons/hicolor, and writes a icon-theme.</description>
    </item>
    
    
    
    <item>
      <title>BIND - undefined symbol- dns_resolver_setudpsize</title>
      <link>https://blog.wains.be/2006/2006-10-22-bind-undefined-symbol-dns_resolver_setudpsize/</link>
      <pubDate>Sun, 22 Oct 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-10-22-bind-undefined-symbol-dns_resolver_setudpsize/</guid>
      <description>categories:
DNS Linux If you get this error message under RHEL/CentOS when trying to start Named
&amp;ldquo;undefined symbol: dns_resolver_setudpsize&amp;rdquo;
&amp;ldquo;yum install bind-libs&amp;rdquo; should fix the problem</description>
    </item>
    
    
    
    <item>
      <title>Tool of the day - iptstate</title>
      <link>https://blog.wains.be/2006/2006-10-19-tool-of-the-day-iptstate/</link>
      <pubDate>Thu, 19 Oct 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-10-19-tool-of-the-day-iptstate/</guid>
      <description>categories:
Linux Security Tools iptstate provides live iptables monitoring
iptstates shows all iptables activity in a top-style display:
IPTables - State Top Version: 1.3 Sort: SrcIP s to change sorting Source Destination Proto State TTL 192.168.1.1,3834 193.40.133.134,123 udp 0:00:28 192.168.1.1,3822 216.58.31.84,123 udp 0:02:53 192.168.1.1,3828 216.52.237.153,123 udp 0:02:47 192.168.1.10,43496 192.168.1.26,22 tcp ESTABLISHED 119:59:59 192.168.1.11,57252 71.87.212.168,8080 tcp ESTABLISHED 29:43:53 192.168.1.25,57505 209.40.99.8,80 tcp ESTABLISHED 3:48:32
iptstate has a number of useful commands, such as setting the refresh interval, sorting by different columns values, resolving domain names, and a number of interactive commands to use while it&amp;rsquo;s running.</description>
    </item>
    
    
    
    <item>
      <title>A simple TCP proxy using rinetd</title>
      <link>https://blog.wains.be/2006/2006-10-18-a-simple-tcp-proxy-using-rinetd/</link>
      <pubDate>Wed, 18 Oct 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-10-18-a-simple-tcp-proxy-using-rinetd/</guid>
      <description>categories:
Howto Linux Security Rinetd redirects TCP connections from one IP address and port to another. rinetd is a single-process server which handles any number of connections to the address/port pairs specified in the file /etc/rinetd.conf. Since rinetd runs as a single process using nonblocking I/O, it is able to redirect a large number of connections without a severe impact on the machine. This makes it practical to run TCP services on machines inside an IP masquerading firewall.</description>
    </item>
    
    
    
    <item>
      <title>Apache Benchmark</title>
      <link>https://blog.wains.be/2006/2006-10-18-apache-benchmark/</link>
      <pubDate>Wed, 18 Oct 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-10-18-apache-benchmark/</guid>
      <description>categories:
Apache Linux ab is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server. It is designed to give you an impression of how your current Apache installation performs. This especially shows you how many requests per second your Apache installation is capable of serving.
Included into httpd package under CentOS
http://httpd.apache.org/docs/2.0/programs/ab.html</description>
    </item>
    
    
    
    <item>
      <title>Simple Linux load balancing behind one public IP</title>
      <link>https://blog.wains.be/2006/2006-10-18-simple-load-balancing-behind-one-public-ip/</link>
      <pubDate>Wed, 18 Oct 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-10-18-simple-load-balancing-behind-one-public-ip/</guid>
      <description>categories:
Linux Security Balance would help you setting up a SIMPLE load balanced cluster. It will balance equally between nodes, which could still lead to troubles, if one machine is much slower/busier than the other. It only manages 16 connections per nodes and 16 nodes. If you want something more powerful, take a look at IPVSADM
http://www.inlab.de/balance.html http://dag.wieers.com/packages/balance/
Example :
Machine A : Director / Load Balancer
IP : 10.1.20.254</description>
    </item>
    
    
    
    <item>
      <title>Tool of the day - watch</title>
      <link>https://blog.wains.be/2006/2006-10-18-tool-of-the-day-watch/</link>
      <pubDate>Wed, 18 Oct 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-10-18-tool-of-the-day-watch/</guid>
      <description>categories:
Linux Tools watch - execute a program periodically, showing output fullscreen
DESCRIPTION watch runs command repeatedly, displaying its output (the first screenfull). This allows you to watch the program output change over time. By default, the program is run every 2 seconds; use -n or &amp;ndash;interval to specify a different interval.
The -d or --differences flag will highlight the differences between successive updates. The --cumulative option makes highlighting &amp;quot;sticky&amp;quot;, presenting a running display of all positions that have ever changed.</description>
    </item>
    
    
    
    <item>
      <title>BackTrack on USB drive</title>
      <link>https://blog.wains.be/2006/2006-10-16-backtrackwhax-on-usb-drive/</link>
      <pubDate>Mon, 16 Oct 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-10-16-backtrackwhax-on-usb-drive/</guid>
      <description>categories:
Howto Linux Security First of, I&amp;rsquo;d like to thank Dries who kept me updated on this issue.
Indeed, back in the BackTrack beta days, you were able to install BT on your USB drive using a tool called MySLAXCreator (http://myslax.bonsonno.org).
When BT Final was released, it was no longer possible to use MySLAXCreator to install it on the USB drive.
The whole process is described by Dries in the comments, but I&amp;rsquo;m gonna try to make it clearer here.</description>
    </item>
    
    
    
    <item>
      <title>Tool of the day, an image sniffer - driftnet</title>
      <link>https://blog.wains.be/2006/2006-10-10-tool-of-the-day-an-image-sniffer-driftnet/</link>
      <pubDate>Tue, 10 Oct 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-10-10-tool-of-the-day-an-image-sniffer-driftnet/</guid>
      <description>categories:
Security Tools http://www.ex-parrot.com/~chris/driftnet/
Inspired by EtherPEG (though, not owning an Apple Macintosh, I&amp;rsquo;ve never actually seen it in operation), Driftnet is a program which listens to network traffic and picks out images from TCP streams it observes. Fun to run on a host which sees lots of web traffic.
Do not abuse, this is for educational purpose only !</description>
    </item>
    
    
    
    <item>
      <title>tcp_wrappers ACL for your SSH server</title>
      <link>https://blog.wains.be/2006/2006-10-09-tcp_wrappers-acl-for-your-ssh-server/</link>
      <pubDate>Mon, 09 Oct 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-10-09-tcp_wrappers-acl-for-your-ssh-server/</guid>
      <description>categories:
Howto Linux Security SSH Among the many protections you can set to restrict connections to your server, there&amp;rsquo;s tcp_wrappers that turns out to be pretty useful.
Edit /etc/hosts.sshd Put into this file all the IP&amp;rsquo;s, hostnames (avoid this as much as possible) or ranges allowed to ssh into the machine
E.g : 192.168.1.1 10.0.0. 66.77. *.somedomain.be
Edit /etc/hosts.allow
Add this line at the beginning : sshd: /etc/hosts.sshd
Add this line at the end : ALL : ALL : spawn (/usr/sbin/safe_finger -l @%h | /bin/mail -s &amp;ldquo;Port Denial - daemon %d hostname %h IP %a&amp;rdquo; root; /bin/echo %a &amp;raquo; /var/log/port.</description>
    </item>
    
    
    
    <item>
      <title>A simple OpenVPN tunnel to your RHEL/CentOS server</title>
      <link>https://blog.wains.be/2006/2006-10-08-simple-vpn-tunnel-using-openvpn/</link>
      <pubDate>Sun, 08 Oct 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-10-08-simple-vpn-tunnel-using-openvpn/</guid>
      <description>categories:
Howto Linux Security VPN I&amp;rsquo;ll explain how I used a static key configuration to get a simple VPN tunnel to connect to my samba share at home from work.
OpenVPN GUI for Windows : Download at http://openvpn.se/download.html
I don&amp;rsquo;t know any good GUI for Linux, I simply use the CLI (install the package openvpn for your distribution)
OpenVPN 2 Server : Grab the latest version for your distribution at http://dag.</description>
    </item>
    
    
    
    <item>
      <title>Search in bash history</title>
      <link>https://blog.wains.be/2006/2006-10-08-search-in-bash-history/</link>
      <pubDate>Sun, 08 Oct 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-10-08-search-in-bash-history/</guid>
      <description>categories:
Bash Howto Linux You typed a long command earlier and don&amp;rsquo;t want to bother retyping it ?
At the prompt, press Ctrl + r You&amp;rsquo;ll be in &amp;ldquo;reverse-search-history&amp;rdquo; mode.
Type the beginning of the command, and type Ctrl + r again to browse through the history.
Sometimes I&amp;rsquo;m starting typing a command and realize I must already have that command in history. I can&amp;rsquo;t use Ctrl + r in the middle of the command and expect reverse-search-history to work.</description>
    </item>
    
    
    
    <item>
      <title>DNS resolver order</title>
      <link>https://blog.wains.be/2006/2006-10-07-dns-resolver-order/</link>
      <pubDate>Sat, 07 Oct 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-10-07-dns-resolver-order/</guid>
      <description>categories:
Linux You should edit /etc/host.conf
Edit the line &amp;ldquo;order&amp;rdquo;
order hosts,bind : will query your hosts file first, then bind order bind,hosts : will query bind, and if no result is found, query your hosts file order bind : will only query bind, pay attention to maintain localhost and 127.0.0 zones ! If not, this would lead to many troubles with many services</description>
    </item>
    
    
    
    <item>
      <title>Prohibit direct linking to your site</title>
      <link>https://blog.wains.be/2006/2006-10-05-prohibit-direct-linking-from-your-site/</link>
      <pubDate>Thu, 05 Oct 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-10-05-prohibit-direct-linking-from-your-site/</guid>
      <description>categories:
Apache Howto Linux Security Sick of people direct linking ( http://en.wikipedia.org/wiki/Direct_linking ) images from your site ?
Use this under an .htaccess file or your apache configuration (modrewrite needed)
This one would display the image owner.jpg : RewriteEngine On RewriteCond %{HTTP_REFERER} ^.*myspace.com.*$ [NC] RewriteRule .*.(gif|jpg|jpeg|swf|png)$ http://www.site.be/images/owner.jpg [NC]
This one would block direct linking, at all : RewriteEngine On RewriteCond %{HTTP_REFERER} ^.*myspace.com.*$ [NC] ReWriteRule .*.(gif|png|jpg|jpeg|swf)$ - [F]</description>
    </item>
    
    
    
    <item>
      <title>Enabling remote desktop under Linux (XDMCP)</title>
      <link>https://blog.wains.be/2006/2006-10-03-enabling-remote-desktop-under-linux-xdmcp/</link>
      <pubDate>Tue, 03 Oct 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-10-03-enabling-remote-desktop-under-linux-xdmcp/</guid>
      <description>categories:
Howto Linux Under CentOS 4,
edit /etc/X11/gdm/gdm.conf
Search for the section [XDMCP] Change the line &amp;ldquo;Enable=false&amp;rdquo; to &amp;ldquo;Enable=true&amp;rdquo;
Restart X
You should now be able to remotely connect using X-Win32 or such
You may need to configure iptables to allow connections : iptables -A INPUT -p udp -m udp --dport 177 -j ACCEPT iptables -A OUTPUT -p udp -m udp -m state --state RELATED,ESTABLISHED -j ACCEPT
Pay close attention to the security risks, don&amp;rsquo;t open it wide to the internet</description>
    </item>
    
    
    
    <item>
      <title>Truecrypt on Ubuntu 6.06 kernel 2.6.15</title>
      <link>https://blog.wains.be/2006/2006-10-02-truecrypt-on-ubuntu-606-kernel-2615/</link>
      <pubDate>Mon, 02 Oct 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-10-02-truecrypt-on-ubuntu-606-kernel-2615/</guid>
      <description>categories:
Howto Linux Security You&amp;rsquo;re done !</description>
    </item>
    
    
    
    <item>
      <title>Ubuntu 6.06 (dapper) on my Toshiba L100-181</title>
      <link>https://blog.wains.be/2006/2006-09-30-ubuntu-606-dapper-on-my-toshiba-l100-181/</link>
      <pubDate>Sat, 30 Sep 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-09-30-ubuntu-606-dapper-on-my-toshiba-l100-181/</guid>
      <description>categories:
Linux Red Hat/CentOS I really needed VMware Workstation (VMW) to work on my laptop. Basically, that would be my main activity on the laptop, the underlying OS would only help in surfing the web, checking my mails and SSH&amp;rsquo;ing into servers.
I tried hard to run VMW under Fedora Core 5 but always failed with kernel issues. (see http://blog.wains.be/?p=122) I had read VMW was supporting Ubuntu 6.06 which I installed.</description>
    </item>
    
    
    
    <item>
      <title>Useful tool of the day</title>
      <link>https://blog.wains.be/2006/2006-09-30-useful-tool-of-the-day/</link>
      <pubDate>Sat, 30 Sep 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-09-30-useful-tool-of-the-day/</guid>
      <description>categories:
Linux Security Tools http://www.gentoo.org/proj/en/keychain/
keychain script makes handling RSA and DSA keys both convenient and secure. It acts as a front-end to ssh-agent, allowing you to easily have one long-running ssh-agent process per system, rather than per login session&amp;hellip;</description>
    </item>
    
    
    
    <item>
      <title>Linksys WAP54G v2 &#43; firmware HyperWAP v3.04 = WPA2</title>
      <link>https://blog.wains.be/2006/2006-09-28-linksys-wap54g-v2-firmware-hyperwap-v304-wpa2/</link>
      <pubDate>Thu, 28 Sep 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-09-28-linksys-wap54g-v2-firmware-hyperwap-v304-wpa2/</guid>
      <description>categories:
Hardware I used to run my Linksys WPA54G v2 AP with the HyperWAP 1.0 firmware (it original came with a v2.08 firmware) It was allowing me to decrease the signal so no one could catch my signal across the street. HyperWAP 1.0 was based on Linksys 2.07 firmware which is quite old.
Linksys released a 3.04 firmware a while ago. Some people released an HyperWAP based on this firmware, adding the few options HyperWAP was already giving and WPA2 security.</description>
    </item>
    
    
    
    <item>
      <title>Minimum Password Length on Linux accounts</title>
      <link>https://blog.wains.be/2006/2006-09-28-minimum-password-length-on-linux-accounts/</link>
      <pubDate>Thu, 28 Sep 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-09-28-minimum-password-length-on-linux-accounts/</guid>
      <description>categories:
Howto Linux Red Hat/CentOS By default, the minimum password length under CentOS is set to 6 characters.
Edit /etc/login.defs
Set PASS_MIN_LEN to whatever length you want</description>
    </item>
    
    
    
    <item>
      <title>VMware Server/Workstation/Player under Ubuntu 6.06 (Dapper)</title>
      <link>https://blog.wains.be/2006/2006-09-26-vmware-serverworkstationplayer-under-ubuntu-606-dapper/</link>
      <pubDate>Tue, 26 Sep 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-09-26-vmware-serverworkstationplayer-under-ubuntu-606-dapper/</guid>
      <description>categories:
Linux I got VMware Workstation running quite easily under Ubuntu 6.06 :
sudo apt-get install linux-headers-uname -r build-essential xinetd
unzip the VMW source
cd vmware-distrib
sudo ./vmware-install.pl and follow the steps
Download http://ftp.cvut.cz/vmware/vmware-any-any-update104.tar.gz
Unzip and execute runme.pl
Execute ./vmware-config.pl and follow the configuration steps
You should be able to run /usr/bin/vmware</description>
    </item>
    
    
    
    <item>
      <title>Disabling USB under Windows</title>
      <link>https://blog.wains.be/2006/2006-09-23-disabling-usb-under-windows/</link>
      <pubDate>Sat, 23 Sep 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-09-23-disabling-usb-under-windows/</guid>
      <description>categories:
Windows Use the registry files below to disable or enable USB under Windows :
Disable USB : http://blog.wains.be/pub/disable_USB.reg Enable USB : http://blog.wains.be/pub/enable_USB.reg</description>
    </item>
    
    
    
    <item>
      <title>VMware on Fedora Core 5</title>
      <link>https://blog.wains.be/2006/2006-09-21-vmware-on-fedora-core-5/</link>
      <pubDate>Thu, 21 Sep 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-09-21-vmware-on-fedora-core-5/</guid>
      <description>categories:
Linux Source : http://tredosoft.com/node/9
I wasn&amp;rsquo;t able to get VMware Workstation working under FC5 using the following guide. It was painless to get it working under Ubuntu 6.06, see here : http://blog.wains.be/?p=129
We want to install VMWare&amp;rsquo;s free VMWare Player 1.0.1 build 19317 on Fedora Core 5. As far as I can tell this guide works with other VMWare products as well (eg. VMware Workstation/ ESX / GSX / Server etc.</description>
    </item>
    
    
    
    <item>
      <title>OpenLDAP log</title>
      <link>https://blog.wains.be/2006/2006-09-18-openldap-log/</link>
      <pubDate>Mon, 18 Sep 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-09-18-openldap-log/</guid>
      <description>categories:
LDAP Linux OpenLDAP logs via syslogd LOCAL4 so to stream the log you will need to add a line like this to syslog.conf (normally /etc/syslog.conf):
local4.* /var/log/ldap.log
The above command will log all levels of local4 (OpenLDAP) output to the defined file. In many systems you need to create an empty log file before logging will be visible.
The OpenLDAP logging level is set using the following command:
loglevel number</description>
    </item>
    
    
    
    <item>
      <title>openldap not listening on port 389</title>
      <link>https://blog.wains.be/2006/2006-09-18-openldap-not-listening-on-port-389/</link>
      <pubDate>Mon, 18 Sep 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-09-18-openldap-not-listening-on-port-389/</guid>
      <description>categories:
LDAP Linux For some reason openldap stopped running and listening on port 389 after our server had a problem&amp;hellip;
The database files (BDB type) were actually corrupted&amp;hellip;
This is how to fix the issue and recover the DB :
install db4-utils (under Red Hat) cd /var/lib/ldap (or whatever directory in which the DB files are located) /etc/init.d/ldap stop run /usr/sbin/slapd_db_recover in the directory /etc/init.d/ldap start The server was up again after fixing the DB</description>
    </item>
    
    
    
    <item>
      <title>My new Toshiba Satellite L100-181</title>
      <link>https://blog.wains.be/2006/2006-08-17-my-new-toshiba-satellite-l100-181/</link>
      <pubDate>Thu, 17 Aug 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-08-17-my-new-toshiba-satellite-l100-181/</guid>
      <description>categories:
Hardware This is my new laptop
[
I can&amp;rsquo;t swear it is fully Linux compatible, I haven&amp;rsquo;t tested the modem yet. EDIT 24 jan 07 : Sound issue was fixed by installing the latest alsa drivers manually (I currently am under Ubunbu 6.10)
Specifications : Intel Core Duo T2300 @ 1.66 Ghz 512 MB DDR2 533 Mhz 60 Gb HDD Fujitsu 5400 RPM SATA DVD+-RW 15&amp;quot; XGA 1024x768 56K Modem / LAN Wireless Intel IPW3945 abg (WPA2 working under Ubuntu 6.</description>
    </item>
    
    
    
    <item>
      <title>Nautilus shortcut for root under users session</title>
      <link>https://blog.wains.be/2006/2006-08-15-nautilus-shortcut-for-root-under-users-session/</link>
      <pubDate>Tue, 15 Aug 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-08-15-nautilus-shortcut-for-root-under-users-session/</guid>
      <description>categories:
Linux As root, create a file called &amp;ldquo;Nautilus-root.desktop&amp;rdquo; into /usr/share/applications
[Desktop Entry] Name=File Browser (Root) Comment=Browse the filesystem with the file manager TryExec=nautilus Exec=sudo nautilus --no-desktop --browser %U Icon=file-manager Terminal=false StartupNotify=true Type=Application Categories=GNOME;Application;System;Utility;Core;X-Red-Hat-Base; OnlyShowIn=GNOME; X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=nautilus X-GNOME-Bugzilla-Component=general X-Desktop-File-Install-Version=0.10
When done, killall gnome-panel
After gnome is done restarting, you&amp;rsquo;ll notice a new shortcut under Applications &amp;gt; System tools
Users need to be in the sudoers to be able to execute the file browser&amp;hellip; Howto : http://blog.</description>
    </item>
    
    
    
    <item>
      <title>Disable CPU Frequency Scaling</title>
      <link>https://blog.wains.be/2006/2006-08-14-disable-cpu-frequency-scaling/</link>
      <pubDate>Mon, 14 Aug 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-08-14-disable-cpu-frequency-scaling/</guid>
      <description>categories:
Linux Tested under Fedora Core 5 and an Intel Core Duo T2300
If you want your CPU to run at full speed (eg : while on power) :
service cpuspeed stop</description>
    </item>
    
    
    
    <item>
      <title>mount- unknown filesystem type smbfs</title>
      <link>https://blog.wains.be/2006/2006-08-12-mount-unknown-filesystem-type-smbfs/</link>
      <pubDate>Sat, 12 Aug 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-08-12-mount-unknown-filesystem-type-smbfs/</guid>
      <description>categories:
Linux While trying to mount a samba share under Fedora Core 5, I got this message : &amp;ldquo;mount: unknown filesystem type &amp;lsquo;smbfs&amp;rsquo;&amp;rdquo;
The command I was trying was &amp;ldquo;mount -t smbfs -o username=user //server/share /mnt/dir&amp;rdquo;
&amp;ldquo;smbfs&amp;rdquo; has been replaced by &amp;ldquo;cifs&amp;rdquo;
Now, you need to use : &amp;ldquo;mount -t cifs -o username=user //server/share /mnt/dir&amp;rdquo;</description>
    </item>
    
    
    
    <item>
      <title>sudo under Red Hat based systems</title>
      <link>https://blog.wains.be/2006/2006-08-11-sudo-under-redhat/</link>
      <pubDate>Fri, 11 Aug 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-08-11-sudo-under-redhat/</guid>
      <description>categories:
Linux This will allow users in the wheel group to use sudo without being prompted for the root password :
Edit /etc/sudoers Uncomment the line %WHEEL ALL=(ALL) NOPASSWD: ALL
Add a user to the wheel group # gpasswd -a johndoe wheel
where johndoe is the user</description>
    </item>
    
    
    
    <item>
      <title>Tool of the day - truecrypt</title>
      <link>https://blog.wains.be/2006/2006-08-11-tool-of-the-day-truecrypt/</link>
      <pubDate>Fri, 11 Aug 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-08-11-tool-of-the-day-truecrypt/</guid>
      <description>categories:
Linux Security Tools Windows http://www.truecrypt.org/
Free open-source disk encryption software for Windows XP/2000/2003 and Linux Main Features:
* Creates a virtual encrypted disk within a file and mounts it as a real disk. * Encrypts an entire hard disk partition or a device. * Encryption is automatic, real-time (on-the-fly) and transparent. * Provides two levels of plausible deniability, in case an adversary forces you to reveal the password: 1) Hidden volume (steganography – more information may be found here).</description>
    </item>
    
    
    
    <item>
      <title>Windows not booting with a nForce4 mainboard - Native Command Queuing (NCQ)</title>
      <link>https://blog.wains.be/2006/2006-08-11-windows-not-booting-with-a-nforce4-mainboard-native-command-queuing-ncq/</link>
      <pubDate>Fri, 11 Aug 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-08-11-windows-not-booting-with-a-nforce4-mainboard-native-command-queuing-ncq/</guid>
      <description>categories:
Windows I had a computer for repair lately. After several attempt to install Windows XP, it was always randomly hanging (1 out of 5 times, it would boot) while booting the system.
I had to disable Native Command Queuing (NCQ) to avoid the problem, the maxtor hard drive or the mainboard chipset wasn&amp;rsquo;t fully compatible with NCQ.
http://en.wikipedia.org/wiki/Native_command_queueing
Where to disable NCQ under Windows XP (under an admin account) : [</description>
    </item>
    
    
    
    <item>
      <title>Building truecrypt modules</title>
      <link>https://blog.wains.be/2006/2006-08-10-building-truecrypt-modules/</link>
      <pubDate>Thu, 10 Aug 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-08-10-building-truecrypt-modules/</guid>
      <description>categories:
Howto Linux You may need to rebuild the truecrypt module anytime there is a kernel update&amp;hellip;
yum install kernel(-smp)-devel wget http://download.fedora.redhat.com/pub/fedora/linux/core/updates/5/SRPMS/kernel-2.6.1(VERSION)_FC5.src.rpm Optional for SMP : Edit /usr/src/redhat/SPECS/kernel-2.6.spec %define buildsmp 1
rpmbuild -bp &amp;ndash;target=$(arch) kernel-2.6.spec (I use i686 as arch) when done : cd BUILD/kernel-2.6.xx/linux-2.6.xx cp configs/kernel-2.6.xx-$(arch)-(smp).config .config This is a list of available config files : [root@localhost configs]# ll total 544 -rw-r--r-- 1 root root 61336 Aug 14 20:45 kernel-2.</description>
    </item>
    
    
    
    <item>
      <title>Apache Order Directive</title>
      <link>https://blog.wains.be/2006/2006-08-06-apache-order-directive/</link>
      <pubDate>Sun, 06 Aug 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-08-06-apache-order-directive/</guid>
      <description>categories:
Apache Howto Linux Lately, I had to work around the security of a particular host&amp;hellip; which lead me to the Apache docs&amp;hellip;
**Description:**	Controls the default access state and the order in which Allow and Deny are evaluated. **Default:**	Order Deny,Allow
The Order directive controls the default access state and the order in which Allow and Deny directives are evaluated. Ordering is one of
Deny,Allow The Deny directives are evaluated before the Allow directives.</description>
    </item>
    
    
    
    <item>
      <title>Share your bash session</title>
      <link>https://blog.wains.be/2006/2006-08-06-share-your-bash-session/</link>
      <pubDate>Sun, 06 Aug 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-08-06-share-your-bash-session/</guid>
      <description>categories:
Bash Howto Linux From a cool blog : Yannick&amp;rsquo;s blog
You may know &amp;ldquo;screen&amp;rdquo;, tool that can help you put your session on hold and and get back to it whenever you want. Described below is a way to share your session with someone&amp;hellip; this can come in handy while doing support or if you just want to share your session for some reason
You should follow the following steps carefully</description>
    </item>
    
    
    
    <item>
      <title>Useful tools of the day</title>
      <link>https://blog.wains.be/2006/2006-07-28-useful-tools-of-the-day/</link>
      <pubDate>Fri, 28 Jul 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-07-28-useful-tools-of-the-day/</guid>
      <description>categories:
Linux Tools screen : http://www.gnu.org/software/screen/
Screen is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells&amp;hellip;
**mod_security : **http://www.modsecurity.org/
ModSecurity is an open source intrusion detection and prevention engine for web applications (or a web application firewall)&amp;hellip;
mod_evasive : http://www.zdziarski.com/projects/mod_evasive/
mod_evasive is an evasive maneuvers module for Apache to provide evasive action in the event of an HTTP DoS or DDoS attack or brute force attack&amp;hellip;</description>
    </item>
    
    
    
    <item>
      <title>Installing Modsecurity</title>
      <link>https://blog.wains.be/2006/2006-07-27-installing-modsecurity/</link>
      <pubDate>Thu, 27 Jul 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-07-27-installing-modsecurity/</guid>
      <description>From http://michael-and-mary.net/?q=node/1261
Modsecurity is an open source web application firewall for the Apache server that helps to keep the malicious people at bay. To install Modsecurity, first install the package: httpd-devel (yum install httpd-devel) [as root]. Next, execute the following commands (as root) to install and configure Modsecurity:
cd /root
wget http://www.modsecurity.org/download/modsecurity-apache_1.9.4.tar.gz
tar -xvzf modsecurity-apache_1.9.4.tar.gz
cd modsecurity-apache_1.9.4/apache2/
/usr/sbin/apxs -cia mod_security.c
The last line of the compilation should read: activating module &amp;lsquo;security&amp;rsquo; in /etc/httpd/conf/httpd.</description>
    </item>
    
    
    
    <item>
      <title>Screen help</title>
      <link>https://blog.wains.be/2006/2006-07-26-screen-help/</link>
      <pubDate>Wed, 26 Jul 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-07-26-screen-help/</guid>
      <description>Based on http://www.rackaid.com/resources/tips/linux-screen.cfm
A good reminder :)
At the prompt, type &amp;ldquo;screen&amp;rdquo;, then&amp;hellip;
Ctrl + A ? : help Ctrl + A C : create a screen session Ctrl + A N : switch to the next session Ctrl + A P : switch to the previous session Ctrl + A K or exit : exit session Ctrl + A D : detach session screen -r session : re-attach to a detached session Ctrl + A M : look for activity within the screen session Ctrl + A _ : look for silence within the screen session Ctrl + A Esc : allows to scroll back in the buffer</description>
    </item>
    
    
    
    <item>
      <title>Introduction to SVN - importing a new project</title>
      <link>https://blog.wains.be/2006/2006-07-15-introduction-to-svn-importing-a-new-project/</link>
      <pubDate>Sat, 15 Jul 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-07-15-introduction-to-svn-importing-a-new-project/</guid>
      <description>This post is aimed to those (like me) who can easily forget the SVN syntax :
Create a new repository : $ svnadmin create --fs-type fsfs /home/user/svn
Suppose you have an existing project you wish to import in SVN : $ svn import /path/to/project/ file:///home/user/svn/project -m &#39;Initial import&#39;
Checking out your project : $ svn checkout file:///home/user/svn/project /home/user/dev/project
A version controlled copy of the project is now available under /home/user/dev/project/</description>
    </item>
    
    
    
    <item>
      <title>Windows annoyance - how do I check the date under Windows XP ?</title>
      <link>https://blog.wains.be/2006/2006-06-24-windows-annoyance-how-do-i-check-the-date-under-windows-xp/</link>
      <pubDate>Sat, 24 Jun 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-06-24-windows-annoyance-how-do-i-check-the-date-under-windows-xp/</guid>
      <description>For security reasons, I run my session as a limited user (Group &amp;ldquo;Users&amp;rdquo; under security settings). What if I want to check today&amp;rsquo;s date ? Double-click over the time in the lower right corner of the screen ? A window pops up saying I don&amp;rsquo;t have the rights needed to EDIT the system hour.. Hell, I just want to check today&amp;rsquo;s date buddy, not modify it !
If you are fortunate enough and leave your pointer over the hour for a few seconds, a tooltip window will appear (occurs about 1 out of 20 times for me)&amp;hellip; and if your are really fortunate, this tooltip would appear above the traybar, not under (never happened for me) !</description>
    </item>
    
    
    
    <item>
      <title>A Cups PDF color printer for your Windows clients</title>
      <link>https://blog.wains.be/2006/2006-06-22-cups-pdf-color-printer/</link>
      <pubDate>Thu, 22 Jun 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-06-22-cups-pdf-color-printer/</guid>
      <description>We suppose you already have a properly configured and running CUPS system.
Grab the RPM or SRPM from http://www.physik.uni-wuerzburg.de/~vrbehr/cups-pdf/
rpm -ihv cups-pdf-something.rpm (unless you want to go through the whole rebuild process which I won&amp;rsquo;t describe here)
service cups restart
You should see the new PDF printer under http://yourserver:631
Now let&amp;rsquo;s share the PDF printer for your Windows clients :
Edit /etc/samba/smb.conf and add this section
[printers] path = /some/path/to/spool browsable = yes guest ok = no writable = no valid users = +print_users printable = yes create mask = 0770</description>
    </item>
    
    
    
    <item>
      <title>Basic security rules under Windows</title>
      <link>https://blog.wains.be/2006/2006-06-16-basic-security-rules-under-windows/</link>
      <pubDate>Fri, 16 Jun 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-06-16-basic-security-rules-under-windows/</guid>
      <description>Run your session as a &amp;ldquo;user&amp;rdquo;, don&amp;rsquo;t ever run your session as &amp;ldquo;administrator&amp;rdquo; if you don&amp;rsquo;t need it Read your emails as plain text, HTML emails could contain bad code (and write as plain text as well, I cannot stress this more : emails were not designed for HTML !! Screw you with your incredimail and the like !!) Run a firewall and antivirus on your workstation Regularly try to download the test virus from eicar.</description>
    </item>
    
    
    
    <item>
      <title>Apache - remove footer signature</title>
      <link>https://blog.wains.be/2006/2006-06-15-apache-remove-footer-signature/</link>
      <pubDate>Thu, 15 Jun 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-06-15-apache-remove-footer-signature/</guid>
      <description>This will remove the signature added at the bottom of index pages :
/etc/httpd/conf/httpd.conf
ServerTokens Prod ServerSignature Off </description>
    </item>
    
    
    
    <item>
      <title>Enable IP forwarding under RHEL/CentOS</title>
      <link>https://blog.wains.be/2006/2006-06-06-enable-ip-forward-under-rhelcentos/</link>
      <pubDate>Tue, 06 Jun 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-06-06-enable-ip-forward-under-rhelcentos/</guid>
      <description>The regular way
Edit /etc/sysctl.conf
Edit the &amp;ldquo;net.ipv4.ip_forward&amp;rdquo; line and set it to 1
&amp;lt;code&amp;gt;# Kernel sysctl configuration file for Red Hat Linux # # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and # sysctl.conf(5) for more details. # Controls IP packet forwarding &amp;lt;strong&amp;gt;net.ipv4.ip_forward = 1&amp;lt;/strong&amp;gt; # Controls source route verification net.ipv4.conf.default.rp_filter = 1 # Do not accept source routing net.ipv4.conf.default.accept_source_route = 0 # Controls the System Request debugging functionality of the kernel kernel.</description>
    </item>
    
    
    
    <item>
      <title>CentOS 4.3 &#43; Postfix 2.2.9 &#43; TLS/SSL &#43; RBL blocking &#43; SpamAssassin 3.1.2 &#43; Amavisd-new &#43; SPF &#43; pop-before-smtp &#43; procmail &#43; vmail &#43; disclaimer</title>
      <link>https://blog.wains.be/2006/2006-06-04-centos-43-postfix-229-tlsssl-rbl-blocking-spamassassin-312-amavisd-new-pop-before-smtp-procmail-vmail-disclaimer/</link>
      <pubDate>Sun, 04 Jun 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-06-04-centos-43-postfix-229-tlsssl-rbl-blocking-spamassassin-312-amavisd-new-pop-before-smtp-procmail-vmail-disclaimer/</guid>
      <description>Edit 16 nov 2006 : please consider using SMTP AUTH instead of pop-before-smtp: https://blog.wains.be/2013/2013-11-14-outbound-postfix-with-sasl-authentication-against-ldap-dovecot/
This is not aimed to be a step by step guide.. This is just a review of my current config with some helpful notes, it is probably meant for already advanced postfix users seeking for tips and tricks.
WordPress may have reformated the code in some weird way.. don&amp;rsquo;t do massive copy paste and hope it works fine straight away, please review everything carefully !</description>
    </item>
    
    
    
    <item>
      <title>Postfix &#43; virtual users/domains- kill or forward spam under SpamAssassin using procmail</title>
      <link>https://blog.wains.be/2006/2006-06-04-postfix-virtual-users-and-domains-kill-spam-under-spamassassin-using-procmail/</link>
      <pubDate>Sun, 04 Jun 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-06-04-postfix-virtual-users-and-domains-kill-spam-under-spamassassin-using-procmail/</guid>
      <description>I needed to be able to kill spam reaching a certain score on my email gateway, which only delivers to virtual users and virtual domains&amp;hellip;
When delivering locally using the &amp;ldquo;local&amp;rdquo; delivery agent, you can easily use procmail by setting &amp;ldquo;mailbox_command = /usr/bin/procmail -whatever options&amp;rdquo;.. this option doesn&amp;rsquo;t work for the &amp;ldquo;virtual&amp;rdquo; delivery agent though.. I&amp;rsquo;ll explain below how to trigger procmail when using the virtual delivery agent :)
The following configuration does this : If an email reaches the inbound interface on the email gateway, the email will get piped through the &amp;ldquo;procmail-test&amp;rdquo; filter, which will run a procmail script.</description>
    </item>
    
    
    
    <item>
      <title>Simple OpenVPN setup</title>
      <link>https://blog.wains.be/2006/2006-05-24-simple-openvpn-setup/</link>
      <pubDate>Wed, 24 May 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-05-24-simple-openvpn-setup/</guid>
      <description>This will explain how to setup a simple OpenVPN tunnel between two computers (at a time). If someone attempts to connect while another person is already connected, that person will get bounced from the VPN tunnel..
On the server-side :
yum install openvpn
edit /etc/openvpn/server.conf
dev tun ifconfig 10.0.0.1 10.0.0.2 secret static.key port 1194 proto udp user nobody group nobody daemon comp-lzo keepalive 10 60 ping-timer-rem persist-tun persist-key log /var/log/openvpn.log verb 1 openvpn &amp;ndash;genkey &amp;ndash;secret /etc/openvpn/static.</description>
    </item>
    
    
    
    <item>
      <title>Postfix as the default MTA under CentOS</title>
      <link>https://blog.wains.be/2006/2006-05-23-postfix-as-the-default-mta-under-centos/</link>
      <pubDate>Tue, 23 May 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-05-23-postfix-as-the-default-mta-under-centos/</guid>
      <description>Make sure both sendmail and postfix packages are installed
Install &amp;ldquo;system-switch-mail&amp;rdquo; from the base repository
Run /usr/sbin/system-switch-mail
Set Postfix as the default MTA
You are done :)</description>
    </item>
    
    
    
    <item>
      <title>My installation of CentOS</title>
      <link>https://blog.wains.be/2006/2006-05-17-my-installation-of-centos/</link>
      <pubDate>Wed, 17 May 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-05-17-my-installation-of-centos/</guid>
      <description>Please pay attention this is my personal setup for a SERVER (running only CLI etc)
Edit /etc/sysconfig/network and add (disable zeroconf, allow routing) : NOZEROCONF=yes FORWARD_IPV4=yes
Disable ipv6 : echo &amp;quot;alias net-pf-10 off” &amp;gt;&amp;gt; /etc/modprobe.conf
&amp;ldquo;yum erase&amp;rdquo; these: acpid apmd anacron at atd bluez-bluefw bluez-hcidump bluez-libs bluez-utils cups dhclient dhcpv6_client dmraid eject finger hal htmlview irda-utils isdn4k-utils lftp mailx mgetty minicom ncurses NetworkManager nfs-utils openldap pcmcia-cs pinfo pm -e irda-utils portmap ppp procmail proftpd python-sqlite redhat-logos redhat-lsb redhat-menus rhnlib rp-pppoe rsh setools setserial setuptool sqlite system-config-securitylevel-tui up2date wireless-tools wvdial xinetd ypbind yp-tools</description>
    </item>
    
    
    
    <item>
      <title>Block MSN and other messengers on your network</title>
      <link>https://blog.wains.be/2006/2006-05-16-block-msn-and-other-messengers-on-your-network/</link>
      <pubDate>Tue, 16 May 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-05-16-block-msn-and-other-messengers-on-your-network/</guid>
      <description>1. Iptables
This is my iptables config stored under /etc/sysconfig/iptables : (eth0 = WAN interface, eth1 = LAN interface)
You&amp;rsquo;ll notice 192.168.1.16 is allowed to connect to any services
You&amp;rsquo;ll also notice that the default stance for output traffic is ACCEPT. You can of course set it to DROP and only accept what you specifically define.
&amp;lt;code&amp;gt;*filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] # Basic protections against syn floods and other stuff -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT # Block MSN -I FORWARD -s 192.</description>
    </item>
    
    
    
    <item>
      <title>Linux console screensaver</title>
      <link>https://blog.wains.be/2006/2006-05-11-linux-console-screensaver/</link>
      <pubDate>Thu, 11 May 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-05-11-linux-console-screensaver/</guid>
      <description>setterm -blank nn will tell the console driver to blank the screen after nn minutes of inactivity. (With nn = 0, screensaving is turned off.)
/usr/bin/setterm -blank 0</description>
    </item>
    
    
    
    <item>
      <title>Rebuilding failed Linux software RAID</title>
      <link>https://blog.wains.be/2006/2006-05-11-rebuilding-failed-linux-software-raid/</link>
      <pubDate>Thu, 11 May 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-05-11-rebuilding-failed-linux-software-raid/</guid>
      <description>This post will explain how I have rebuilt a software RAID array after a disk failure
I recently got a notification from the SMART daemon saying this:
&amp;lt;code&amp;gt;This email was generated by the smartd daemon running on: host name: gateway.domain.be DNS domain: domain.be NIS domain: (none) The following warning/error was logged by the smartd daemon: Device: /dev/hdd, 131 Currently unreadable (pending) sectors For details see host&#39;s SYSLOG (default: /var/log/messages). You can also use the smartctl utility for further investigation.</description>
    </item>
    
    
    
    <item>
      <title>Block viruses and protect yourself from spammers by blocking port 25 under Linux &#43; iptables </title>
      <link>https://blog.wains.be/2006/2006-05-10-block-forwarding-on-port-tcp-25-under-iptables/</link>
      <pubDate>Wed, 10 May 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-05-10-block-forwarding-on-port-tcp-25-under-iptables/</guid>
      <description>Just like ISP&amp;rsquo;s do!
Find out viruses on your network and prevent spammers from abusing your wireless network ! With simple iptables rulesets&amp;hellip;
OK, let&amp;rsquo;s calm down, this needs a bit of explanation before proceeding.
ISP&amp;rsquo;s usually block port 25 : Unlike many ISP&amp;rsquo;s, mine doesn&amp;rsquo;t ! They still allow customers to send emails directly through and to any SMTP servers (tcp/25).
The goal in blocking port 25 is to block viruses from spreading around by sending emails using their own SMTP daemon.</description>
    </item>
    
    
    
    <item>
      <title>Get useful info about your hard drive</title>
      <link>https://blog.wains.be/2006/2006-05-07-get-useful-info-about-your-hard-drive/</link>
      <pubDate>Sun, 07 May 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-05-07-get-useful-info-about-your-hard-drive/</guid>
      <description>(just because I&amp;rsquo;ll forget the command again, [that&amp;rsquo;s actually the whole point of this site :)] I needed to make a post about it :))
tune2fs -l /dev/XdXX
&amp;lt;code&amp;gt;[root@localhost](1199)# tune2fs -l /dev/hda1 tune2fs 1.35 (28-Feb-2004) Filesystem volume name: /boot Last mounted on: Filesystem UUID: 1ba17048-a79d-444d-a712-a9c90aa97a04 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr filetype needs_recovery sparse_super Default mount options: (none) Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 26104 Block count: 104391 Reserved block count: 5219 Free blocks: 88910 Free inodes: 26058 First block: 1 Block size: 1024 Fragment size: 1024 Blocks per group: 8192 Fragments per group: 8192 Inodes per group: 2008 Inode blocks per group: 251 Filesystem created: Fri Nov 26 20:09:34 2004 Last mount time: Sun May 7 10:56:40 2006 Last write time: Sun May 7 10:56:40 2006 Mount count: 428 Maximum mount count: -1 Last checked: Fri Nov 26 20:09:34 2004 Check interval: 0 () Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 128 Journal inode: 8 Default directory hash: tea Directory Hash Seed: 47a6d832-2794-4e6e-ac27-2e0d51ab1af0 Journal backup: inode blocks&amp;lt;/code&amp;gt; Another command will display even more information (superblocks, etc.</description>
    </item>
    
    
    
    <item>
      <title>Loading additional iptables modules under CentOS 4.x</title>
      <link>https://blog.wains.be/2006/2006-05-07-load-additional-iptables-modules-under-centos-4x/</link>
      <pubDate>Sun, 07 May 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-05-07-load-additional-iptables-modules-under-centos-4x/</guid>
      <description>If you need a recurrent iptables modules to be loaded (let&amp;rsquo;s say the conntracking modules for FTP connections) you can either :
issue &amp;ldquo;modprobe ip_conntrack_ftp&amp;rdquo; at the CLI everytime you need it add &amp;ldquo;modprobe ip_conntrack_ftp&amp;rdquo; under rc.local edit /etc/init.d/iptables and add &amp;ldquo;modprobe ip_conntrack&amp;rdquo; under the &amp;ldquo;start&amp;rdquo; argument or
the proper way : edit /etc/sysconfig/iptables-config IPTABLES_MODULES=&amp;quot;ip_conntrack_ftp&amp;quot;
Anytime you&amp;rsquo;ll start or restart iptables, the modules will be loaded :
&amp;lt;code&amp;gt;[root@localhost](1035)# service iptables condrestart Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: nat filter [ OK ] Unloading iptables modules: [ OK ] Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_ftp [ OK ]&amp;lt;/code&amp;gt; </description>
    </item>
    
    
    
    <item>
      <title>Basic iptables configuration</title>
      <link>https://blog.wains.be/2006/2006-05-03-basic-iptables-configuration/</link>
      <pubDate>Wed, 03 May 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-05-03-basic-iptables-configuration/</guid>
      <description>Published 2006-05-03 14:17:59
This is the most basic iptables configuration for a CentOS/RHEL gateway (eth0 = WAN, eth1 = LAN)
/etc/sysconfig/iptables
01. *filter 02. :INPUT DROP [0:0] 03. :FORWARD DROP [0:0] 04. :OUTPUT ACCEPT [0:0] 05. -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT 06. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 07. -A FORWARD -i eth1 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT 08. -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT 09.</description>
    </item>
    
    
    
    <item>
      <title>Issues with Iptables and frox (ftp transparent proxy)</title>
      <link>https://blog.wains.be/2006/2006-05-03-issues-with-iptables-and-frox-ftp-transparent-proxy/</link>
      <pubDate>Wed, 03 May 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-05-03-issues-with-iptables-and-frox-ftp-transparent-proxy/</guid>
      <description>If you set up a transparent ftp proxy using frox (as described here : http://blog.wains.be/?p=46) with iptables along on your linux gateway, you&amp;rsquo;ll probably stumble upon some issues&amp;hellip;
Let&amp;rsquo;s say you run frox on port 2121 and redirect any request made on port 21 to frox, you should use this kind of rule :
iptables -A PREROUTING -s 10.0.0.0/24 -p tcp -m tcp --dport 21 -j REDIRECT --to-ports 2121
You should first make sure you&amp;rsquo;ve set these rules for frox :</description>
    </item>
    
    
    
    <item>
      <title>Disable su for users</title>
      <link>https://blog.wains.be/2006/2006-04-12-disable-su-for-users/</link>
      <pubDate>Wed, 12 Apr 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-04-12-disable-su-for-users/</guid>
      <description>Uncomment the following line to only allow users in the &amp;ldquo;wheel&amp;rdquo; group to be able to su :
Edit /etc/pam.d/su :
# Uncomment the following line to require a user to be in the &amp;quot;wheel&amp;quot; group. auth required /lib/security/$ISA/pam_wheel.so use_uid</description>
    </item>
    
    
    
    <item>
      <title>Apache- force SSL using a rewrite rule</title>
      <link>https://blog.wains.be/2006/2006-04-04-apache-force-ssl-using-a-rewrite-rule/</link>
      <pubDate>Tue, 04 Apr 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-04-04-apache-force-ssl-using-a-rewrite-rule/</guid>
      <description>This rewrite rule will redirect the requests to https (SSL) :
RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R] The module mod_rewrite is needed.
Something like &amp;ldquo;LoadModule rewrite_module modules/mod_rewrite.so&amp;rdquo; in your apache config should enable it.</description>
    </item>
    
    
    
    <item>
      <title>CentOS 3.6 &#43; Postfix 2.2.9 &#43; TLS &#43; Virtual Users &#43; MySQL backend &#43; ...</title>
      <link>https://blog.wains.be/2006/2006-04-04-centos-36-postfix-229-tls-virtual-users-mysql-backend/</link>
      <pubDate>Tue, 04 Apr 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-04-04-centos-36-postfix-229-tls-virtual-users-mysql-backend/</guid>
      <description>This article will review my current configuration, this is an update to a previous article : CentOS + Postfix + virtual users + Squirrelmail + …
What I stopped using since the previous article :
vacation message because the script I was using had a few annoying bugs that I haven&amp;rsquo;t figured out yet. squirrelmail replaced by roundcube webmail (still beta !!), I don&amp;rsquo;t have many webmail users so I can afford using roundcube, which still has a lot of bugs.</description>
    </item>
    
    
    
    <item>
      <title>Postfix &#43; MySQL &#43; proxymap</title>
      <link>https://blog.wains.be/2006/2006-04-04-postfix-mysql-proxymap/</link>
      <pubDate>Tue, 04 Apr 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-04-04-postfix-mysql-proxymap/</guid>
      <description>I discovered I could improve Postfix performances when using MySQL as backend
According to http://spike.porcupine.org/test/html/proxymap.8.html :
To consolidate the number of open lookup tables by sharing one open table among multiple processes. For example, making mysql connections from every Postfix daemon process results in &amp;ldquo;too many connec- tions&amp;rdquo; errors.
**Edit /etc/postfix/main.cf : **
&amp;lt;code&amp;gt;# Allow proxy for the settings using MySQL proxy_read_maps = $virtual_alias_maps $virtual_mailbox_maps $transport_maps $virtual_uid_maps $virtual_gid_maps # add proxy: in front of any mysql: virtual_mailbox_base = /var/spool/postfix/vmail virtual_minimum_uid = 1000 virtual_mailbox_maps = proxy:mysql:/etc/postfix/vmailsql/vmailbox virtual_alias_maps = proxy:mysql:/etc/postfix/vmailsql/valias transport_maps = proxy:mysql:/etc/postfix/vmailsql/transport virtual_uid_maps = proxy:mysql:/etc/postfix/vmailsql/vuid virtual_gid_maps = proxy:mysql:/etc/postfix/vmailsql/vgid local_recipient_maps = $virtual_mailbox_maps&amp;lt;/code&amp;gt; </description>
    </item>
    
    
    
    <item>
      <title>Postfix &#43; SPF</title>
      <link>https://blog.wains.be/2006/2006-04-04-postfix-spf/</link>
      <pubDate>Tue, 04 Apr 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-04-04-postfix-spf/</guid>
      <description>Enable SPF if you believe you need it.. For your information, SPF is not widely used
You&amp;rsquo;ll need Mail::SPF::Query : `1. perl -MCPAN -e shell
Under CPAN : install Mail::SPF::Query Quit CPAN after installation of the library` Install libspf2-1.0.4 and libspf2-devel-1.0.4 from http://www.city-fan.org/ftp/contrib/libraries/
wget http://spf.pobox.com/postfix-policyd.txt -O /etc/postfix/spf-policy.pl
chmod 755 /etc/postfix/spf-policy.pl
Edit /etc/postfix/master.cf : spfpolicy unix - n n - - spawn user=nobody argv=/usr/bin/perl /etc/postfix/spf-policy.pl
Edit /etc/postfix/main.cf :
&amp;lt;code&amp;gt;check_policy_service unix:private/spfpolicy smtpd_recipient_restrictions = reject_unauth_destination reject_unknown_recipient_domain reject_unverified_recipient check_policy_service unix:private/spfpolicy&amp;lt;/code&amp;gt; service postfix restart</description>
    </item>
    
    
    
    <item>
      <title>Postfix &#43; TLS</title>
      <link>https://blog.wains.be/2006/2006-04-04-postfix-tls/</link>
      <pubDate>Tue, 04 Apr 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-04-04-postfix-tls/</guid>
      <description>This document describes how to install a mail server based on postfix that is capable of TLS. I tested it on CentOS 3.6 and 4.2.
I&amp;rsquo;m not sure which packages are actually needed for Postfix using TLS.. these are the ones installed on my system : [root@server](1013)# rpm -qa | grep -i sasl cyrus-sasl-gssapi-2.1.15-10 cyrus-sasl-plain-2.1.15-10 cyrus-sasl-2.1.15-10 cyrus-sasl-md5-2.1.15-10 cyrus-sasl-devel-2.1.15-10
Generate your SSL key and pem (based on http://www.projektfarm.com/en/support/howto/postfix_smtp_auth_tls.html):
&amp;lt;code&amp;gt;openssl genrsa -des3 -rand /etc/hosts -out smtpd.</description>
    </item>
    
    
    
    <item>
      <title>An OpenLDAP addressbook/directory for Thunderbird</title>
      <link>https://blog.wains.be/2006/2006-04-01-an-openldap-directory-for-thunderbird/</link>
      <pubDate>Sat, 01 Apr 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-04-01-an-openldap-directory-for-thunderbird/</guid>
      <description>This guide will help you setting up an LDAP directory under RHEL 4/CentOS 4 systems, 100 % compatible with Mozilla Thunderbird 1.5. Management of the LDAP directory will be done with phpLdapAdmin.
1. Install the needed packages # yum install openldap-servers openldap-clients
2. Download the LDAP schema for Thunderbird # wget http://blog.wains.be/pub/thunderbird.schema -O /etc/openldap/schema/thunderbird.schema
3. Create the directory tree in which the database will be stored # mkdir /var/lib/ldap/local
4. Change ownership # chown ldap:ldap /var/lib/ldap/local</description>
    </item>
    
    
    
    <item>
      <title>Fix the Bind to port 22 on 0.0.0.0 failed - Address already in use error</title>
      <link>https://blog.wains.be/2006/2006-03-30-howto-fix-bind-to-port-22-on-0000-failed-address-already-in-use-error/</link>
      <pubDate>Thu, 30 Mar 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-03-30-howto-fix-bind-to-port-22-on-0000-failed-address-already-in-use-error/</guid>
      <description>The error when starting and restarting sshd : Mar 30 23:35:11 x sshd[9151]: Server listening on :: port 22. Mar 30 23:35:11 x sshd[9151]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use. Mar 30 23:38:07 x sshd[9151]: Received signal 15; terminating. Mar 30 23:38:07 x sshd[1977]: Server listening on :: port 22. Mar 30 23:38:07 x sshd[1977]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.</description>
    </item>
    
    
    
    <item>
      <title>How to NOT disable IPv6 on RHEL/CentOS 4</title>
      <link>https://blog.wains.be/2006/2006-03-30-how-to-not-disable-ipv6-on-rhelcentos-4/</link>
      <pubDate>Thu, 30 Mar 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-03-30-how-to-not-disable-ipv6-on-rhelcentos-4/</guid>
      <description>There&amp;rsquo;s a myth on the web surrounding the method on how to disable IPv6 under RHEL/CentOS 4
Adding &amp;ldquo;NETWORKING_IPV6=no&amp;rdquo; to /etc/sysconfig/network DOES NOT work
If you want to disable IPv6, the only true working trick is : echo &amp;quot;alias net-pf-10 off&amp;quot; &amp;gt;&amp;gt; /etc/modprobe.conf
Period</description>
    </item>
    
    
    
    <item>
      <title>courier-imap - secure pop3 and imap</title>
      <link>https://blog.wains.be/2006/2006-03-29-courier-imap-secure-pop3-and-imap/</link>
      <pubDate>Wed, 29 Mar 2006 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-03-29-courier-imap-secure-pop3-and-imap/</guid>
      <description>Generate the key : $ openssl genrsa -out imap.key 1024
Result:
Generating RSA private key, 1024 bit long modulus ..............++++++ ................................................................................................++++++ e is 65537 (0x10001) We need to generate a CSR : $ openssl req -new -key imap.key -out imap.csr
Result : `You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN.</description>
    </item>
    
    
    
    <item>
      <title>CentOS 4.2 &#43; Orinoco Monitor/Scan</title>
      <link>https://blog.wains.be/2006/2006-03-05-centos-42-orinoco-monitorscan/</link>
      <pubDate>Sun, 05 Mar 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-03-05-centos-42-orinoco-monitorscan/</guid>
      <description>According to http://blog.wains.be/?p=25, it was quite a pain to get the orinoco drivers with scan and monitor capabilities..
Being sick at the debianess of Ubuntu, I switched my laptop to the good old and lovely CentOS 4.2.
Having the orinoco_cs drivers with monitor mode running was a question of minutes..
Grab the drivers at the usual place : http://www.projectiwear.org/~plasmahh/orinoco.html I grabbed this one : http://www.projectiwear.org/~plasmahh/orinoco-0.13e-SN-7.tar.bz2
Untar somewhere on the disk.. make a backup of the good orinoco drivers located at /lib/modules/2.</description>
    </item>
    
    
    
    <item>
      <title>dsniff working under CentOS 4.2</title>
      <link>https://blog.wains.be/2006/2006-03-05-dsniff-working-under-centos-42/</link>
      <pubDate>Sun, 05 Mar 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-03-05-dsniff-working-under-centos-42/</guid>
      <description>I&amp;rsquo;ve been able to get dsniff working under CentOS 4.2..
I just needed to find the right packages, right versions, etc
You&amp;rsquo;ll need to downgrade some packages version and it may break your system !
Ethereal will stop working after applying these packages. You&amp;rsquo;ll need to downgrade to compat-db-4.0.14-2, gnome-libs depends on compat-db-4.1.25-9 (gnome is still running fine but that&amp;rsquo;s risky) You can always compile these packages by hand : http://www.</description>
    </item>
    
    
    
    <item>
      <title>The wonders of WinXP</title>
      <link>https://blog.wains.be/2006/2006-02-28-the-wonders-of-winxp/</link>
      <pubDate>Tue, 28 Feb 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-02-28-the-wonders-of-winxp/</guid>
      <description>My sound card stopped working for some unknown reason just in the middle of a session&amp;hellip;
I tried repairing the drivers, then took the card out of the case and plugged it back in&amp;hellip;
Windows XP found out a new device.. a network card&amp;hellip;..
Then I came across this wizard&amp;hellip;
[
Pressed ESC, it prompted me for a reboot&amp;hellip;
Finally, the sound card is working again.. don&amp;rsquo;t ask me about that new NIC, I have no idea what it was&amp;hellip;</description>
    </item>
    
    
    
    <item>
      <title>logwatch and logrotate might create a blind spot in reporting</title>
      <link>https://blog.wains.be/2006/2006-02-27-logwatch-and-logrotate-might-create-a-blind-spot-in-reporting/</link>
      <pubDate>Mon, 27 Feb 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-02-27-logwatch-and-logrotate-might-create-a-blind-spot-in-reporting/</guid>
      <description>From : http://www.derkeiler.com/Mailing-Lists/securityfocus/bugtraq/2005-01/0295.html
Date: Tue, 25 Jan 2005 16:21:44 +0200 (EET) To: BUGTRAQ
&amp;mdash;&amp;ndash;BEGIN PGP SIGNED MESSAGE&amp;mdash;&amp;ndash; Hash: SHA1
Hello BUGTRAQ,
I&amp;rsquo;m sorry, if this is old news to you, but I couldn&amp;rsquo;t find similar cases in BUGTRAQ archives.
logwatch (www.logwatch.org) is widely recommended tool for creating nice reports of various, often security related logfiles. logwatch is included at least in recent Red Hat/Fedora linux distributions, probably others as well.</description>
    </item>
    
    
    
    <item>
      <title>Installed amavisd-new on my postfix gateway</title>
      <link>https://blog.wains.be/2006/2006-02-20-installed-amavisd-new-on-my-postfix-gateway/</link>
      <pubDate>Mon, 20 Feb 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-02-20-installed-amavisd-new-on-my-postfix-gateway/</guid>
      <description>I may have been naive but mime_checks used to catch 100 % of any virus sent to us. Until I found out it was possible to bypass the checks by using special characters like &amp;ldquo;é&amp;rdquo;, &amp;ldquo;� &amp;quot; and such in the filenames.. doh !
I decided to install amavisd-new along with clamav.
I&amp;rsquo;ll try to explain how i got the whole thing working, including some personal tips..
You will need several packages, usually downloadable from your regular repo</description>
    </item>
    
    
    
    <item>
      <title>MySQL issue after upgrading from Courier-Imap 3 to 4</title>
      <link>https://blog.wains.be/2006/2006-02-11-upgrading-from-courier-imap-3-to-4/</link>
      <pubDate>Sat, 11 Feb 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-02-11-upgrading-from-courier-imap-3-to-4/</guid>
      <description>Along with CentOS 4.2 came MySQL 4.1, great news ! BUT&amp;hellip;
My old Courier-Imap version was only compatible with MySQL 3.x..
I had to upgrade to Courier-imap 4. My buddy kindly compiled the packages for me and published it on his repository : http://repo.securityteam.us/repository/
A few issue then came up with my imap configuration, I noticed a few changes had been made to Courier-Imap about MySQL connectivity..
As explained here http://blog.</description>
    </item>
    
    
    
    <item>
      <title>Easily upgrade from CentOS 3.6 to 4.2</title>
      <link>https://blog.wains.be/2006/2006-02-08-easily-upgrade-from-centos-36-to-42/</link>
      <pubDate>Wed, 08 Feb 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-02-08-easily-upgrade-from-centos-36-to-42/</guid>
      <description>To counter-strike all the rants and posts I have seen on the web about how difficult it was to upgrade from CentOS 3 to 4, this post is here to testify it was actually easy -at least for a friend and myself-.
I&amp;rsquo;ve been wandering around trying to find people experiences about such an upgrade and all i found was complains, failures, rants and so. Until my friend said the night before, he had upgraded without any problem</description>
    </item>
    
    
    
    <item>
      <title>Slow FTP logins under Proftpd using Xinetd</title>
      <link>https://blog.wains.be/2006/2006-01-24-slow-logins-under-proftpd-using-xinetd/</link>
      <pubDate>Tue, 24 Jan 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-01-24-slow-logins-under-proftpd-using-xinetd/</guid>
      <description>I was able to connect from european machines to my local FTP server located in Belgium (running proftpd from xinetd) very fast but some machines in North Carolina had very sloooow login prompt&amp;hellip;
I tried about anything from PAM to iptables, then i found out running proftpd as standalone fixed the problem. The issue was on the xinetd side.
Finally found this out when googling around :
&amp;lt;code&amp;gt;The USERID option tells xinetd to query the remote host for a username.</description>
    </item>
    
    
    
    <item>
      <title>Ban a whole country with an iptables script</title>
      <link>https://blog.wains.be/2006/2006-01-16-script-generate-iptables-rule-that-will-ban-some-country-ip-ranges-to-access-your-machines/</link>
      <pubDate>Mon, 16 Jan 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-01-16-script-generate-iptables-rule-that-will-ban-some-country-ip-ranges-to-access-your-machines/</guid>
      <description>Let&amp;rsquo;s say you want to completely ban a country from accessing your servers.. E.g. : countries that have very shallow internet laws
Note : in regards to Epe&amp;rsquo;s comment, this article has been updated with a newer script, which should be doing a better job. Please drop me a comment, I&amp;rsquo;d love to hear feedback !
This script will parse the RIPE database and generate the iptables rules automatically..
Download the script here : https://www.</description>
    </item>
    
    
    
    <item>
      <title>Failed to create cache file- maildirwatch</title>
      <link>https://blog.wains.be/2006/2006-01-16-failed-to-create-cache-file-maildirwatch/</link>
      <pubDate>Mon, 16 Jan 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-01-16-failed-to-create-cache-file-maildirwatch/</guid>
      <description>I got this error anytime i was consulting my IMAP mailbox running under courier-imap :
`Jan 16 17:21:24 server imapd: Failed to create cache file: maildirwatch (account@domain) Jan 16 17:21:24 server imapd: Error: Input/output error Jan 16 17:21:24 server imapd: Check for proper operation and configuration Jan 16 17:21:24 server imapd: of the File Access Monitor daemon (famd).
Just add this line to /etc/xinetd.d/sgi_fam : flags = NOLIBWRAP
Should look like : service sgi_fam { type = RPC UNLISTED socket_type = stream user = root group = nobody server = /usr/bin/fam wait = yes protocol = tcp rpc_version = 2 rpc_number = 391002 bind = 127.</description>
    </item>
    
    
    
    <item>
      <title>RRDweather 0.36 is out</title>
      <link>https://blog.wains.be/2006/2006-01-16-rrdweather-035-is-out/</link>
      <pubDate>Mon, 16 Jan 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-01-16-rrdweather-035-is-out/</guid>
      <description>Version 0.36 of RRDWeather is out&amp;hellip;
Thanks to Will Davies, Thomas Tague and Florus Both for their support and feedback.
Download : http://blog.wains.be/projects/pub/
More info : http://blog.wains.be/projects/rrdweather/</description>
    </item>
    
    
    
    <item>
      <title>Script - courier-imap virtual mail accounts listing</title>
      <link>https://blog.wains.be/2006/2006-01-16-script-courier-imap-virtual-mail-accounts-listing/</link>
      <pubDate>Mon, 16 Jan 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-01-16-script-courier-imap-virtual-mail-accounts-listing/</guid>
      <description>I made this little script to get a daily report of the usage of our virtual mailboxes at work, the POP3 server is courier-imap. I don&amp;rsquo;t need to run any quota on the accounts but I just want to make sure people regularly check their mailboxes.
&amp;lt;code&amp;gt;#!/bin/sh # Check storage used by virtual mail accounts under courier-imap DOMAINS=&amp;quot;domain1.be domain2.be&amp;quot; TIMESTAMP=`date +%d/%m/%Y` echo &amp;quot;REPORT DATE : $TIMESTAMP&amp;quot; echo &amp;quot; &amp;quot; for domains in $DOMAINS do echo &amp;quot;---------------------------&amp;quot; echo &amp;quot;$domains&amp;quot; echo &amp;quot;====================================================&amp;quot; echo &amp;quot;Size Accounts&amp;quot; echo &amp;quot;---------------------------&amp;quot; echo &amp;quot; &amp;quot; du -h /var/spool/postfix/vmail/$domains/ --max-depth=2 -c | egrep &amp;quot;/var/spool/postfix/vmail/$domains/[a-z]/&amp;quot; | sed -re &amp;quot;s//var/spool/postfix/vmail/$domains/[a-z]///g&amp;quot; | egrep &amp;quot;[0-9]{2,3}M&amp;quot; | awk &#39;{print $1, &amp;quot; &amp;quot;,$2}&#39; | sort -r du -h /var/spool/postfix/vmail/$domains/ --max-depth=2 -c | egrep &amp;quot;/var/spool/postfix/vmail/$domains/[a-z]/&amp;quot; | sed -re &amp;quot;s//var/spool/postfix/vmail/$domains/[a-z]///g&amp;quot; | egrep &amp;quot;[0-9]{1}.</description>
    </item>
    
    
    
    <item>
      <title>TV out on Nvidia displaying in black and white with scart &amp; S-VHS</title>
      <link>https://blog.wains.be/2006/2006-01-13-tv-out-on-nvidia-geforce-2-mx-440-display-black-and-white/</link>
      <pubDate>Fri, 13 Jan 2006 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2006/2006-01-13-tv-out-on-nvidia-geforce-2-mx-440-display-black-and-white/</guid>
      <description>I&amp;rsquo;ve been scratching my head for a while on this issue but I finally found a fix ! I tried about anything, knowing it used to work a while ago (like 2 years from now with older drivers).
My Nvidia Geforce 2 MX 440 was displaying a black and white output when using a S-VHS (or S-video) cable plugged into my scart TV
My drivers : ForceWare Release 80 Version: 81.</description>
    </item>
    
    
    
    <item>
      <title>Script - check services status easily</title>
      <link>https://blog.wains.be/2005/2005-12-14-script-easily-check-services-status-easily/</link>
      <pubDate>Wed, 14 Dec 2005 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-12-14-script-easily-check-services-status-easily/</guid>
      <description>Since arpwatch and spamassassin crashed for some unknown reasons (probably bugs) lately, I needed a tool that would monitor services status on a regular basis.
I found Nagios http://www.nagios.org/ but it was not really what I needed. Indeed, Nagios can only monitor some specific services (usually services opening a tcp port) and it offered just way too many features, thus requiring a lot of dependencies and was not the easiest piece of software to install.</description>
    </item>
    
    
    
    <item>
      <title>SpamAssassin 3.1.0 crashed - tcp timeout issue</title>
      <link>https://blog.wains.be/2005/2005-12-13-spamassassin-310-crash-tcp-timeout-issue/</link>
      <pubDate>Tue, 13 Dec 2005 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-12-13-spamassassin-310-crash-tcp-timeout-issue/</guid>
      <description>SpamAssassin 3.1.0 crashed last week. I looked up the logs and found out these errors
Dec 5 00:15:04 fedora spamd[29470]: tcp timeout at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/SpamdForkScaling.pm line 195. Dec 5 00:15:04 fedora spamd[29470]: tcp timeout at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/SpamdForkScaling.pm line 195. Dec 5 00:28:22 fedora spamc[8763]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#1 of 3): Connection refused Dec 5 00:28:23 fedora spamc[8763]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#2 of 3): Connection refused Dec 5 00:28:24 fedora spamc[8763]: connect(AF_INET) to spamd at 127.</description>
    </item>
    
    
    
    <item>
      <title>How to set up a transparent FTP proxy using frox</title>
      <link>https://blog.wains.be/2005/2005-11-18-howto-setting-up-a-transparent-ftp-proxy-using-frox-and-proftpd/</link>
      <pubDate>Fri, 18 Nov 2005 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-11-18-howto-setting-up-a-transparent-ftp-proxy-using-frox-and-proftpd/</guid>
      <description>Running a transparent FTP proxy is an easy way to control FTP connections made by people on your network (using ACL&amp;rsquo;s) If you are already running Squid as a transparent (web) proxy, it cannot act as a transparent FTP proxy along, thus you have to use another tool for FTP proxying : frox will do the job
Installation &amp;amp; compilation
Grab the latest version of Frox at http://frox.sourceforge.net/ Compile the package the usual way.</description>
    </item>
    
    
    
    <item>
      <title>HOWTO - Proftpd &#43; mysql authentication (virtual users) &#43; xinetd</title>
      <link>https://blog.wains.be/2005/2005-11-17-howto-proftpd-mysql-authentication-virtual-users-xinetd/</link>
      <pubDate>Thu, 17 Nov 2005 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-11-17-howto-proftpd-mysql-authentication-virtual-users-xinetd/</guid>
      <description>Compilation &amp;amp; installation
wget [http://dag.wieers.com/packages/proftpd/proftpd-1.2.10-8.dag.src.rpm](http://dag.wieers.com/packages/proftpd/proftpd-1.2.10-8.dag.src.rpm) yum install pkgconfig mysql-devel rpm -ihv proftpd-1.2.10-8.dag.src.rpm rpmbuild -ba --with-mysql /usr/src/redhat/SPECS/proftpd-1.2.10-dag.spec
For the lazy asses out there, this is the compiled version : wget [http://blog.wains.be/pub/proftpd-1.2.10-8_mysql.dag.i386.rpm](http://blog.wains.be/pub/proftpd-1.2.10-8_mysql.dag.i386.rpm) rpm -ihv proftpd-1.2.10-8_mysql.dag.i386.rpm
User configuration
groupadd -g 5500 ftpgroup adduser -u 5500 -s /bin/false -d /bin/null -c &amp;quot;proftpd virtual user&amp;quot; -g ftpgroup ftpuser
Building the MySQL database
mysql -u root -p create database proftpd_auth; grant select, insert, update on proftpd_auth.* to proftpd@localhost identified by &#39;password&#39;; use proftpd_auth; CREATE TABLE ftpgroup ( groupname varchar(16) NOT NULL default &#39;&#39;, gid smallint(6) NOT NULL default &#39;5500&#39;, members varchar(16) NOT NULL default &#39;&#39;, KEY groupname (groupname) ) TYPE=MyISAM COMMENT=&#39;ProFTP group table&#39;; INSERT INTO ftpgroupVALUES (&#39;ftpgroup&#39;, 5500, &#39;ftpuser&#39;); INSERT INTOftpgroupVALUES (&#39;ftpgroup&#39;, 5500, &#39;ftpguest&#39;); CREATE TABLE ftpuser ( id int(10) unsigned NOT NULL auto_increment, userid varchar(32) NOT NULL default &#39;&#39;, passwd varchar(32) NOT NULL default &#39;&#39;, uid smallint(6) NOT NULL default &#39;5500&#39;, gid smallint(6) NOT NULL default &#39;5500&#39;, homedir varchar(255) NOT NULL default &#39;&#39;, shell varchar(16) NOT NULL default &#39;/sbin/nologin&#39;, count int(11) NOT NULL default &#39;0&#39;, accessed datetime NOT NULL default &#39;0000-00-00 00:00:00&#39;, modified datetime NOT NULL default &#39;0000-00-00 00:00:00&#39;, PRIMARY KEY (id), UNIQUE KEY userid (userid) ) TYPE=MyISAM COMMENT=&#39;ProFTP user table&#39;; INSERT INTOftpuser VALUES (1, &#39;guest&#39;, &#39;guest&#39;, 5500, 5500, &#39;/home/ftp/guest&#39;, &#39;/sbin/nologin&#39;,0,&#39;&#39;,&#39;&#39;); exit;</description>
    </item>
    
    
    
    <item>
      <title>Get a 1024x768 VESA tty console under Ubuntu</title>
      <link>https://blog.wains.be/2005/2005-11-05-get-a-1024x768-tty-console-under-ubuntu/</link>
      <pubDate>Sat, 05 Nov 2005 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-11-05-get-a-1024x768-tty-console-under-ubuntu/</guid>
      <description>Just add &amp;ldquo;vga=792&amp;rdquo; to the end of the line &amp;ldquo;kernel&amp;rdquo; under /boot/grub/menu.lst
Example /boot/grub/menu.lst : title Ubuntu, kernel 2.6.12-9-686 root (hd0,0) kernel /boot/vmlinuz-2.6.12-9-686 root=/dev/hda1 ro quiet splash vga=792 initrd /boot/initrd.img-2.6.12-9-686 savedefault boot
Just in case, make a copy of the previous settings, so you would always be able to boot again if something had to go wrong
This may require packages like libdirectfb and such, i&amp;rsquo;m not too sure.. it worked with a regular install of ubuntu on my HP laptop</description>
    </item>
    
    
    
    <item>
      <title>Ubuntu Breezy (5.10) &#43; Kismet &#43; Orinoco patched drivers for monitoring and scan modes</title>
      <link>https://blog.wains.be/2005/2005-11-05-ubuntu-breezy-510-kismet-orinoco-patched-drivers-for-monitoring-and-scan-modes/</link>
      <pubDate>Sat, 05 Nov 2005 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-11-05-ubuntu-breezy-510-kismet-orinoco-patched-drivers-for-monitoring-and-scan-modes/</guid>
      <description>I installed a fresh copy of Ubuntu Breezy on my laptop I had to recompile the orinoco drivers to get the monitoring capabilities of the card&amp;hellip;
This is the how-to :
Grab a copy of the sources here : http://www.projectiwear.org/~plasmahh/orinoco.html. You should get the version 0.13 revision 8 if you run kernel 2.6.12
Extract the files somewhere on the disk, let&amp;rsquo;s say /tmp/orinoco
Make a copy of the current orinoco and hermes modules in a safe place : mkdir /orinoco-backup cp /lib/modules/2.</description>
    </item>
    
    
    
    <item>
      <title>Kernel compilation under CentOS</title>
      <link>https://blog.wains.be/2005/2005-11-03-compiler-son-kernel-sous-centos/</link>
      <pubDate>Thu, 03 Nov 2005 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-11-03-compiler-son-kernel-sous-centos/</guid>
      <description>The package kernel-sources is needed
You need to make sur /usr/src/linux is a symlink pointing to the kernel sources directory
Example : lrwxrwxrwx 1 root root 9 Jul 2 13:57 linux -&amp;gt; linux-2.4 lrwxrwxrwx 1 root root 18 Sep 29 18:57 linux-2.4 -&amp;gt; linux-2.4.21-37.EL drwxr-xr-x 16 root root 4096 Nov 2 15:33 linux-2.4.21-37.EL
If not : cd /usr/src ln -s linux-2.4 linux
Then : cd /usr/include for link in asm linux scsi ; do mv $link $link-old ; done --&amp;gt; should avoid error when compiling the kernel ln -s /usr/src/linux/include/asm-i386 asm --&amp;gt; this link is needed for a proper compilation ln -s /usr/src/linux/include/linux linux --&amp;gt; dito ln -s /usr/src/linux/include/scsi scsi --&amp;gt; dito cd /usr/src/linux cp /usr/src/linux/configs/kernel-2.</description>
    </item>
    
    
    
    <item>
      <title>Unknown key pressed, use setkeycodes</title>
      <link>https://blog.wains.be/2005/2005-11-01-unknown-key-pressed-use-setkeycodes/</link>
      <pubDate>Tue, 01 Nov 2005 00:00:00 +0100</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-11-01-unknown-key-pressed-use-setkeycodes/</guid>
      <description>Under Ubuntu Breezy, I kept getting an error message fulfilling /var/log/messages whenever I was pressing any arrow keys :
Oct 30 10:50:27 pc1 kernel: [4323215.043000] atkbd.c: Unknown key pressed (translated set 2, code 0xaa on isa0060/serio0). Oct 30 10:50:27 pc1 kernel: [4323215.043000] atkbd.c: Use &#39;setkeycodes e02a keycode&#39; to make it known.
Adding this line to /etc/sysctl.conf fixed the problem : setkeycodes e02a 104
(104 is for page up key as far as I know)</description>
    </item>
    
    
    
    <item>
      <title>SMB - mount_data version 1919251317 is not supported</title>
      <link>https://blog.wains.be/2005/2005-10-30-smb-mount_data-version-1919251317-is-not-supported/</link>
      <pubDate>Sun, 30 Oct 2005 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-10-30-smb-mount_data-version-1919251317-is-not-supported/</guid>
      <description>Under a fresh install of Ubuntu 5.10, I had an error when trying to mount a SMB share on my CentOS 3.5 server :
user@host:/media$ sudo mount -t smbfs //server/path /media/path -o rw,username=username,password=password mount: wrong fs type, bad option, bad superblock on //server/path, missing codepage or other error In some cases useful info is found in syslog - try dmesg | tail or so
Let&amp;rsquo;s see what the logs say :</description>
    </item>
    
    
    
    <item>
      <title>RRDWeather 0.31 is out !</title>
      <link>https://blog.wains.be/2005/2005-10-29-rrdweather-031-is-out/</link>
      <pubDate>Sat, 29 Oct 2005 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-10-29-rrdweather-031-is-out/</guid>
      <description>A new release of RRDWeather is out&amp;hellip;
Changelog :
better XML parsing some minor changes Download : http://blog.wains.be/projects/pub/
More info : http://blog.wains.be/projects/rrdweather/</description>
    </item>
    
    
    
    <item>
      <title>sh/bin bad interpreter- No such file or directory</title>
      <link>https://blog.wains.be/2005/2005-10-29-shbin-bad-interpreter-no-such-file-or-directory/</link>
      <pubDate>Sat, 29 Oct 2005 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-10-29-shbin-bad-interpreter-no-such-file-or-directory/</guid>
      <description>If a script you are trying to run returns :
sh/bin bad interpreter: No such file or directory
Try this :
dos2unix filename
Before dos2unix :
head -1 filename | od -c should return : 0000000 #! / b i n / s h r n 0000013 After dos2unix :
head -1 filename | od -c should return : 0000000 #! / b i n / s h n 0000013 Noticed the r character ?</description>
    </item>
    
    
    
    <item>
      <title>Install CentOS from the web</title>
      <link>https://blog.wains.be/2005/2005-10-27-install-centos-from-the-web/</link>
      <pubDate>Thu, 27 Oct 2005 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-10-27-install-centos-from-the-web/</guid>
      <description>This could work under Fedora and other RHEL flavored distributions&amp;hellip;
Download the first CD of CentOS
Edit March 31 2006 :
I found out you can avoid downloading the full first CD (See ftp://ftp.belnet.be/mirror/ftp.centos.org/4/os/i386/images/README)
This directory contains image files that can be used to create media capable of starting the CentOS-4 i386 installation process.
The boot.iso file is an ISO 9660 image of a bootable CD-ROM. It is useful in cases where the CD-ROM installation method is not desired, but the CD-ROM&amp;rsquo;s boot speed would be an advantage.</description>
    </item>
    
    
    
    <item>
      <title>Moving a folder to a new partition</title>
      <link>https://blog.wains.be/2005/2005-10-27-moving-a-folder-to-a-new-partition/</link>
      <pubDate>Thu, 27 Oct 2005 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-10-27-moving-a-folder-to-a-new-partition/</guid>
      <description>Let&amp;rsquo;s say you have enough remaining free diskspace on your harddrive, you may want to move directories like /home or /tmp to a new partition&amp;hellip;
YOU MUST BE ROOT UNDER TTY AND ANY OTHER USER MUST BE LOGGED OFF
`- fdisk -l /dev/hda &amp;ndash;&amp;gt; you&amp;rsquo;ll see the list of your current partition setup
fdisk /dev/hda &amp;ndash;&amp;gt; the drive you want to allocate the new partition press m to display the menu &amp;ndash;&amp;gt; it will show some error messages, if you have a recent computer, you can avoid the messages and press m press n to create a new partition if you already have 3 partitions (let&amp;rsquo;s say /boot, / and swap), you will need to create an extended partition it will give you the opportunity to choose from which cylinder the partition should begin, fdisk will guess the default value, just - press enter last cylinder, same as above, press enter &amp;ndash;&amp;gt; the extended partition has been created : /dev/hda4 back to the menu, press c to create a new partition select &amp;ldquo;logical partition&amp;rdquo; enter the size of the partition (+5000M for 5 Gb) &amp;ndash;&amp;gt; the logical partition has been created : /dev/hda5 back to the menu, press w to save the changes` Reboot the machine</description>
    </item>
    
    
    
    <item>
      <title>disabling IRQ 5 error when installing Red Hat/CentOS on a ASUS P4P800</title>
      <link>https://blog.wains.be/2005/2005-10-26-disabling-irq-5-error-when-installing-redhatcentos-on-a-asus-p4p800/</link>
      <pubDate>Wed, 26 Oct 2005 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-10-26-disabling-irq-5-error-when-installing-redhatcentos-on-a-asus-p4p800/</guid>
      <description>When starting the Red Hat/CentOS installer, it kept giving me an error, over and over : &amp;ldquo;disabling IRQ 5&amp;rdquo;
The installer was running very slow as well.. It seemed to me IRQ 5 was bound to the DVD drive
I had to disable the &amp;ldquo;enhanced mode&amp;rdquo; of the IDE drives under the (AMI) BIOS : Steps :
Boot the machine (no way !) Enter the BIOS Main menu IDE Configuration Onboard IDE Operate Mode Enhanced Mode &amp;ndash;&amp;gt; Compatible Mode Save and reboot The Red Hat/CentOS was no longer giving the error after changing this setting&amp;hellip; Hope it helps.</description>
    </item>
    
    
    
    <item>
      <title>RRDWeather 0.20 is out !</title>
      <link>https://blog.wains.be/2005/2005-09-27-rrdweather-020-is-out/</link>
      <pubDate>Tue, 27 Sep 2005 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-09-27-rrdweather-020-is-out/</guid>
      <description>What is RRDWeather ?
RRDWeather is a weather monitoring tool based on RRDtool and weather.com. It regularly collects weather data from a XML file and put them in nice graphs &amp;ldquo;a la RRDtool&amp;rdquo;.
Go to http://blog.wains.be/projects/rrdweather/ for more&amp;hellip;
Questions can be submitted here in the comments</description>
    </item>
    
    
    
    <item>
      <title>How to fix the Mail--SPF--Query error after upgrading to SpamAssassin 3.1.0</title>
      <link>https://blog.wains.be/2005/2005-09-15-how-to-fix-the-mailspfquery-error-after-upgrading-to-spamassassin-310/</link>
      <pubDate>Thu, 15 Sep 2005 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-09-15-how-to-fix-the-mailspfquery-error-after-upgrading-to-spamassassin-310/</guid>
      <description>A new version of SpamAssassin has been released lately.. Upgrade from version 3.0.4 to 3.1.0..
The upgrade led to an error : Sep 15 17:21:44 xxx spamd 13300 : Can&#39;t locate Mail/SPF/Query.pm in @INC (@INC contains: ../lib /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl) at /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/Plugin/SPF.pm line 272, &amp;lt;GEN101&amp;gt; line 1545.
After a few researches, I have figured out the perl library Mail::SPF::Query was needed This new version of SpamAssassin apparently has SPF enabled by default now&amp;hellip;</description>
    </item>
    
    
    
    <item>
      <title>Migrate from SUS to WSUS under Windows 2000 Server</title>
      <link>https://blog.wains.be/2005/2005-09-10-migration-de-sus-vers-wsus-sur-windows-2000-serveur/</link>
      <pubDate>Sat, 10 Sep 2005 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-09-10-migration-de-sus-vers-wsus-sur-windows-2000-serveur/</guid>
      <description>SUS had been working pretty well for the last two years to deploy updates througout a network of around 30 clients under Win2000/XP.
Given the notification of the end of support of SUS by the 6th of June, I dived into the migration of the new release, the so called WSUS.
BE AWARE : migrate SUS during off peak hours, the server will be rebooted several times to complete the installation (critical apps, go to hell)</description>
    </item>
    
    
    
    <item>
      <title>How to fix a broken GRUB</title>
      <link>https://blog.wains.be/2005/2005-06-27-centos-faulty-hard-drive-grub-recovery/</link>
      <pubDate>Mon, 27 Jun 2005 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-06-27-centos-faulty-hard-drive-grub-recovery/</guid>
      <description>The story :
For 3 days in a row, one of our Linux CentOS servers (small squid, DNS, MRTG, apache server running on a P3 450/192 Mb) has been randomly rebooting. After the usual checkup, I came to the conclusion it wasn&amp;rsquo;t a power outtage nor a UPS issue and the box hadn&amp;rsquo;t been hacked,.. The SMART table had critical values recorded, the hard drive was about to faint (a 1999 maxtor unit)</description>
    </item>
    
    
    
    <item>
      <title>CentOS 3.6 &#43; Postfix 2.0.16 MySQL &#43; Courier-imap &#43; SquirrelMail &#43; vmail &#43; SpamAssassin &#43; attachments filtering &#43; RBL filtering &#43; vacation message &#43; auto disclaimer/signature</title>
      <link>https://blog.wains.be/2005/2005-06-22-centos-postfix-virtual-users/</link>
      <pubDate>Wed, 22 Jun 2005 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-06-22-centos-postfix-virtual-users/</guid>
      <description>I manage a network of around 30 computers (25 active clients win/linux, 7 servers win/linux)
I have implemented an email solution based on CentOS and Postfix to easier mail exchange internally and avoid slowness of our ex host.
This article is not really meant to be an howto but an overview of our current configuration. It may give you ideas or help figuring out some parameters. Some stuff may be missing as well.</description>
    </item>
    
    
    
    <item>
      <title>Hacking the Orinoco Silver into an Orinoco Gold</title>
      <link>https://blog.wains.be/2005/2005-06-17-hacking-the-orinoco-silver-into-an-orinoco-gold/</link>
      <pubDate>Fri, 17 Jun 2005 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-06-17-hacking-the-orinoco-silver-into-an-orinoco-gold/</guid>
      <description>When inserting my Orinoco card into my laptop, dmesg was telling my card was able to do WEP 128 bits. After several failed attempts, I went with WEP 64 bits that worked fine.
dmesg returned this :
eth1: Station identity 001f:0001:0008:0048 eth1: Looks like a Lucent/Agere firmware version 4.02 eth1: Ad-hoc demo mode supported eth1: IEEE standard IBSS ad-hoc mode supported eth1: WEP supported, 104-bit key eth1: MAC address 00:02:2D:XX:XX:XX eth1: Station name &amp;quot;HERMES I&amp;quot; eth1: ready eth1: index 0x01: Vcc 5.</description>
    </item>
    
    
    
    <item>
      <title>Ubuntu &#43; HP Omnibook XE3 &#43; Orinoco</title>
      <link>https://blog.wains.be/2005/2005-06-17-ubuntu-hp-omnibook-xe3-orinoco/</link>
      <pubDate>Fri, 17 Jun 2005 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-06-17-ubuntu-hp-omnibook-xe3-orinoco/</guid>
      <description>I run Ubuntu on a HP laptop recently bought on eBay.
The model is a Omnibook XE3. It has a Celeron 750 Mhz CPU and 192 Mb of RAM, a 10 Gb hard drive and a TFT 13&amp;quot; screen.
Installation of Ubuntu on this machine went pretty well, not a single issue during the installation. The whole hardware has been detected and installed without any glitch.
For wifi connectivity, I bought -from eBay as well- an Orinoco silver card, automatically detected as using the orinoco firmware.</description>
    </item>
    
    
    
    <item>
      <title>Ubuntu &#43; Orinoco &#43; Modes Scan &amp; Monitor &#43; Kismet &#43; Wifi-Radar</title>
      <link>https://blog.wains.be/2005/2005-06-17-ubuntu-orinoco-modes-scan-monitor-kismet-wifi-radar-2/</link>
      <pubDate>Fri, 17 Jun 2005 00:00:00 +0200</pubDate>
      
      <guid>https://blog.wains.be/2005/2005-06-17-ubuntu-orinoco-modes-scan-monitor-kismet-wifi-radar-2/</guid>
      <description>Since writing this article, I switched my laptop to CentOS 4 My Orinoco experiences under CentOS are available at : http://blog.wains.be/?p=68
MONITOR MODE ONLY
I&amp;rsquo;ve been using the default ubuntu drivers for my orinoco card for a while. I used a patch available on kismet website to get monitor capabilities.
http://www.kismetwireless.net/code/orinoco-2.6.9-rfmon-dragorn-1.diff
I followed this guide to get the modules compiled :
https://wiki.ubuntu.com//OrinocoMonitorKismet2005Hoary Kismet 2004 was working perfectly and was stable. I&amp;rsquo;d avoid Kismet 2005 for some reason, it was very unstable under Hoary.</description>
    </item>
    
    
    
    
    
    
    
    
  </channel>
</rss>
