RedHat7.2下使用IPTABLES实现IP转发

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

1.内核编译

一般来讲,透明代理所在机器往往是带动整个局域网联入互联网的入口,因此该机器往往需要配置防火墙规则以对内部网络进行防护。因此在编译内核时也许要考虑将防火墙支持选项编译进去。

rpm -q kernel-headers kernel-source make dev86 #检查RPM包,如果不齐的补齐。

cd /usr/src/linux-xxxx #进入内核所在目录

一般来说需要在使用make menuconfig命令配置时打开如下选项:

[*]Networking support

[*]Sysctl support

[*]Network packet filtering

[*]TCP/IP networking

[*]/proc filesystem support

[*] Kernel/User netlink socket

[*] Netlink device emulation

上面的部原本上几乎不用改,以下部份在IP: Netfilter Configuration

[*] Connection tracking (required for masq/NAT)

[*] FTP protocol support

[*] IP tables support (required for filtering/masq/NAT)

<*> limit match support

[*] MAC address match support

[*] Netfilter MARK match support

[*] Multiple port match support

[*] TOS match support

[*] Connection state match support

[*] Packet filtering

[*] REJECT target support

[*] Full NAT

[*] MASQUERADE target support

[*] REDIRECT target support

[*] Packet mangling

[*] TOS target support

[*] MARK target support

[*] LOG target support

然后make dep ; make clean ;make bzImage命令来编译内核。如果使用到了模块,还需要使用下面命令生成和安装模块make modules;make modules-install。

安装新内核后重新起动

另:/etc/sysconfig/network 为:

NETWORKING=yes

HOSTNAME="gateway"

FORWARD_IPV4=true

GATEWAYDEV=eth1

2.iptables的设置

在/etc/rc.d/目录下用touch命令建立firewall文件,执行chmod u+x firewall以更改文件属性,编辑/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d/firewall以确保开机时能自动执行该脚本。

firewall文件内容为:

#!/bin/sh

echo "Enabling IP Forwarding..."

echo 1 > /proc/sys/net/ipv4/ip_forward

echo "Starting iptables rules..."

#Refresh all chains

/sbin/rmmod ipchains

/sbin/modprobe ip_tables

/sbin/modprobe iptable_filter

/sbin/modprobe iptable_nat

/sbin/modprobe ip_conntrack

/sbin/modprobe ip_conntrack_ftp

/sbin/modprboe ip_nat_ftp

/sbin/iptables -F INPUT

/sbin/iptables -F FORWARD

/sbin/iptables -F POSTROUTING -t nat

/sbin/iptables -P FORWARD DROP

/sbin/iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE #eth1为接Internet的网卡

#/sbin/iptables –t nat –A POSTROUTING –o ppp0 –j MASQUERADE #用于ppp0拨号

/sbin/iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

/sbin/iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航