RedHat7.2下使用IPTABLES實(shí)現(xiàn)IP轉(zhuǎn)發(fā)
RedHat7.2下使用IPTABLES實(shí)現(xiàn)IP轉(zhuǎn)發(fā)其實(shí)挺簡(jiǎn)單的,只要你按照下面文章一步一步走就行!
1.內(nèi)核編譯
一般來(lái)講,透明代理所在機(jī)器往往是帶動(dòng)整個(gè)局域網(wǎng)聯(lián)入互聯(lián)網(wǎng)的入口,因此該機(jī)器往往需要配置防火墻規(guī)則以對(duì)內(nèi)部網(wǎng)絡(luò)進(jìn)行防護(hù)。因此在編譯內(nèi)核時(shí)也許要考慮將防火墻支持選項(xiàng)編譯進(jìn)去。
rpm -q kernel-headers kernel-source make dev86 #檢查RPM包,如果不齊的補(bǔ)齊。
cd /usr/src/linux-xxxx #進(jìn)入內(nèi)核所在目錄
一般來(lái)說(shuō)需要在使用make menuconfig命令配置時(shí)打開如下選項(xiàng):
- [*]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命令來(lái)編譯內(nèi)核。如果使用到了模塊,還需要使用下面命令生成和安裝模塊make modules;make modules-install。
安裝新內(nèi)核后重新起動(dòng)
另:/etc/sysconfig/network 為:
NETWORKING=yes
HOSTNAME="gateway"
FORWARD_IPV4=true
GATEWAYDEV=eth1
#p#
2.iptables的設(shè)置
在/etc/rc.d/目錄下用touch命令建立firewall文件,執(zhí)行chmod u+x firewall以更改文件屬性,編輯/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d/firewall以確保開機(jī)時(shí)能自動(dòng)執(zhí)行該腳本?! irewall文件內(nèi)容為:
#!/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的網(wǎng)卡
#/sbin/iptables –t nat –A POSTROUTING –o ppp0 –j MASQUERADE #用于ppp0撥號(hào)
/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
通過(guò)正文的介紹和了解,大家都能在自己的RedHat7.2系統(tǒng)下使用IPTABLES來(lái)實(shí)現(xiàn)IP轉(zhuǎn)發(fā)了,感興趣的朋友可以試試!
【編輯推薦】
- iptables-restore中文手冊(cè)
- 一些iptables的常用應(yīng)用
- 動(dòng)態(tài)iptables防火墻之dynfw
- Linux防火墻的IPtables設(shè)置與用法
- 巧用iptables建立Linux防火墻
- 使用iptables封殺內(nèi)網(wǎng)的bt軟件
- 用iptables來(lái)防止web服務(wù)器被CC攻擊