Ipsysctl tutorial 1.0.4

Oskar Andreasson

     oan@frozentux.net
    

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1; with the Invariant Sections being "Introduction" and all sub-sections, with the Front-Cover Texts being "Original Author: Oskar Andreasson", and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

All scripts in this tutorial are covered by the GNU General Public License. The scripts are free source; you can redistribute them and/or modify them under the terms of the GNU General Public License as published by the Free Software Foundation, version 2 of the License.

These scripts are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License within this tutorial, under the section entitled "GNU General Public License"; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA


Dedications

This document is dedicated to all of you who send me reports of bugs and errors in what I have written, and to everyone else for that matter who reads this and other documentations in order to find errors and report them to the maintainers. This document is in other words dedicated to everyone who uses what others produce and release for free under the Free Licenses that are available.

I would also like to dedicate this to my family who has understood me when I didn't deserve it, who whacked my head off for being a bum when I deserved it, and for being a generally nice bunch of people with a lot of humour.

Table of Contents
Preface
1. Why this document
2. Intended audience & prerequisite knowledge
3. How to read
4. Conventions used in this document
5. Acknowledgements
1. Introduction
1.1. Virtual filesystems
1.2. The /proc filesystem
1.3. A brief /proc walkthrough
2. How to set variables
2.1. With the sysctl application
2.2. With /proc
3. IPv4 variable reference
3.1. IP Variables
3.1.1. ip_autoconfig
3.1.2. ip_default_ttl
3.1.3. ip_dynaddr
3.1.4. ip_forward
3.1.5. ip_local_port_range
3.1.6. ip_no_pmtu_disc
3.1.7. ip_nonlocal_bind
3.1.8. ipfrag_high_thresh
3.1.9. ipfrag_low_thresh
3.1.10. ipfrag_time
3.2. Inet peer storage
3.2.1. inet_peer_gc_maxtime
3.2.2. inet_peer_gc_mintime
3.2.3. inet_peer_maxttl
3.2.4. inet_peer_minttl
3.2.5. inet_peer_threshold
3.3. TCP Variables
3.3.1. tcp_abort_on_overflow
3.3.2. tcp_adv_win_scale
3.3.3. tcp_app_win
3.3.4. tcp_dsack
3.3.5. tcp_ecn
3.3.6. tcp_fack
3.3.7. tcp_fin_timeout
3.3.8. tcp_keepalive_intvl
3.3.9. tcp_keepalive_probes
3.3.10. tcp_keepalive_time
3.3.11. tcp_max_orphans
3.3.12. tcp_max_syn_backlog
3.3.13. tcp_max_tw_buckets
3.3.14. tcp_mem
3.3.15. tcp_orphan_retries
3.3.16. tcp_reordering
3.3.17. tcp_retrans_collapse
3.3.18. tcp_retries1
3.3.19. tcp_retries2
3.3.20. tcp_rfc1337
3.3.21. tcp_rmem
3.3.22. tcp_sack
3.3.23. tcp_stdurg
3.3.24. tcp_syn_retries
3.3.25. tcp_synack_retries
3.3.26. tcp_syncookies
3.3.27. tcp_timestamps
3.3.28. tcp_tw_recycle
3.3.29. tcp_window_scaling
3.3.30. tcp_wmem
3.4. ICMP Variables
3.4.1. icmp_echo_ignore_all
3.4.2. icmp_echo_ignore_broadcasts
3.4.3. icmp_ignore_bogus_error_responses
3.4.4. icmp_ratelimit
3.4.5. icmp_ratemask
3.4.6. igmp_max_memberships
3.5. The conf/ variables
3.5.1. conf/DEV/, conf/all/ and conf/default/ differences
3.5.2. accept_redirects
3.5.3. accept_source_route
3.5.4. arp_filter
3.5.5. bootp_relay
3.5.6. forwarding
3.5.7. log_martians
3.5.8. mc_forwarding
3.5.9. proxy_arp
3.5.10. rp_filter
3.5.11. secure_redirects
3.5.12. send_redirects
3.5.13. shared_media
3.6. Neigh reference
3.7. Netfilter reference
3.7.1. ip_ct_generic_timeout
3.7.2. ip_ct_icmp_timeout
3.7.3. ip_ct_tcp_be_liberal
3.7.4. ip_ct_tcp_log_invalid_scale
3.7.5. ip_ct_tcp_log_out_of_window
3.7.6. ip_ct_tcp_timeout_close
3.7.7. ip_ct_tcp_timeout_close_wait
3.7.8. ip_ct_tcp_timeout_established
3.7.9. ip_ct_tcp_timeout_fin_wait
3.7.10. ip_ct_tcp_timeout_last_ack
3.7.11. ip_ct_tcp_timeout_listen
3.7.12. ip_ct_tcp_timeout_none
3.7.13. ip_ct_tcp_timeout_syn_recv
3.7.14. ip_ct_tcp_timeout_syn_sent
3.7.15. ip_ct_tcp_timeout_time_wait
3.7.16. ip_ct_udp_timeout
3.7.17. ip_ct_udp_timeout_stream
3.8. Route reference
3.8.1. error_burst
3.8.2. error_cost
3.8.3. flush
3.8.4. gc_elasticity
3.8.5. gc_interval
3.8.6. gc_min_interval
3.8.7. gc_thresh
3.8.8. gc_timeout
3.8.9. max_delay
3.8.10. max_size
3.8.11. min_adv_mss
3.8.12. min_delay
3.8.13. min_pmtu
3.8.14. mtu_expires
3.8.15. redirect_load
3.8.16. redirect_number
3.8.17. redirect_silence
A. Measurements used in kernel
A.1. Jiffies
B. Other resources
C. History
D. GNU Free Documentation License
0. PREAMBLE
1. APPLICABILITY AND DEFINITIONS
2. VERBATIM COPYING
3. COPYING IN QUANTITY
4. MODIFICATIONS
5. COMBINING DOCUMENTS
6. COLLECTIONS OF DOCUMENTS
7. AGGREGATION WITH INDEPENDENT WORKS
8. TRANSLATION
9. TERMINATION
10. FUTURE REVISIONS OF THIS LICENSE
How to use this License for your documents
E. GNU General Public License
0. Preamble
1. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
2. How to Apply These Terms to Your New Programs
List of Tables
A-1. Jiffies on different hardware