Monthly Archives: July 2014

ThinkCentre M83 (10AK) Linux Network Driver

The IBM ThinkCentre M83 ( types 10AG, 10AK, 10AL, and 10BE) have the Intel I217 / L217LM Clarkville according to their spec sheet Their driver download page does not have a linux network driver. However, the Intel Download Center provides a driver that should work for these machines.

Posted in Uncategorized | Leave a comment

Fail2ban: Block CIDR IP Address Ranges (aka wildcard)

It has been requested to have the ability in fail2ban to block whole IP address ranges. Yaroslav Halchenko replied, saying we are working on the features which would occur in some 0.9.x release which would make it configurable out-of-the-box, but meanwhile you can just easily create an augmented action file where you would have customized iptables call with /XX to ban whatever big subnet you like Well, at the time of this writing the current version is Fail2Ban v0.8.6 – and it seems to not have CIDR capabilities out of the box. However, you can still have fail2ban block an IP address by using a command like this: fail2ban-client -vvv set apache banip Your fail2ban log file ( maybe /var/log/fail2ban.log ) should have information about the rule you just added. Also, the -vvv flag tells the command to be verbose. For the rule to take effect, you may need to wait until one of the other files fail2ban is monitoring has a change. So check out your /etc/fail2ban/jail.local file, see what is enabled, and then run touch /path/to/file on a logfile you are watching with fail2ban

Posted in Server Admin | Leave a comment

How to use http_get_request_headers with PECL_HTTP version 2

If you’re using the version 2 pecl_http (possibly version 2.0.6?) on your webserver, perhaps Ubuntu or CentOS, with PHP5, maybe 5.3, 5.4, or 5.5, you may have noticed that after getting it all installed and adding this to your php.ini file: But then when you try and use the function get_request_headers() you end up getting: PHP Fatal error: Call to undefined function http_get_request_headers() Well, when this extension switched to pecl/http v2 it changed a lot of things, and global functions was one of them. It now uses namespaces, and so instead of using http_get_request_headers() you’ll need to use something like this: $headers = \http\Env::getRequestHeader(); print_r($headers); The check out the docs for more details on how to use the new function, basically you’ll see getRequestHeader: Retrieve one or all headers of the current HTTP request. Parameters: Optional string $header_name The key of a header to retrieve. Returns: NULL, if $header_name was not found string, the compound header when $header_name was found array of all headers if $header_name was not specified

Posted in Web Development | Tagged , | Leave a comment