最好的起点就是先通过“-L”参数来查看下当前系统的所有IPTables规则:
sudo iptables -L
我们可以看到Linux中都有的3个常用默认链(INPUT、OUTPUT和FORWARD),同时也可以看到每个链的缺省策略(每个链对默认策略都是接受),在此我们可以看到Ubuntu中并没有添加任何默认规则集。
内容来源重庆思庄论坛:
防火墙的作用:
可以通过设置ip白名单/黑名单的方式限制外部ip的访问或者限制访问内部某个端口;
添加防火墙过滤规则步骤如下
1、查看现有防火墙过滤规则:
iptables -nvL --line-number
2、添加防火墙过滤规则(设置白名单):
1)添加白名单
iptables -I INPUT 3 -s 196.168.133.5 -p tcp --dport 1521 -j ACCEPT
命令详解:
-I:添加规则的参数
INPUT:表示外部主机访问内部资源
3:表示添加到第三行(可以任意修改)
-s:指定作为源地址匹配,这里不能指定主机名称,必须是IP;
-p: 用于匹配协议的(这里的协议通常有3种,TCP/UDP/ICMP)
--dport: 用于匹配端口号
-j: 用于匹配处理方式:
常用的ACTION:
DROP:悄悄丢弃
一般我们多用DROP来隐藏我们的身份,以及隐藏我们的链表
REJECT:明示拒绝
ACCEPT:接受
2)查看添加结果
iptables -nvL --line-number
你是在弄防火墙吧,1,添加filter表
[root@linux ~]# iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT //开放21端口
出口我都是开放的iptables -P OUTPUT ACCEPT,所以出口就没必要在去开放端口了。
2,添加nat表
[root@linux ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE
将源地址是 192.168.10.0/24 的数据包进行地址伪装,可根据自己实际IP修改
3,以下实例 :-A默认是插入到尾部的,可以-I来插入到指定位置
[root@linux ~]# iptables -I INPUT 3 -p tcp -m tcp --dport 20 -j ACCEPT
[root@linux ~]# iptables -L -n --line-number
三,查下iptable规则
1,查看filter表
[root@linux ~]# iptables -L -n --line-number |grep 21 //--line-number可以显示规则序号,在删除的时候比较方便
5ACCEPT tcp -- 192.168.1.0/24 0.0.0.0/0 tcp dpt:21
如果不加-t的话,默认就是filter表,查看,添加,删除都是的
2,查看nat表
[root@linux ~]# iptables -t nat -vnL POSTROUTING --line-number
四,修改规则
[root@linux ~]# iptables -R INPUT 3 -j DROP//将规则3改成DROP
五,删除iptables规则
[root@linux ~]# iptables -D INPUT 3 //删除input的第3条规则
[root@linux ~]# iptables -t nat -D POSTROUTING 1 //删除nat表中postrouting的第一条规则
[root@linux ~]# iptables -F INPUT //清空 filter表INPUT所有规则
[root@linux ~]# iptables -F//清空所有规则
[root@linux ~]# iptables -t nat -F POSTROUTING //清空nat表POSTROUTING所有规则
六,设置默认规则
[root@linux ~]# iptables -P INPUT DROP //设置filter表INPUT默认规则是 DROP
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)