一、设置主机防火墙。

开放: 服务器的:web服务、vsftpd 文件服务、ssh远程连接服务、ping 请求。

1、开放sshd服务

开放流入本地主机,22端口的数据报文。[root@stu13 ~]# iptables -A INPUT --destination 192.168.60.99 -p tcp --dport 22 -j ACCEPT

开放从本地主机22端口流出的数据报文[root@stu13 ~]# iptables -A OUTPUT --source 192.168.60.99 -p tcp --sport 22 -j ACCEPT

修改默认策略为:DROP。 目的禁止所有报文通过本机的TCP/IP协议栈,再开放指定端口的服务。[root@stu13 ~]# iptables -P INPUT DROP

[root@stu13 ~]# iptables -P OUTPUT DROP

如:[root@stu13 ~]# iptables -L -n -v

Chain INPUT (policy DROP 554 packets, 53329 bytes) ----> 已经阻止到数据包了

pkts bytes target prot opt in  out   source          destination

1162 60532 ACCEPT tcp  --  *   *     0.0.0.0/0       192.168.60.99       tcp dpt:22

匹配到数据包

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

pkts bytes target prot opt in  out   source        destination

Chain OUTPUT (policy DROP 0 packets, 0 bytes)

pkts bytes target prot opt in  out   source           destination

681 96248 ACCEPT tcp  --  *      *  192.168.60.99    0.0.0.0/0           tcp spt:22

2、开放本机提供的web服务:

开放访问本机的80,443服务。

开放流入本地主机,80端口的数据报文[root@stu13 ~]# iptables -A INPUT --dst 192.168.60.99 -p tcp --dport 80 -j ACCEP

开放从本地主机80端口流出的数据报文[root@stu13 ~]# iptables -A OUTPUT --src 192.168.60.99 -p tcp --sport 80 -j ACCEPT

开放流入本地主机,443端口的数据报文[root@stu13 ~]# iptables -A INPUT --dst 192.168.60.99 -p tcp --dport 443 -j ACCEPT

开放从本地主机443端口流出的数据报文[root@stu13 ~]# iptables -A OUTPUT --src 192.168.60.99 -p tcp --sport 443 -j ACCEPT

3、本机可以接受ping

开放应用层协议为icmp数据报文流入本机[root@stu13 ~]# iptables -A INPUT -p icmp -j ACCEPT

开放应用层协议为icmp数据报文流出本机[root@stu13 ~]# iptables -A OUTPUT -p icmp -j ACCEPT

4、开放被动模式FTP服务

开放命令连接的21端口

装载模块:这是连接追踪ftp服务器的数据连接的模块。[root@stu13 httpd-2.4.9]# modprobe nf_conntrack_ftp

查看是否装载成功[root@stu13 ~]# lsmod  | grep "nf_conntrack_ftp"

nf_conntrack_ftp       10475  0

nf_conntrack           65428  3 nf_conntrack_ftp,nf_conntrack_ipv4,xt_

开放应用层协议为tcp,目标端口为21的数据报文流入本机[root@stu13 ~]# iptables -A INPUT --dst 192.168.60.99 -p tcp --dport 21 -m state --state NEW -j ACCEPT

使用iptables的状态追踪功能,追踪ftp服务器的数据传输端口,意思是说:只要是找开的数据传输连接传输的数据报文与某个已经建立连接有关连,就允许开数据包通过。[root@stu13 ~]# iptables -A INPUT --dst 192.168.60.99 -m state --state ESTABLISHED,RELATED -j ACCEPT

数据流出[root@stu13 ~]# iptables -A OUTPUT --src 192.168.60.99 -m state --state RELATED,ESTABLISHED -j ACCEPT

二、测试:主机防火墙开放的服务是否成功:

1、PING 测试:本机PING其它主机[root@stu13 ~]# ping -c 1 192.168.60.1

PING 192.168.60.1 (192.168.60.1) 56(84) bytes of data.

64 bytes from 192.168.60.1: icmp_seq=1 ttl=64 time=1.81 ms

--- 192.168.60.1 ping statistics ---

1 packets transmitted, 1 received, 0% packet loss, time 2ms

rtt min/avg/max/mdev = 1.812/1.812/1.812/0.000 ms

在windows下ping 192.168.60.99主机D:\>ping 192.168.60.99

正在 Ping 192.168.60.99 具有 32 字节的数据:

来自 192.168.60.99 的回复: 字节=32 时间=2ms TTL=64

来自 192.168.60.99 的回复: 字节=32 时间<1ms TTL=64

192.168.60.99 的 Ping 统计信息:

数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失),

往返行程的估计时间(以毫秒为单位):

最短 = 0ms,最长 = 2ms,平均 = 1ms

2、测试80服务[root@nfs ~]# curl -eI http://192.168.60.99/index.html

This Server is OK...

3、在Windows 下测试:文件服务器。D:\>ftp 192.168.60.99

连接到 192.168.60.99。

220 (vsFTPd 2.2.2)

用户(192.168.60.99:(none)): ftp

331 Please specify the password.

密码:

230 Login successful.

ftp> get pub/inittab

200 PORT command successful. Consider using PASV.

150 Opening BINARY mode data connection for pub/inittab (884 bytes).

226 Transfer complete.

ftp: 收到 884 字节,用时 0.00秒 884000.00千字节/秒。

ftp>

4、测试连接到ssh服务[root@nfs ~]# ssh 192.168.60.99

Last login: Mon Aug 18 17:51:20 2014

三、分析优化防火墙

设置开放特定服务后的filter表的规则如下:[root@stu13 ~]# iptables --line-numbers -L -n -v

Chain INPUT (policy DROP 1911 packets, 223K bytes)

num   pkts bytes target   prot opt in   out  source        destination

1     7470  441K ACCEPT   cp   --  *    *    0.0.0.0/0     192.168.60.99 tcp dpt:22

2       51  4545 ACCEPT   tcp  --  *    *    0.0.0.0/0     192.168.60.99 tcp dpt:80

3        1    60 ACCEPT   cp   --  *    *    0.0.0.0/0     192.168.60.99 tcp dpt:443

4        4   288 ACCEPT   icmp --  *    *    0.0.0.0/0     0.0.0.0/0

5       12   624 ACCEPT   tcp  --  *    *    0.0.0.0/0     192.168.60.99 tcp dpt:21 state NEW

6      174  8122 ACCEPT   all  --  *    *    0.0.0.0/0     192.168.60.99 state RELATED,ESTABLISHED

Chain FORWARD (policy DROP 0 packets, 0 bytes)

num   pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy DROP 8 packets, 480 bytes)

num   pkts bytes target   prot opt in  out  source           destination

1     5761  701K ACCEPT   tcp  --  *   *    192.168.60.99    0.0.0.0/0     tcp spt:22

2       40  4522 ACCEPT   tcp  --  *   *    192.168.60.99    0.0.0.0/0     tcp spt:80

3        1    40 ACCEPT   tcp  --  *   *    192.168.60.99    0.0.0.0/0     tcp spt:443

4        4   288 ACCEPT   icmp --  *   *    0.0.0.0/0        0.0.0.0/0

5      328 22614 ACCEPT   all  --  *   *    192.168.60.99    0.0.0.0/0    state RELATED,ESTABLISHED

1、优化策略:将多条规则合并成一条。

(1)、使用umltiport扩展模块合并端口模块:[root@stu13 httpd-2.4.9]# ll /lib/xtables-1.4.7/ | grep "multiport"

-rwxr-xr-x. 1 root root 10772 Feb 22  2013 libxt_multiport.so

[root@stu13 httpd-2.4.9]# iptables -I INPUT --dst 192.168.60.99 -p tcp -m multiport --dports 80,443,22 -j ACCEPT

[root@stu13 httpd-2.4.9]# iptables -D INPUT 2

[root@stu13 httpd-2.4.9]# iptables -D INPUT 2

[root@stu13 httpd-2.4.9]# iptables -D INPUT 2[root@stu13 httpd-2.4.9]# iptables -I OUTPUT --src 192.168.60.99 -p tcp -m multiport --sports 80,443,22 -j ACCEPT

[root@stu13 httpd-2.4.9]# iptables -D OUTPUT 2

[root@stu13 httpd-2.4.9]# iptables -D OUTPUT 2

[root@stu13 httpd-2.4.9]# iptables -D OUTPUT 2

(2)、查看合并端口后filter过滤表[root@stu13 ~]# iptables --line-numbers -L -n -v

Chain INPUT (policy DROP 20 packets, 2060 bytes)

num   pkts bytes target     prot opt in     out     source               destination

1      813 49587 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.60.99       multiport dports 80,443,22

2        4   288 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0

3       13   676 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.60.99       tcp dpt:21 state NEW

4      196  9102 ACCEPT     all  --  *      *       0.0.0.0/0            192.168.60.99       state RELATED,ESTABLISHED

Chain FORWARD (policy DROP 0 packets, 0 bytes)

num   pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy DROP 0 packets, 0 bytes)

num   pkts bytes target     prot opt in     out     source               destination

1      165 21277 ACCEPT     tcp  --  *      *       192.168.60.99        0.0.0.0/0           multiport sports 80,443,22

2        4   288 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0

3      355 24153 ACCEPT     all  --  *      *       192.168.60.99        0.0.0.0/0           state RELATED,ESTABLISHED

2、使用iptables/netfiltes提供的状态追踪功能优化防火墙;

iptables/netfiter提供有一个状态追踪功能,只要第一次连接都是NEW状态。下一次连接只要在状态追踪表的计数器的时间没到之前,该客户端重新建立的连接,iptables/netfilter 也认为该连接是ESTABLISHED状态的。

通常情况下,处于ESTABLISHED状态的连接要比处于NEW状态的连接要多得多,那么意味着:ESTABLISHED状态的连接传输的数据报文通常要比NEW状态的连接传输的数据报文要多得多。数据报文经过某链时,数据报文与链中的定义的规则一一做匹配,顺序是从上到下依次做匹配操作。如果数据报文的某些特征,如:源IP地址、目标IP地址、源端口、目标端口、连接的状态、TCP的标志位等,与链中定义的规则匹配到了,就执行【-j】后面的 action(如:DROP|ACCEPT等)。如果数据报文与它经过的链中的规则从上到下一一做匹配,都没有匹配到的话,就执行iptables中定义的默认规policy。因为,定义防火墙规则的时候,首先拒绝所有(默认策略都为:DROP),开放某些服务的数据报文通过.处于ESTABLISHED状态的连接传输的数据报文通常是安全的,应该允许它通过,而数据报文通过的链的要做规则检查的规则又有很多,而处于ESTABLISHED状态的连接,要传输的数据报文很多,那么怎么样要它快速通过iptables/netfilter的防火墙的规则检查呢?(1)、根据防火墙做数据报文的匹配规则,应该让处于ESTABLISHED状态的连接传输的数据报文快速      通过变卦的规则检查,意思是说:防火墙根据连接追踪功能一发现该数据报文是ESTABLISHED      状态的连接发送的,立马发行。做法:把允许处于ESTABLISHED连接的数据报文通过的策略放       在链的所有规则的最前面。

(2)、状态检测,是连接追踪模块实现的。连接追踪模块在内核内存中维护一张追踪表,记录每个连     接的状态,以及连接处于ESTABLISHED的状态的超时时间和可以追踪多少个连接以及目前正追      踪的连接数等等。注意:要根据实际应用开启或关闭连接追踪功能。

连接追踪模块可以追踪的连接数量[root@stu13 httpd-2.4.9]# cat /proc/sys/net/nf_conntrack_max

31928

连接处于ESTABLISHED状态的超时时长[root@stu13 /]# cat /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established

432000  约等于5天。

当前追踪的所有连接:[root@stu13 httpd-2.4.9]# cat /proc/sys/net/netfilter/nf_conntrack_count

3

注意:

如果,我们启用了iptables/netfilterr 的连接追踪功能的话,当前追踪的所有连接数已经达到连接追踪模块可以追踪的连接数量的上限了,且连接追踪到的连接处于ESTABLISHED状态的连接,还没到失效时间。后续新的连接只能等待,iptables/netfilter的连接追踪表有连接的超时时间到。才可以通过我们的防火墙。而防火墙定义的ESTABLISHED状态的走超时时长为5天,而我们的TCP连接在TCP的各种状态的超时时长,都是很短的。所以。会导致大量的后续新的连接被拒绝。也就是出现连接服务器超时的情况发生。所以,根据实际应用调整这些参数很关键。或比较繁忙的服务器就不应该开启iptables/netflter的连接追踪功能。

iptables/netfilter的连接追踪功能是通过下述扩展模块实现的。[root@stu13 httpd-2.4.9]# ll /lib/xtables-1.4.7/ | grep "state"

-rwxr-xr-x. 1 root root  5860 Feb 22  2013 libxt_state.so

提供,允许发往特定端口处于ESTABLISHED状态连接的数据报文通过TCP/IP协议栈,且把该规则放在链的所有规则的最前面。

INPUT表[root@stu13 httpd-2.4.9]# iptables -I INPUT 1 --dst 192.168.60.99 -p tcp -m multiport --dports 80,443,22 -m state --state  ESTABLISHED,NEW -j ACCEPT

[root@stu13 httpd-2.4.9]# iptables -D INPUT 2

OUTPUT表:允许处于ESTABLISHED状态连接的数据报文从本机出去。且把该规则放在链的所有规则的最前面。[root@stu13 httpd-2.4.9]# iptables -I OUTPUT 1 --src 192.168.60.99 -p tcp -m multiport --sports 80,443,22 -m state --state ESTABLISHE -j ACCEPT

[root@stu13 ~]# iptables -D OUTPUT 2

使用状态检测功能优化后的:[root@stu13 ~]# iptables --line-numbers -L -n -v

Chain INPUT (policy DROP 138 packets, 12760 bytes)

num   pkts bytes target     prot opt in     out     source               destination

1      760 49519 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.60.99       multiport dports 80,443,22 state NEW,ESTABLISHED

2       14  1128 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0

3       18   936 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.60.99       tcp dpt:21 state NEW

4      299 13853 ACCEPT     all  --  *      *       0.0.0.0/0            192.168.60.99       state RELATED,ESTABLISHED

Chain FORWARD (policy DROP 0 packets, 0 bytes)

num   pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy DROP 0 packets, 0 bytes)

num   pkts bytes target     prot opt in     out     source               destination

1     1194  153K ACCEPT     tcp  --  *      *       192.168.60.99        0.0.0.0/0           multiport sports 80,443,22 state ESTABLISHED

2       14  1128 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0

3      465 30940 ACCEPT     all  --  *      *       192.168.60.99        0.0.0.0/0           state RELATED,ESTABLISHED

分析:

因为,只要是ESTABLISHED状态的连接的数据报文,是不会有问题的。不需要检测端口了。这样提高了iptable/netfiler检测数据报文的速度。只要是ESTABLISHED状态的连接的数据报文都允许通过。

所以,对上述的INPUT表的第一条规则进行拆分,如下[root@stu13 httpd-2.4.9]# iptables -I INPUT 1 --dst 192.168.60.99 -p tcp -m state --state ESTABLISHED -j ACCEPT

并把发往指定端口的数据报文,进行NEW状态的数据报文检测组成一条规则[root@stu13 httpd-2.4.9]# iptables -I INPUT 2 --dst 192.168.60.99 -p tcp -m multiport --dports 80,443,21,22 -m state --state NEW -j ACCEPT

修改第三条规则[root@stu13 httpd-2.4.9]# iptables -R INPUT 3 --dst 192.168.60.99 -m state --state RELATED -j ACCEPT

删除[root@stu13 httpd-2.4.9]# iptables -D INPUT 3

[root@stu13 httpd-2.4.9]# iptables -D INPUT 4

修改后INPUT表变成[root@stu13 ~]# iptables --line-numbers -L -n -v

Chain INPUT (policy DROP 129 packets, 11581 bytes)

num   pkts bytes target     prot opt in     out     source               destination

1     4793  374K ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.60.99       state ESTABLISHED

2       35  1820 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.60.99       multiport dports 80,443,21,22 state NEW

3        7   364 ACCEPT     all  --  *      *       0.0.0.0/0            192.168.60.99       state RELATED

4        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0

。。。。。。

分析OUTPU表Chain OUTPUT (policy DROP 0 packets, 0 bytes)

num   pkts bytes target     prot opt in     out     source               destination

1     3466  482K ACCEPT     tcp  --  *      *       192.168.60.99        0.0.0.0/0           multiport sports 80,443,22 state ESTABLISHED

2       22  1608 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0

3      547 36931 ACCEPT     all  --  *      *       192.168.60.99        0.0.0.0/0           state RELATED,ESTABLISHED

分析:跟上述一样,允许处于ESTABLISHED状态的连接的数据报文通过TCP/IP协议栈。修改OUTPUT表的第1条与第3条规则

修改第一条规则[root@stu13 httpd-2.4.9]# iptables -R OUTPUT 1 --src 192.168.60.99 -p tcp -m state --state ESTABLISHED -j ACCEPT修改第三条规则[root@stu13 httpd-2.4.9]# iptables -R OUTPUT 3 --src 192.168.60.99 -m state --state RELATED -j ACCEPT

修改后的OOUPUT表的规则如下:[root@stu13 ~]# iptables --line-numbers -L -n -v

。。。。。

Chain OUTPUT (policy DROP 0 packets, 0 bytes)

num   pkts bytes target     prot opt in     out     source               destination

1      794  148K ACCEPT     tcp  --  *      *       192.168.60.99        0.0.0.0/0           state ESTABLISHED

2       22  1608 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0

3        0     0 ACCEPT     all  --  *      *       192.168.60.99        0.0.0.0/0           state RELATED

经过使用端口合并和iptables/netfilter的状态追踪功能优化规则表之后:[root@stu13 ~]# iptables --line-numbers -L -n -v

Chain INPUT (policy DROP 540 packets, 53525 bytes)

num   pkts bytes target     prot opt in     out     source               destination

1      225 10816 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.60.99       state ESTABLISHED

2        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.60.99       multiport dports 80,443,21,22 state NEW

3        0     0 ACCEPT     all  --  *      *       0.0.0.0/0            192.168.60.99       state RELATED

4        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy DROP 0 packets, 0 bytes)

num   pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy DROP 0 packets, 0 bytes)

num   pkts bytes target     prot opt in     out     source               destination

1      194 27924 ACCEPT     tcp  --  *      *       192.168.60.99        0.0.0.0/0           state ESTABLISHED

2        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0

3        0     0 ACCEPT     all  --  *      *       192.168.60.99        0.0.0.0/0           state RELATED

3、使用自定义链分成分成等级iptables规则:

如果,防火墙规则很多的话,这样写就显示得很乱,不明了。造成后续添加规则就在很多不便。因为,每种服务的访问量都不一样。简单的合并多个端口的做法并是不很理想。

最好为开放的每个服务都使用一条自定义链。这样,以后我们要为某服务添加或删除规则只要找到该服务对应的自定义链,就可以操作了,很方便。如下:

(1)、为http 80服务自定义一条链[root@stu13 ~]# iptables -t filter -N http_in

[root@stu13 ~]# iptables -A http_in -d 192.168.60.99 -p tcp --dport 80  -m state --state NEW -j ACCEPT

INPUT链调用该链[root@stu13 ~]# iptables -I INPUT 2 -d 192.168.60.99 -p tcp --dport 80 -j http_in

如果,使用自定义规则检测数据报文没有匹配到则返回主链INPUT[root@stu13 httpd-2.4.9]# iptables -A http_in -j RETURN

(2)、为https 443 服务自定义一条链[root@stu13 ~]# iptables -t filter -N https_in

[root@stu13 ~]# iptables -A https_in -d 192.168.60.99 -p tcp --dport 443 -m state --state NEW -j ACCEPT

调用自定义链[root@stu13 httpd-2.4.9]# iptables -I INPUT 3 -d 192.168.60.99 -p tcp --dport 443 -j https_in

如果,使用自定义规则检测数据报文没有匹配到则返回主链INPUT[root@stu13 httpd-2.4.9]# iptables -A https_in -j RETURN

(3)、为ssh服务自定义一条链[root@stu13 ~]# iptables -t filter -N ssh_in

[root@stu13 ~]# iptables -A ssh_in -d 192.168.60.99 -p tcp --dport 22 -m state --state NEW -j ACCEPT

调用该链[root@stu13 httpd-2.4.9]# iptables -I INPUT 4 -d 192.168.60.99 -p tcp --dport 22 -j ssh_in

如果,使用自定义规则检测数据报文没有匹配到则返回主链INPUT[root@stu13 httpd-2.4.9]# iptables -A ssh_in -j RETURN

(4)、为vsftp文件服务自定义一条链[root@stu13 ~]# iptables -t filter -N vsftp_in

[root@stu13 ~]# iptables -A vsftp_in -d 192.168.60.99 -p tcp --dport 21 -m state --state NEW -j ACCEPT

调用该链[root@stu13 httpd-2.4.9]# iptables -I INPUT 5 -d 192.168.60.99 -p tcp --dport 21 -j vsftp_in

如果,使用自定义规则检测数据报文没有匹配到则返回主链INPUT[root@stu13 httpd-2.4.9]# iptables -A vsftp_in -j RETURN

(5)、删除INPUT链的第6条规则(端口合并那条链)[root@stu13 httpd-2.4.9]# iptables -D INPUT 6

使用自定义链后,规则表如下:[root@stu13 ~]# iptables --line-numbers -L -n -v

Chain INPUT (policy DROP 928 packets, 83409 bytes)

num   pkts bytes target     prot opt in     out     source               destination

1     7351  435K ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.60.99       state ESTABLISHED

2        6   312 http_in    tcp  --  *      *       0.0.0.0/0            192.168.60.99       tcp dpt:80

3        0     0 https_in   tcp  --  *      *       0.0.0.0/0            192.168.60.99       tcp dpt:443

4        2   104 ssh_in     tcp  --  *      *       0.0.0.0/0            192.168.60.99       tcp dpt:22

5        2   104 vsftp_in   tcp  --  *      *       0.0.0.0/0            192.168.60.99       tcp dpt:21

6        8   416 ACCEPT     all  --  *      *       0.0.0.0/0            192.168.60.99       state RELATED

7        8   672 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy DROP 0 packets, 0 bytes)

num   pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy DROP 2 packets, 120 bytes)

num   pkts bytes target     prot opt in     out     source               destination

1     5842  751K ACCEPT     tcp  --  *      *       192.168.60.99        0.0.0.0/0           state ESTABLISHED

2        0     0 ACCEPT     all  --  *      *       192.168.60.99        0.0.0.0/0           state RELATED

3        8   672 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0

Chain http_in (1 references)

num   pkts bytes target     prot opt in     out     source               destination

1        6   312 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.60.99       tcp dpt:80 state NEW

2        0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain https_in (1 references)

num   pkts bytes target     prot opt in     out     source               destination

1        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.60.99       tcp dpt:443 state NEW

2        0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain ssh_in (1 references)

num   pkts bytes target     prot opt in     out     source               destination

1        2   104 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.60.99       tcp dpt:22 state NEW

2        0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain vsftp_in (1 references)

num   pkts bytes target     prot opt in     out     source               destination

1        2   104 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.60.99       tcp dpt:21 state NEW

2        0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

说明:

在INPUT链,根据实际应用情况,服务的访问繁忙程序调整,http_in、https_in、ssh_in、vsftp_in的先后顺序,来优化iptables/netfilter

的效率。

有了自定义链后,数据报文的检查流程如下图:

四、测试优化后的防火墙策略是否成功:

1、测试 http 80 服务[root@nfs ~]# curl http://192.168.60.99/index.html

This Server is OK...

2、测试 ssh 服务[root@nfs ~]# ssh 192.168.60.99

Last login: Mon Aug 18 20:21:25 2014 from 192.168.60.88

3、测试vsftp 服务D:\>ftp 192.168.60.99

连接到 192.168.60.99。

220 (vsFTPd 2.2.2)

用户(192.168.60.99:(none)): ftp

331 Please specify the password.

密码:

230 Login successful.

ftp> get pub/inittab

200 PORT command successful. Consider using PASV.

150 Opening BINARY mode data connection for pub/inittab (884 bytes).

226 Transfer complete.

ftp: 收到 884 字节,用时 0.07秒 12.63千字节/秒。

ftp>

4、测试ping

(1)、ping本主机D:\>ping 192.168.60.99

正在 Ping 192.168.60.99 具有 32 字节的数据:

来自 192.168.60.99 的回复: 字节=32 时间=1ms TTL=64

来自 192.168.60.99 的回复: 字节=32 时间<1ms TTL=64

来自 192.168.60.99 的回复: 字节=32 时间<1ms TTL=64

来自 192.168.60.99 的回复: 字节=32 时间<1ms TTL=64

192.168.60.99 的 Ping 统计信息:

数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),

往返行程的估计时间(以毫秒为单位):

最短 = 0ms,最长 = 1ms,平均 = 0ms

(2)、本主机ping别的主机[root@stu13 ~]# ping -c 1 192.168.60.88

PING 192.168.60.88 (192.168.60.88) 56(84) bytes of data.

64 bytes from 192.168.60.88: icmp_seq=1 ttl=64 time=0.590 ms

--- 192.168.60.88 ping statistics ---

1 packets transmitted, 1 received, 0% packet loss, time 5ms

rtt min/avg/max/mdev = 0.590/0.590/0.590/0.000 ms(3)、回环地址[root@stu13 ~]# ping -c 1 127.0.0.1

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.

64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.375 ms

--- 127.0.0.1 ping statistics ---

1 packets transmitted, 1 received, 0% packet loss, time 0ms

rtt min/avg/max/mdev = 0.375/0.375/0.375/0.000 ms

主机防火墙配置模板linux,主机防火墙的设置与优化相关推荐

  1. mysql的配置中主机地址怎么填_连接到mysql主机数据库配置命令-mysql主机地址

    连接到mysql主机数据库配置命令-mysql主机地址 2019/04/01 作者: 互盟股份 mysql虚拟主机的配置方法是怎样的?要知道,大部分选择虚拟主机的人最常用到的是Windows系统,而在 ...

  2. 深信服防火墙配置详细步骤(防火墙的基本配置方法)

    转载至:深信服防火墙配置详细步骤(防火墙的基本配置方法) - 宝瑞资源网 1.防火墙的产品USG 5000 6000 9000 别离是低端.中端.高端产品. 2.四个区域:(local100.trus ...

  3. SANGFOR 旧防火墙配置怎么导入新防火墙

    环境: 1.旧防火墙 8.0.48 AF-1000BB1510 2.新防火墙 8.0.75 AF-2000-FH2130B-SC 问题描述: 旧防火墙配置怎么导入新防火墙 解决方案: 以下不支持需要手 ...

  4. linux修改宽带拨号密码,linux配置上网 linux adsl拨号上网设置

    linux配置上网 linux adsl拨号上网设置 发布时间:2012-11-21 09:03:54   作者:佚名   我要评论 Linux里面配置ADSL上网是件很麻烦的事.但配置完成之后就能开 ...

  5. linux防火墙富规则,[Linux]Redhat7防火墙配置汇总

    Redhat7防火墙常用配置 重启防火墙服务 systemctl restart firewalld.service 查看防火墙服务状态 systemctl status firewalld.serv ...

  6. graylog3.0配置收集linux主机和windows主机日志

    graylog可以收集操作系统日志,包括linux,windows,macos等.在linux上配置使用rsyslog服务,比较容易,在windows 配置比较复杂. 参考官方配置手册http://d ...

  7. linux禁用防火墙配置,CentOS Linux防火墙配置及关闭

    最近在CentOS Linux下安装配置 Oracle 数据库的时候,总显示因为网络端口而导致的EM安装失败,遂打算先关闭一下防火墙. 偶然看到防火墙的配置操作说明,感觉不错.执行"setu ...

  8. linux和哪些主机配了互信,linux主机互信

    linux配置ssh互信 什么叫linux主机互信: Linux主机互信,就是主机之间相互信任,什么是信任,就像人与人之间一样,不需要利用金钱等(除了你自己以外其他的东西)来取得对方的信任,大家相互信 ...

  9. linux网站搬家win系统,Ecshop网站从windows虚拟主机迁移搬家到linux主机下报错的解决方案...

    Linux主机和windows主机在配置环境上有所不同,所以程序在不同环境上安装.配置的过程中,难免出现问题.无忧主机香港php虚拟主机是linux的主机,最近在帮客户从windows环境下进行网站迁 ...

最新文章

  1. Windows下Git Bash的基本使用
  2. java面试必备小知识_Java面试应该准备的知识点系列一
  3. 基于iscsi实现文件存储共享
  4. 源码编译安装mysql
  5. Vue源码中compiler部分逻辑梳理(内有彩蛋)
  6. Failed to find any matching files for /tmp/resnet_v1_50.ckpt
  7. .NET 是什么意思
  8. C-Wandering Robot 模拟
  9. numpy 代码优化(一)—— 常见手段
  10. linux删除文件文件夹
  11. Unity Lighting - Choosing a Color Space 选择色彩空间(四)
  12. setValue和setObject的区别
  13. bzoj2286: [Sdoi2011消耗战] 虚树构造
  14. C++ operator
  15. 大屏互动-大屏交互-大屏投影技术解决方案
  16. python学习——把Excel的内容自动填写到Word
  17. Android中Uri和Path之间的转换
  18. 微医(挂号网) 自动挂号python
  19. Linux——DNS篇
  20. Django实现刷新验证码功能

热门文章

  1. AI 轻松实现动漫角色转换真人,《飞屋环游记》中的小罗竟酷似他……
  2. 进销存源码下载 mysql_java 进销存管理源码(含mysql脚本)
  3. 我爱你崔紫娟——康益明
  4. JavaScript中的Object常用方法
  5. 内生性问题—工具变量法
  6. Lesson 1 A puma at large 内容鉴赏
  7. May 21st 2017 Week 21st Sunday
  8. 使用libfdk-aac解码AAC-ELD格式的音频
  9. 说说鸡尾酒会问题(Cocktail Party Problem)和程序实现
  10. Vue.use()详解