gyren2006 发表于 2006-5-15 13:42:25

ROS另类封网址的方法,比INPUT的DROP实用!

ROS另类封网址的方法,比INPUT的DROP实用!
一般我们要封掉某个网址,比如www.123.com,按常规都是在IP-FIREWALL-FILTER RULES中,

添加一个CONTENT=123.com的DROP策略,但这样做不单止在网址含有123.COM的网址屏蔽掉,

一些网站页面中含有123.com的字符的,也会被无情地DROP,就比如现在我发完这个贴子,这一页

我就打不开了(如果我做了上述的DROP策略的话)。

在一些高手的帮助下,我尝试到这条门路,非常的好用。前提是你启用了ROS的DNS服务,并且你的

客户端的DNS解释地址超码第一条是你的ROS的IP。然后在ROS的DNS中添加一条:

dns-static里加一条 name=你要封的网址,如123.com(不需要加www);

ADDRESS=220.181.28.42,(这个是地址是网易的IP,如果直接地址栏输入IP访问会访问到一个

禁止访问页,你可以任意设一个地址,如192.168.10.1,但最好是一个有响应的地址)。就这样简单

了,那么不论输入123.com或http://www.123.com都会转到网易的禁止访问页。如下图。
此主题相关图片如下:


此主题相关图片如下:



routeros 的安装心得--ros双线负载均衡

routeros 的安装心得

研究了一段时间ROUTEROS发现他的确是一个不错的软路由下面说一下我的安装设置心得

先说一下我的网络环境
二根有限通是动态ip,要做负载均衡
内网ip段192.168.0.1-192.168.0.200
要完全开放192.168.0.168主机(就像路由中的dmz主机)


机器配置
赛扬1。1G 64M 3块3com网卡

1。用光盘版全选安装 (软盘版要另外下插件)
注意注册码都用大写
先插上一块网卡以便定下他作为连接内网的网卡
2。使用 admin用户登陆, 密码为空
3。设置第一块网卡的ip
输入setup,提示你设置ether1(第一块网卡连接内网),输入ip地址(192.168.0.1)子网掩码(255.255.255.0) gateway:192.168.0.254一路回车即可。
4。将剩下二块网卡插入电脑
5。在windows机器上,ip设成192.168.0.x ,在 ie 地址栏输上 192.168.0.1
出现 routeos 的欢迎画面。点击,提示下载 winbox ,保存
6。运行 winbox 输上 192.168.0.1 用户名 admin 密码为空,选连接。会出现路由的管理界面
7。激活新插入的二块网卡:点 interface ,点第二块卡,选勾,启用前面由x变为R
8。设置外网的二块网卡地址,在winbox选ip->dhcp-client 在窗口中勾上enabled interface选ether2(第二块网卡)勾上add default route 选hostname并添上wan1 表示第一块外网网卡,然后apply 这时如果拿到ip就会在ip->address里看到ip了
现在设置第三块网卡,现在有问题了routeros只能添加一个dhcp客户,所以如果再按上面的方法获得ip那么前面的到的ip就没有了,所以这里只能将就一下了,因为有限通ip一般只要连接就不会变ip所以就把还有一根线上的ip作为静态ip看,先记下ip然后在ip->address里按加号填入ip如219.233.23.23/24,在这里要注意:其实都是固定ip的话就在这设置即可,但如果你的二个ip在同一网段中如一个是219.233.23.23另一个是219.233.23.147的话就要在/后就是掩码这部分分一下
如219.233.23.23/25 219.233.23.147/24 这样在后面负载均衡时就不会出错了
9。现在你应该能ping通外网了,不过防火墙还没设置,在ip->firewall里选source nat 按加号添加规则,在规则里选action ->action里选masquerade
现在就能局域网里就能上网了。
10。现在来设负载均衡
在控制台里输入
ip route add gat=外网地址1,外网地址2
即可
是不是很简单啊
11。端口映射
端口映射很容易
在控制台里
ip firewall dst-nat> add action=nat protocol=tcp
^
这是协议可以选all
dst-address=外网地址/32:80 to-dst-address=内网ip地址
^
这里是你要映射的端口,如果全部就不要添

例子1:将外网所有80端口的请求都指向到168上
ip firewall dst-nat> add action=nat protocol=tcp
dst-address=319.23.23.23/32:80 to-dst-address=192.168.0.168
例子2:完全开放192.168.0.168
ip firewall dst-nat> add action=nat protocol=tcp
dst-address=319.23.23.23/32 to-dst-address=192.168.0.168


12.来看看routeros的防火墙吧,功能不错哦
比如现在流行的震荡波和冲击波的端口134-139
在winbox中
ip->firewall->filter rules 先设input(在右边可选的)
选加
general
protocl选udp或tcp(其实这二个都要设,只要重复作就好了)
src.port勾上填入134-139
dst.port勾上填入134-139
action
在action里选drop丢弃包或reject拒绝包
ok完成
再选forward和output照上面设完,这样不论是外网的机器或内网的机器中毒都不会影响其他用户了。
其实ip filter rules可设很多规则可以作一个非常不错的防火墙不过要注意input,forward,output根据不同情况的设置

补充一下,其实在端口映射里这样作,环流(就是内网也可用外网的地址访问内网的主机)功能也自然实现了

Ip 防火墙应用--ros


Ip 防火墙应用
描述
在这个部分,我们讨论防火墙的一些的应用和例子。
防火墙设置基本原则
假定我们有一个本地网通过路由连接到internet,那么基本的防火墙构建原则由以下几部分组成:
1、保护路由避免没有认证的访问
必须监控那些到路由的连接。只能允许某些特定的主机到路由某些特定的 tcp端口的访问。这项工作可以在input中设置,以便比较匹配通过路由所有连接界面到路由目的地址的数据包。
2、保护本地主机
必须监控那些到本地网络地址的连接。只有有权到某些主机和服务的连接才能被允许。这项工作可以在forward中设置,以便比较匹配决定通过路由所有连接界面到本地网路目的地址的数据包。
3、利用nat将本地的网络隐藏在一个公网的ip后面。
所有本地网络的连接被伪装成来自路由本身的公网地址。这项工作可以通过启用伪装行为来实现源地址转换规则。
4、强制本地网络连接到公网的访问原则。
必须监控那些来自本地网络地址的连接。这项工作可以通过forward中设置,或者通过伪装哪些被允许的连接来实现。数据的过滤会对router的性能造成一定的影响,为了把这个影响降到最低,这些过滤的规则必须放在各个chain的顶部。这个在传输控制协议选项non- syn -only中.

防火墙过滤实例
实现目标:
目标1、让路由只允许来自10.5.8.0/24网络地址的访问。
目标2、保护本地主机(192.168.0.0/24)远离未授权的访问。
目标3、让公网可以访问本地主机192.168.0.17的http 和smtp服务。
目标4、只允许本地网络中的主机进行icmp ping 操作。强制使用在192.168.0.17主机上的代理服务。

假设我的网络设置如下:
公网 ip :10.0.0.217/24 网关 ip :10.0.0.254
内网 ip :192.168.0.254/24 内网服务器地址:192.168.0.17/24
step1
为了实现第一个目标,我们必须对所有通过路由的数据包进行过滤,只接受哪些我们允许的数据。因为所有通过路由的数据包都要经过input chain进行处理,所以,我们可以在ip->firewall-> rule input 中加入以下规则。
>ip firewall rule input
ip firewall rule input>add protocol=tcp ip firewall rule input>tcp-options=non-syn-only connection-state=established
ip firewall rule input>add protocol=udp
ip firewall rule input>add protocol=icmp
ip firewall rule input>add src-addr=10.5.8.0/24
ip firewall rule input>add action=reject log=yes
通过上述设置,input chain就可以实现只接受10.5.8.0/24地址段的连接,而把其他连接都拒绝并且记录到日志。

Step 2
为了保护本地网络,我们必须对通过路由访问本地网络也就是对192.168.0.0/24一段地址的访问的数据包进行比对筛选,这个功能可以在forward chain 中实现。在forward 中,我们可以依靠ip地址对数据包进行匹配,然后跳转到我们自己创建的chain中,比如这里我们创建一个 customer chain 并加入一些规则。
ip firewall> add name=customer
ip firewall> print
# NAME POLICY
0 input accept
1 forward accept
2 output accept
3 customer none
ip firewall> rule customer
ip firewall rule customer> protocol=tcp tcp-options=non-syn-only connection-state=established
ip firewall rule customer> add protocol=udp
ip firewall rule customer> add protocol=icmp
ip firewall rule customer> add protocol=tcp tcp-options=syn-only dst-address=192.168.0.17/32:80 ip firewall rule customer> add protocol=tcp tcp-options=syn-only dst-address=192.168.0.17/32:25
ip firewall rule customer> add action=reject log=yes
通过上述规则,我们在customer chain 中设定了对数据包的过滤规则,那么下面我要做的就是在forward chain 中做一个跳转,将所有进入到本地网的数据跳转到customer chain 中处理。
ip firewall rule forward> add out-interface=Local action=jump jump-target=customer
这样,所有通过路由进入到本地网络的数据包都将通过customer chain中的防火墙规则进行过滤。

Step 3
为了强制本地网络的主机通过192.168.0.17这台代理服务器访问internet ,
我们应该在forward 链中加入以下规则。(这个设置我觉得好像有点多余,是不是这里192.168.0.17起到了一层防火墙的作用,反正我是没有加这个规则)。
ip firewall rule forward> add protocol=icmp out-interface=Public
ip firewall rule forward> add src-address = 192.168.0.17 / 32 out-interface=Public
ip firewall rule forward> add action=reject out-interface=Public
RO之DNS缓存加速设置
winbox环境下:

ip->DNS->Static->Settings->弹出框内,添上你ISP服务提供商给你的DNS地址,记住,一定要勾选上"Allow Remote Requests"

然后把客户机的DNS地址都设置为RO代理服务器内网的地址,比如我的是192.168.0.1,那就填这个地址。

网上菜鸟 发表于 2006-5-15 22:18:47

回复 #1 gyren2006 的帖子

好,顶你一个,给你一个补充:
客户机就算没有设置第一DNS服务器为路由器IP,你只要在路由器DNAT里添加1条规则就可以强制所有客户机使用路由器的DNS代理。
/ip fi ds add src-address=192.168.0.0/24 in-interface=lan dst-address=:53 protocol=udp \
    action=redirect to-dst-port=53 comment="DNS    " disabled=no
192.168.0.0/24 为内网网段,lan 是内网网卡名
页: [1]
查看完整版本: ROS另类封网址的方法,比INPUT的DROP实用!