码迷,mamicode.com
首页 > 其他好文 > 详细

IPTABLES 充当局域网路由器 RHEL5及以上版本

时间:2015-06-18 20:05:41      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:linux   路由器   iptables   


准备一台PC装有RHEL5,

eth0可以上外网

eth1连接内网


1、打开包转发功能:

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


2、修改/etc/sysctl.conf文件,开启包转发功能:

net.ipv4.ip_forward = 1


3、打开iptables的NAT功能:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

到本步就已经完成了配置。

其余为排错或辅助命令。


查看路由表:

netstat -rn 或 route -n


查看nat表

iptables -t nat -L

 

如遇can‘t initialize iptables table `nat‘ Table does exist 解决办法:

需要安装iptables相关模块

modprobe ip_tables

modprobe ip_conntrack

modprobe iptable_filter

modprobe ipt_state


networking --->

Networking options --->

Network packet filtering framework (Netfilter) --->

Core Netfilter Configuration --->

Now just set the modules you need for your netfilter box. That‘s it, I hope now it works to you.


如果执行 iptables -L 出现以下信息,那么就需要重新配置和编译内核:

iptables v1.4.2: can‘t initialize iptables table `filter‘: Table does not exist (do you need to insmod?)

Perhaps iptables or your kernel needs to be upgraded.



配置选项:

Networking —->

Networking options —->

[*] Network packet filtering (replaces ipchains) —>

Core Netfilter Configuration —>

<*> Netfilter Xtables support (required for ip_tables)

IP: Netfilter Configuration —>

<*> Connection tracking (required for masq/NAT)

<*> IP tables support (required for filtering/masq/NAT)

<*> IP range match support

<*> Packet filtering

<*> REJECT target support

<*> Full NAT



ip_forward

除此之外,需要在主机上打开 ip 转发以保持连接通道。

查看是否已打开 ip 转发(1 表示打开):

cat /proc/sys/net/ipv4/ip_forward

如果未打开,则用以下命令打开:

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

保存设置

以上 iptables 设置和 ip 转发设置在重启系统之后就会消失,因此如果有需要,请将设置保存。

保存 iptables 设置:

/etc/init.d/iptables save

设置系统启动时自动加载 iptables 设置(以 gentoo 为例):

rc-update add iptables default

保存 ip_forward 设置(在 /etc/sysctl.conf 中设置):

net.ipv4.ip_forward = 1

安全隐患

在打开了 ip_forward 后,一般要同时打开 rp_filter (Reverse Path filter),对数据包的源地址进行检查。

如果在没有打开这个设置,就很容易受到来自内部网的 IP 欺骗。

打开 rp_filter:

for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done

保存设置(在 /etc/sysctl.conf 中设置):

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.all.rp_filter = 1


IPTABLES 充当局域网路由器 RHEL5及以上版本

标签:linux   路由器   iptables   

原文地址:http://7737197.blog.51cto.com/7727197/1663257

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!