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

系统 Linux
在我们熟悉的RedHat7.2系统下使用IPTABLES可以实现IP转发的功能,他的具体步骤就在文章里!

RedHat7.2下使用IPTABLES实现IP转发其实挺简单的,只要你按照下面文章一步一步走就行!

  1.内核编译

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

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

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

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

 

  1.   [*]Networking support  
  2.  
  3.   [*]Sysctl support  
  4.  
  5.   [*]Network packet filtering  
  6.  
  7.   [*]TCP/IP networking  
  8.  
  9.   [*]/proc filesystem support  
  10.  
  11.   [*] Kernel/User netlink socket  
  12.  
  13.   [*] Netlink device emulation  
  14.  

 

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

 

  1.   [*] Connection tracking (required for masq/NAT)  
  2.  
  3.   [*] FTP protocol support  
  4.  
  5.   [*] IP tables support (required for filtering/masq/NAT)  
  6.  
  7.   <*> limit match support  
  8.  
  9.   [*] MAC address match support  
  10.  
  11.   [*] Netfilter MARK match support  
  12.  
  13.   [*] Multiple port match support  
  14.  
  15.   [*] TOS match support  
  16.  
  17.   [*] Connection state match support  
  18.  
  19.   [*] Packet filtering  
  20.  
  21.   [*] REJECT target support  
  22.  
  23.   [*] Full NAT  
  24.  
  25.   [*] MASQUERADE target support  
  26.  
  27.   [*] REDIRECT target support  
  28.  
  29.   [*] Packet mangling  
  30.  
  31.   [*] TOS target support  
  32.  
  33.   [*] MARK target support  
  34.  
  35.   [*] LOG target support  
  36.  

 

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

  安装新内核后重新起动

  另:/etc/sysconfig/network 为:

  NETWORKING=yes

  HOSTNAME="gateway"

  FORWARD_IPV4=true

  GATEWAYDEV=eth1

#p#

  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

通过正文的介绍和了解,大家都能在自己的RedHat7.2系统下使用IPTABLES来实现IP转发了,感兴趣的朋友可以试试!

【编辑推荐】

 

 

责任编辑:赵鹏 来源: 网络转载
相关推荐

2011-03-16 09:05:32

RedhatiptablesNAT

2011-03-16 10:12:27

LinuxIptables端口转发

2011-03-17 14:26:45

iptables 端口

2011-03-18 10:16:13

LinuxiptablesIP

2014-07-30 14:35:33

LinuxApache

2011-03-16 10:29:17

2011-03-16 12:55:00

iptables 端口

2011-03-16 09:05:33

2011-03-18 08:52:23

Iptables

2011-03-16 09:05:29

iptablesNAT

2011-09-06 16:31:58

iptablesNAT转发

2011-03-15 15:47:26

LinuxIptables防火墙

2017-10-10 12:40:13

SSHTCPOpenSSH

2011-04-02 16:08:02

2011-03-15 17:12:11

2011-03-17 15:16:38

2011-03-15 16:12:45

iptablesRed Hat

2011-03-15 14:50:03

使用IPTables

2009-11-30 09:56:16

2011-03-17 12:25:55

iptables ft
点赞
收藏

51CTO技术栈公众号