Книга: Linux Network Administrator Guide, Second Edition
Configuring the Kernel for IP Masquerade
Configuring the Kernel for IP Masquerade
To use the IP masquerade facility, your kernel must be compiled with masquerade support. You must select the following options when configuring a 2.2 series kernel:
Networking options --->
[*] Network firewalls
[*] TCP/IP networking
[*] IP: firewalling
[*] IP: masquerading
--- Protocol-specific masquerading support will be built as modules.
[*] IP: ipautofw masq support
[*] IP: ICMP masquerading
Note that some of the masquerade support is available only as a kernel module. This means that you must ensure that you " make modules " in addition to the usual " make zImage " when building your kernel.
The 2.4 series kernels no longer offer IP masquerade support as a kernel compile time option. Instead, you should select the network packet filtering option:
Networking options --->
[M] Network packet filtering (replaces ipchains)
In the 2.2 series kernels, a number of protocol-specific helper modules are created during kernel compilation. Some protocols begin with an outgoing request on one port, and then expect an incoming connection on another. Normally these cannot be masqueraded, as there is no way of associating the second connection with the first without peering inside the protocols themselves. The helper modules do just that; they actually look inside the datagrams and allow masquerading to work for supported protocols that otherwise would be impossible to masquerade. The supported protocols are:
Module | Protocol |
---|---|
ip_masq_ftp | FTP |
ip_masq_irc | IRC |
ip_masq_raudio | RealAudio |
ip_masq_cuseeme | CU-See-Me |
ip_masq_vdolive | For VDO Live |
ip_masq_quake | IdSoftware's Quake |
You must load these modules manually using the insmod command to implement them. Note that these modules cannot be loaded using the kerneld daemon. Each of the modules takes an argument specifying what ports it will listen on. For the RealAudio(TM) module you might use:[66]
#
insmod ip_masq_raudio.o ports=7070,7071,7072
The ports you need to specify depend on the protocol. An IP masquerade mini-HOWTO written by Ambrose Au explains more about the IP masquerade modules and how to configure them.[67]
The netfilter package includes modules that perform similar functions. For example, to provide connection tracking of FTP sessions, you'd load and use the ip_conntrack_ftp and ip_nat_ftp.o modules.
- Chapter 11. IP Masquerade and Network Address Translation
- Forced writes - палка о двух концах
- Forced Writes
- 4.4.4 The Dispatcher
- About the author
- Chapter 7. The state machine
- Chapter 5 Installing and Configuring VirtualCenter 2.0
- Chapter 15. Graphical User Interfaces for Iptables
- Appendix E. Other resources and links
- What NAT is used for and basic terms and expressions
- Example NAT machine in theory
- Information request