设为首页 收藏本站
查看: 1268|回复: 0

[经验分享] linux系统iptables的使用

[复制链接]

尚未签到

发表于 2019-2-18 08:42:35 | 显示全部楼层 |阅读模式
一,iptables和firewalld比较
  在CentOS 7系统中,firewalld防火墙取代了iptables防火墙。其实,iptables与firewalld都不是真正的防火墙,它们都只是用来定义防火墙策略的防火墙管理工具或者服务。
iptables服务会把配置好的防火墙策略交由内核层面的netfilter网络过滤器来处理,而firewalld服务则是把配置好的防火墙策略交由内核层面的nftables包过滤框架来处理。换句话说,当前在Linux系统中其实存在多个防火墙管理工具,旨在方便运维人员管理Linux系统中的防火墙策略,我们只需要配置妥当其中的一个就足够了。虽然这些工具各有优劣,但它们在防火墙策略的配置思路上是保持一致的。

二,iptables语法
  语法:

iptables (选项) (参数)
  iptables命令选项输入顺序:

iptables -t 表名  规则链名 [规则号]  -p 协议名  --sport 源端口  --dport 目标端口 -j 触发动作(目标值)
  注:
-t(table) 表     四表:filter,nat,mangle,raw     (默认表是filter)
-A(append) 追加添加           -I(insert)插入 行号   -D(delete)删除  行号   -R(replace)替换
-i(in-interface)流入接口         -o(out-interface)流出接口
-p(protocol) 协议          tcp, udp, udplite, icmp等
-s(source) 源地址                  --sport(source port)源端口
-d(destination)目标地址         --dport(destination port) 目标端口
-j(jump) 执行    ACCPET/DROP/REJECT/DNAT/SNAT/MASQUERADE/REDIRECT/LOG(必须大写)

三,iptables工作流程

iptables过滤的规则顺序是:
由上至下,匹配即停止。
iptables有四表和五链:(链名必须大写)
四表:
filter(过滤规则表):(默认)INPUT,OUPUT,FORWARD
nat(地址转发规则表):PREROUTING,OUTPUT,POSTROUTING
mangle(修改数据位规则表):PREROUTING,INPUT,OUPUT,FORWARD,POSTROUTING
raw(跟踪数据表规则表):PRERONTING,OUTOUT

  五链:PREROUTING(路由前过滤),INPUT(入站过滤),OUTPUT(出站过滤),FORWARD(转发过滤),POSTROUTING(路由后过滤)

四,iptables命令
  以下配置的系统环境:redhat6.7

[root@host61 ~]# cat /etc/redhat-release   
Red Hat Enterprise Linux Server release 6.7 (Santiago)
  首先是防火墙服务的启动停止:

service iptables save | stop | start | restart | status     #CentOS6保存,停止,启动,重启,查看状态,保存
chkconfig iptables on| off                                                #开机自起或关闭
systemctl stop | start | restart | status   firewalld          #CentOS7停止,启动,重启,查看状态
systemctl enable | disable firewalld                             #开机自起或关闭
  防火墙基本基本命令:

iptables -F     #清除预设表filter中的所有规则链的规则
iptables -X     #清除预设表filter中使用者自定链中的规则  及 使用 iptables -N xxx 新增自定义的 chain
iptables -P INPUT DROP  #定义过滤政策
iptables -D INPUT 1   #删除第一条
iptables -nL   --line    #显示防火墙规则表和序号
  1.主机型防火墙

每次配置完后需要保存配置:
/etc/init.d/iptables  save 或者 serveice iptables save  或者 iptables-save
  1.1 在61主机上开启iptables服务。只允许192.168.4.254的主机访问自己的ssh服务。

[root@host61 ~]# iptables -F
[root@host61 ~]# iptables  -t  filter  -A  INPUT  -s  192.168.4.254 -p tcp  --dport 22  -j ACCEPT
[root@host61 ~]# iptables  -t  filter   -P  INPUT  DROP
[root@host61 ~]# serveice iptables save
[root@host61 ~]# iptables  -t  filter  -nL  INPUT
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  192.168.4.254        0.0.0.0/0           tcp dpt:22
  1.2 在61主机上添加1条新的规则,允许网络中的所有主机访问本机的网站服务。

[root@host61 ~]# iptables  -t  filter  -A  INPUT    -p tcp  --dport  80  -j   DROP
[root@host61 ~]# serveice iptables save
[root@host61 ~]# iptables  -t  filter  -nL  INPUT
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  192.168.4.254        0.0.0.0/0           tcp dpt:22
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
  1.3 在61主机上添加1条新的规则,不允许192.168.4.62主机访问本机的网站服务。

[root@host61 ~]# iptables  -t  filter  -I  INPUT  2  -s  192.168.4.62  -p tcp  --dport  80  -j  ACCEPT
[root@host61 ~]# serveice iptables save
[root@host61 ~]# iptables  -t  filter  -nL  INPUT
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  192.168.4.254        0.0.0.0/0           tcp dpt:22
ACCEPT     tcp  --  192.168.4.62         0.0.0.0/0           tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
  1.4 在61主机上添加新的规则,61可以ping网络中的其他主机 ,但其他主机不可以ping61主机。

[root@host61 ~]# iptables  -t  filter  -A  INPUT  -p  icmp   --icmp-type  echo-reply  -j  ACCEPT
[root@host61 ~]# serveice iptables save
[root@host61 ~]# iptables  -t  filter  -nL  INPUT
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  192.168.4.254        0.0.0.0/0           tcp dpt:22
ACCEPT     tcp  --  192.168.4.62         0.0.0.0/0           tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 0
  2.网络型型防火墙

注:主机65和67的网关是192.168.4.68
2.1 让局域网内所有的主机共享一个公网ip地址上网。

[root@host68 ~]# iptables -F
[root@host68 ~]# iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -o eth1 -j SNAT --to-source 192.168.2.68
[root@host68 ~]# iptables --flush  
[root@host68 ~]# iptables -t nat -nL POSTROUTING
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       all  --  192.168.4.0/24       0.0.0.0/0           to:192.168.2.68
  2.2 发布局域网内的网站服务。

[root@host68 ~]# iptables -t nat -A PREROUTING -i eth1 -d 192.168.2.68 -p tcp --dport 80 -j DNAT --to-destination 192.168.4.67
[root@host68 ~]# iptables -t nat -nL PREROUTING
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  0.0.0.0/0            192.168.2.68        tcp dpt:80 to:192.168.4.67
共勉:I hear and I forget , I see and I remember, I do and I understand!
  参考资料:
http://man.linuxde.net/iptables
https://www.cnblogs.com/alimac/p/5848372.html
https://www.cnblogs.com/can-H/p/6726743.html
http://www.benet.wang/%E6%8A%80%E6%9C%AF%E9%9D%A2%E8%AF%95/174.html
https://www.cnblogs.com/wajika/p/6382853.html
http://www.iyunv.net/article/112698.htm




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-673759-1-1.html 上篇帖子: linux的awk命令 下篇帖子: Linux为何深受欢迎?Linux学习
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表