Infusion Technology Solutions Blog

Technology related solutions, tips, tricks, and other interesting topics

How to Block an IP Range with IPTables

August22

If you want to block a range of IP addresses from accessing your CentOS server you can issue the following IPTables firewall command:

/sbin/iptables -I INPUT -m iprange --src-range 192.168.1.1-192.168.1.2.100 -j DROP

Replace “192.168.1.1-192.168.1.2.100″ with the IP range you want to block. This command only works with the IPTables firewall so if your operating system is using a different firewall then this command will not work.

Here is another example which uses CIDR notation to specify the IP range:

/sbin/iptables -I INPUT -s 192.168.1.1/25 -j DROP

If you restart your server, the drop command will be removed. If you want this command to persist through reboots, then you’ll need to add it to a startup script.

VSFTPD Error “500 OOPS: reading non-root config file”

May2

After setting up a new Linux server I kept getting the following error whenever I tried to upload something with the VSFTPD ftp service:

500 OOPS: reading non-root config file

It turns out that I had the following setting in the /etc/vsftpd/vsftpd.conf file:

user_config_dir=/etc/vsftpd/virtual_users

I commented out that setting and restarted the vsftpd service and the problem went away. I then checked to make sure I had spelled the “user_config_dir” directory name correctly and it turns out that I had created the directory with the name “virtual_user” without the “s” at the end. So that error appears to be caused by the “user_config_dir” not being present or accessible to the VSFTPD service. If you get this error make sure the directory you specify for the “user_config_dir” exists and is accessible.

How to Configure CentOS for Graphical X11 or Multiuser Mode on Boot

April3

Sometimes when I install CentOS it does not start up in “graphical mode” - that is it starts up directly at the command prompt rather than automatically starting up X Windows. You can configure CentOS to start up in whatever mode you want including graphical mode by editing the file /etc/inittab. To change the startup mode of CentOS open that file with a text editor.

# nano /etc/inittab

The file should look like the following:

# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
id:3:initdefault:

As you can see, the file gives you the number-to-mode mapping at the top. All you need you do is change the number in the last line listed above. So for me I needed to change the 3 to a 5:

id:5:initdefault:

So my final /etc/inittab file looked like the following:

# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
id:3:initdefault:

Reboot your computer and it should now start up in whatever mode you specified.

Error When Compiling PHP in CentOS 64 Bit

March17

Library files in CentOS 64 bit are stored in the directory /usr/lib64. But in normal 32 bit CentOS, library files are stored in /usr/lib so this causes a problem when trying to compile source code that looks for library files in /usr/lib. When using the default configure options for compiling PHP, the directory /usr/lib is searched for library files so if you have any 64 bit applications installed, their associated library files will not be found. For example, trying to compile PHP with the configure option:

--with-mysql=/usr

will result in the error:

/usr/bin/ld: cannot find -lmysqlclient

You can fix this MySQL error and other configure errors relating to library files not being found by adding the following option to the configure line:

--with-libdir=lib64

Code

« Older Entries