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

由 stanlogin 在 06-10-2003 09:34 发表:

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

参考资料(强烈推荐):

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,只是抛砖引玉,如果你有更多的需求,请参考开头我给的网址,或者自己去找,找到好的别忘了告诉我们大家


由 samwang 在 06-10-2003 14:55 发表:

to stanlogin

你这个只定义了怎么控制局域网主机和外网节点之间的通信吧,

若是想保护服务器不受恶意的攻击,是不是还应该加input链啊

还有这个地方:

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

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

这里面的eth1是指内部网卡么,我怎么写成内部网卡导致我不能上网啊,必须写成外部网卡啊,


由 myxfc 在 06-10-2003 16:20 发表:


写的好!

哪个地方有最最基础的iptables的文章啊,我对iptables一点都不懂


由 stanlogin 在 06-11-2003 13:13 发表:

回复: to stanlogin

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

是啊~

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

你说的对,我的笔误,谢谢纠正


由 franktom 在 06-17-2003 22:55 发表:


那如果要开QQ的话是不是这样?

IPTABLES -A FORWARD -p udp --dport 8000 -j ACCEPT

IPTABLES -A FORWARD -p udp --dport 4000 -j ACCEPT


我爱linux www.5ilinux.com


由 slackware 在 06-27-2003 14:46 发表:


更改后如何马上生效!?谢谢


由 169boy 在 06-28-2003 01:15 发表:


改后自动马上生效。


由 henryluo 在 07-04-2003 11:43 发表:


> quote: > > * * * > > 最初由 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段


由 issin 在 07-04-2003 14:35 发表:


> quote: > > * * * > > 最初由 henrluo 发表
>
> **不用的,QQ很智能的,他会走TCP的80PORT
>
> 所以为了封QQ我只好封了他的IP段 ** > > * * *

那么怎样封IP段,请说详细点,多谢


MDK9.1

http://koide.3322.org/bbs/

[email protected]


由 issin 在 07-04-2003 14:38 发表:

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus