LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 8617|回复: 21

用IPTABLES实现简单的上网和过滤

[复制链接]
发表于 2003-6-10 09:34:28 | 显示全部楼层 |阅读模式
参考资料(强烈推荐):
http://cmpp.linuxforum.net/NetSnake/

我们要做的是简单的转址(NAT)和过滤(FILTER)
假定你的网络如下:
-----------------------------------
[internet]
|
|
[主机]
|
|
[HUB交换机]
|   |
|   |
[内网机器] [].....
------------------------------------
其中:主机对外IP为1.2.3.4(eth0), 对内192.168.0.1(eth1), 内网为192.168.8.0/24

一、设定LINUX主机,使内网其它机器通过这台主机上网
如果主机是拨号上网:
#iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
如果主机通过实体IP上网:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

二、设定LINUX主机,限制内部对外部的访问,和外部对内部的访问
# 我们用最常用的策略,先关闭一切,然后打开必要的,再然后用什么打开什么iptables -P FORWARD DROP;
iptables -A FORWARD -f -j ACCEPT;
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT;

# 内到外,我们只让他们通过浏览器上网
iptables -A FORWARD -p tcp --dport www -i eth1 -0 eth0 -j ACCEPT

# 迫于“压力”,又开放了MSN
IPTABLES -A FORWARD -p TCP --dport 1863 -j ACCEPT
IPTABLES -A FORWARD -p TCP --dport 7801:7825 -j ACCEPT
IPTABLES -A FORWARD -p TCP --dport 6891:6900 -j ACCEPT
iptables -A FORWARD -d 64.4.13.0/24 -j ACCEPT

说实话,关于MSN那个我没测试,如果发现问题请提出。
这些都是简单的RULES,只是抛砖引玉,如果你有更多的需求,请参考开头我给的网址,或者自己去找,找到好的别忘了告诉我们大家:cool:
发表于 2003-6-10 14:55:39 | 显示全部楼层

to stanlogin

你这个只定义了怎么控制局域网主机和外网节点之间的通信吧,
若是想保护服务器不受恶意的攻击,是不是还应该加input链啊

还有这个地方:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
这里面的eth1是指内部网卡么,我怎么写成内部网卡导致我不能上网啊,必须写成外部网卡啊,
发表于 2003-6-10 16:20:41 | 显示全部楼层
写的好!
哪个地方有最最基础的iptables的文章啊,我对iptables一点都不懂
 楼主| 发表于 2003-6-11 13:13:11 | 显示全部楼层

回复: to stanlogin

最初由 samwang 发表
你这个只定义了怎么控制局域网主机和外网节点之间的通信吧,
若是想保护服务器不受恶意的攻击,是不是还应该加input链啊

是啊~
还有这个地方:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
这里面的eth1是指内部网卡么,我怎么写成内部网卡导致我不能上网啊,必须写成外部网卡啊,

你说的对,我的笔误,谢谢纠正
:p
发表于 2003-6-17 22:55:06 | 显示全部楼层
那如果要开QQ的话是不是这样?
IPTABLES -A FORWARD -p udp --dport 8000 -j ACCEPT
IPTABLES -A FORWARD -p udp --dport 4000 -j ACCEPT
发表于 2003-6-27 14:46:43 | 显示全部楼层
更改后如何马上生效!?谢谢
发表于 2003-6-28 01:15:50 | 显示全部楼层
改后自动马上生效。
发表于 2003-7-4 11:43:54 | 显示全部楼层
最初由 franktom 发表
那如果要开QQ的话是不是这样?
IPTABLES -A FORWARD -p udp --dport 8000 -j ACCEPT
IPTABLES -A FORWARD -p udp --dport 4000 -j ACCEPT





不用的,QQ很智能的,他会走TCP的80PORT



所以为了封QQ我只好封了他的IP段
发表于 2003-7-4 14:35:34 | 显示全部楼层
最初由 henrluo 发表
不用的,QQ很智能的,他会走TCP的80PORT
所以为了封QQ我只好封了他的IP段


那么怎样封IP段,请说详细点,多谢
发表于 2003-7-4 14:38:23 | 显示全部楼层
最初由 169boy 发表
改后自动马上生效。

是自动生效,我这边在更改iptables后大约1到3分钟生效
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表