Better manage your TCP/IP resources

Securing and Optimizing Linux: RedHat Edition -A Hands on Guide
Prev | Chapter 6. Linux General Optimization | Next

# 6.13. Better manage your TCP/IP resources

This hack just make the time default values for TCP/IP connection lower so that more connections can be handled by time on your TCP/IP protocol. The following will decrease the amount of time your Linux box will try take to finish closing a connection and the amount of time before it will kill a stale connection. This will also turn off some IP extensions that aren't needed. The default setup for the TCP/IP parameters we'll change under Red Hat Linux are:

- For the tcp_fin_timeout `180`

- For the tcp_keepalive_time `7200`

- For the tcp_window_scaling `1`

- For the tcp_sack `1`

- For the tcp_timestamps `1`

To adjust the new TCP/IP values, type the following commands on your terminal:

                 [root@deep] /#echo 30 >/proc/sys/net/ipv4/tcp_fin_timeout
                 [root@deep] /#echo 1800 >/proc/sys/net/ipv4/tcp_keepalive_time
                 [root@deep] /#echo 0  >/proc/sys/net/ipv4/tcp_window_scaling
                 [root@deep] /#echo 0  >/proc/sys/net/ipv4/tcp_sack
                 [root@deep] /#echo 0  >/proc/sys/net/ipv4/tcp_timestamps

Execute the above commands and put them in your `/etc/rc.d/rc.local` file so you don't need to type them again each time your system reboots.

Edit the `/etc/sysctl.conf` file and add the following lines:

                 # Decrease the time default value for tcp_fin_timeout connection
                 net.ipv4.tcp_fin_timeout = 30
                 # Decrease the time default value for tcp_keepalive_time connection
                 net.ipv4.tcp_keepalive_time = 1800
                 # Turn off the tcp_window_scaling
                 net.ipv4.tcp_window_scaling = 0
                 # Turn off the tcp_sack
                 net.ipv4.tcp_sack = 0
                 # Turn off the tcp_timestamps
                 net.ipv4.tcp_timestamps = 0

You must restart your network for the change to take effect. The command to manually restart the network is the following:

                 [root@deep] /# /etc/rc.d/init.d/network restart

`Setting network parameters [ OK ] Bringing up interface lo [ OK ] Bringing up interface eth0 [ OK ] Bringing up interface eth1 [ OK ]`

Prev | Home | Next
Tuning IDE Hard Disk Performance | Up | Configuring and Building a Secure, Optimized Kernel