使用 Java communications API 实现并行端口打印
2008-08-01 14:44
567 查看
Linux防火墙基础知识
netfilter主页:http://www.netfilter.org/
iptables既用表也用链,表是处理的块,对包的不同操作就是在表中进行的,不同的表处理不同的链,链是规则的集合。有4个内建的表:网络地址转换表,轧表、过滤表和原始表,每个表处理不同的链。
下面列出的是过滤表:
Filter table 这是用iptables命令修改规则时需要的默认表,防火墙的大部分的实现都是在这里实现的。
INPUT 当有访问本地系统的数据包时,此链被处理。
FORWARD 当有通过本地系统的数据时,此链被处理。
OUTPUT 当有本地系统产生的数据包时,此链被处理。
目标是当一个包符合一个给定的规则时应该采取的行动。 目标是用 j <target> 文法进行说明
ACCEPT 包由TCP/IP协议栈的区域部分接受并处理。
DROP 包丢弃且不通知发送端。
RETURN 在前一个链中,紧接着最近被处理的那个规则后的规则处继续处理。
配置(环境CentOS 5.3 )
1、防火墙必须工作在一个安装好的系统上,所以系统必须要升级强化。
考虑到服务器原有的文件中可能会有有危险性的文件,所以如果该系统只是用做防火墙,推荐全盘格式化后,安装全新的最小化的系统,并升级加固。
2、查看防火墙是否安装。使用命令 chkconfig --list ,将列出所有的服务及其开启时的运行等级:
chkconfig --list | grep iptables
iptables 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
说明iptable会在等级 2~5运行。你也可以使用命令 chkconfig --level 2345 iptables on 命令设置该服务默认启动。
3、删除规则和链
很多Linux发行版默认netfilter服务是开启的,但规则是空的。 可以用 iptables -L 命令查看当前状态,如果是下面这样,就是空的:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain RH-Firewall-1-INPUT (0 references)
target prot opt source destination
大家注意到我的记录的组后两行是之前没提到的,这个是发行版中创建的非默认的链,可以用命令 iptables -X RH-Firewall-1-INPUT 删除该自定义链。
4、注意
在下面的配置中一定要非常小心,在开始其他所有工作之前,首先创建一个规则,容许管理员接入。这是因为一旦将所有的规则都配置为DROP ,SSH连接也会被禁止,这样连修改的机会也没了。
5、 其他常识
我用的是CentOS,防火墙被安装为服务,系统自动提供了一个iptables的管理脚本 /etc/init.d/iptables 。这里面提供了几个选项:start 、 stop、restart、condrestart、status、panic、save 。
要注意如果 使用命令 service iptables stop 、 service iptables start 、 service iptables restart 这几个命令会消除当前活跃的规则集,并从配置文件中重新载入。所以需要使用 service iptables save 命令保存当前活跃的规则集.
默认的配置文件路径:/etc/sysconfig/iptables
6、 配置
首先设置防火墙的规则允许管理通信访问,允许到防火墙的SSH连接,使用下面的命令:
iptables -A INPUT -p tcp -s 192.168.92.0/24 --dport 22 -j ACCEPT
s指出只能容许192.168.92.0、24这个内部网段的ip才能访问。如果你想容许访问80,11211等类似端口,也可以参考这个命令。当然了这只是容许了进入的包,还要容许出去的包。
容许出去
你可以使用 iptables -P OUTPUT ACCEPT 。 这种方法很简单,但我们有更安全的方法。
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
这个命令允许全部的应答通信通过,只要他是对被允许的会话的应答。
如果你想设置允许从防火墙发出的数据到远端的syslog服务器(比如:192.168.92.3:514)的syslog通信量通过,可以使用该命令:
iptables -A OUTPUT -p udp -d 192.168.92.3 --dport 514
因为该协议是udp协议,并且是单向的会话,不需要进入,只是出去。
将几个默认链设为DROP状态
之所以放在最后,是因为我在测试时,一使用命令iptables -P INPUT DROP ,我就不能再访问服务器了,所以我就把这不放在最后了。
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
保存当前规则
service iptables save
netfilter主页:http://www.netfilter.org/
iptables既用表也用链,表是处理的块,对包的不同操作就是在表中进行的,不同的表处理不同的链,链是规则的集合。有4个内建的表:网络地址转换表,轧表、过滤表和原始表,每个表处理不同的链。
下面列出的是过滤表:
Filter table 这是用iptables命令修改规则时需要的默认表,防火墙的大部分的实现都是在这里实现的。
INPUT 当有访问本地系统的数据包时,此链被处理。
FORWARD 当有通过本地系统的数据时,此链被处理。
OUTPUT 当有本地系统产生的数据包时,此链被处理。
目标是当一个包符合一个给定的规则时应该采取的行动。 目标是用 j <target> 文法进行说明
ACCEPT 包由TCP/IP协议栈的区域部分接受并处理。
DROP 包丢弃且不通知发送端。
RETURN 在前一个链中,紧接着最近被处理的那个规则后的规则处继续处理。
配置(环境CentOS 5.3 )
1、防火墙必须工作在一个安装好的系统上,所以系统必须要升级强化。
考虑到服务器原有的文件中可能会有有危险性的文件,所以如果该系统只是用做防火墙,推荐全盘格式化后,安装全新的最小化的系统,并升级加固。
2、查看防火墙是否安装。使用命令 chkconfig --list ,将列出所有的服务及其开启时的运行等级:
chkconfig --list | grep iptables
iptables 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
说明iptable会在等级 2~5运行。你也可以使用命令 chkconfig --level 2345 iptables on 命令设置该服务默认启动。
3、删除规则和链
很多Linux发行版默认netfilter服务是开启的,但规则是空的。 可以用 iptables -L 命令查看当前状态,如果是下面这样,就是空的:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain RH-Firewall-1-INPUT (0 references)
target prot opt source destination
大家注意到我的记录的组后两行是之前没提到的,这个是发行版中创建的非默认的链,可以用命令 iptables -X RH-Firewall-1-INPUT 删除该自定义链。
4、注意
在下面的配置中一定要非常小心,在开始其他所有工作之前,首先创建一个规则,容许管理员接入。这是因为一旦将所有的规则都配置为DROP ,SSH连接也会被禁止,这样连修改的机会也没了。
5、 其他常识
我用的是CentOS,防火墙被安装为服务,系统自动提供了一个iptables的管理脚本 /etc/init.d/iptables 。这里面提供了几个选项:start 、 stop、restart、condrestart、status、panic、save 。
要注意如果 使用命令 service iptables stop 、 service iptables start 、 service iptables restart 这几个命令会消除当前活跃的规则集,并从配置文件中重新载入。所以需要使用 service iptables save 命令保存当前活跃的规则集.
默认的配置文件路径:/etc/sysconfig/iptables
6、 配置
首先设置防火墙的规则允许管理通信访问,允许到防火墙的SSH连接,使用下面的命令:
iptables -A INPUT -p tcp -s 192.168.92.0/24 --dport 22 -j ACCEPT
s指出只能容许192.168.92.0、24这个内部网段的ip才能访问。如果你想容许访问80,11211等类似端口,也可以参考这个命令。当然了这只是容许了进入的包,还要容许出去的包。
容许出去
你可以使用 iptables -P OUTPUT ACCEPT 。 这种方法很简单,但我们有更安全的方法。
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
这个命令允许全部的应答通信通过,只要他是对被允许的会话的应答。
如果你想设置允许从防火墙发出的数据到远端的syslog服务器(比如:192.168.92.3:514)的syslog通信量通过,可以使用该命令:
iptables -A OUTPUT -p udp -d 192.168.92.3 --dport 514
因为该协议是udp协议,并且是单向的会话,不需要进入,只是出去。
将几个默认链设为DROP状态
之所以放在最后,是因为我在测试时,一使用命令iptables -P INPUT DROP ,我就不能再访问服务器了,所以我就把这不放在最后了。
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
保存当前规则
service iptables save
对链或规则本身进行操作的iptable命令使用大写字母表示: -A 附加 、-D 删除规则 、-I 插入 、-R 替换 、 -L 列表 、-F 充溢 、-N 新建 、-X 删除链 |
用于详细说明规则的选项用小写字母: -s 源地址、-p 协议 、 -d 目的地址 、-j 跳 、 -i 入界面 、 -o 出界面 |
相关文章推荐
- java基础_使用循环实现打印a-z
- 使用Java线程并发库实现两个线程交替打印的线程题
- 使用JAVA实现单链表的建立、测长、打印、删除、插入、排序、逆置
- 在Java项目中如何使用log4j和slf4j实现日志打印
- 使用Java线程并发库实现两个线程交替打印的线程题
- 使用Java实现万年历的格式打印
- 使用Adobe Reader控件结合Java实现PDF打印功能
- 使用java的File类遍历文件夹,打印树状结构(递归实现)
- java使用I/O流实现9*9乘法口诀的写入文件和从文件打印到屏幕
- JAVA可阻塞队列-ArrayBlockingQueue子类BlockingQueue的应用,使用它来实现子线程打印10次,主线程打印100次,如此反复
- Grid++Report6 B/S报表打印之Java,使用jsp打印报表实现
- echars java帮助类使用操作实现
- 使用Java在Web上实现简易干特图之六
- java注解:如何实现和使用一个自定义注解?
- android使用Xuitls上传文件(服务端实现为java)
- 使用java实现多种方式解决图片压缩的问题
- 使用j2objc实现iOS调java
- 用java的for循环实现打印上下两个正反三角形
- Java使用管道实现进程间通讯
- 使用Java实现的苹果IAP二次验证主要逻辑过程及原创代码