你的位置:首页 > 操作系统

[操作系统]17、本地防火墙

本地防火墙

 

[root@localhost root]#  vi   fw.sh

#! /bin/bashmodprobe ip_conntrack_ftpIPT="iptables -A INPUT"iptables -F INPUT$IPT -i lo -j ACCEPT$IPT -p tcp -s 192.168.170.0/24 -m multiport \--dport 21,25,80,110 -j ACCEPT$IPT -p tcp -s 192.168.170.1 --dport 22 -j ACCEPT$IPT -m state --state RELATED,ESTABLISHED -j ACCEPT$IPT -j REJECT

(解释)
modprobe ip_conntrack_ftp
显式加进模块,为了解决 ftp可以连接,但是命令(如ls )执行不了
 
IPT="iptables -A INPUT"

—A 表示添加规则—D 表示删除规则—F 表示清空规则

iptables -F INPUT
清空INPUT链
$IPT -i lo -j ACCEPT-i  进入的接口
-o 出去的接口
即是回送的接口都接收
 
$IPT -p tcp -s 192.168.170.0/24 -m multiport \--dport 21,25,80,110 -j ACCEPT
-p  tcp/udp/imap
-s  源IP

-d 目标IP

--sport  源端口
—dport  目标端口

192.168.170.0/24 网段的,端口为21,25,80,110的包都接收

$IPT -p tcp -s 192.168.170.1 --dport 22 -j ACCEPT
允许Windows本地连接Linux(PuTTY使用)
$IPT -m state --state RELATED,ESTABLISHED -j ACCEPT

state:

NEW 新建连接RELATED 相关连接ESTABLISHED 已建立连接INVALID 非法连接

允许相关连接,已建立连接的后面的包接收

 
$IPT -j REJECT

不符合上面的全部拒绝

 
[root@localhost root]#  

sh  fw.sh

 

在Windows下,用命令行

image

 

然后

[root@localhost root]# vi  fw.sh

去把21端口删除,保存

【root@localhost root]#  sh  fw.sh

在Windows下,用命令行

image

有上面二图,可知道FTP 使用21端口

 

然后验证80端口

[root@localhost root]# cat > /var/www/html/index.html
helloworld
image

 

同上面一样,把80去掉

再用浏览器就浏览不到页面,证明要用到80端口

image

 

 

基本完了,下次发个   期中卷的内容