linux登录防火墙设置方法,Linux网络服务之防火墙 iptables设定教程,linuxiptables

本文详细介绍了Linux系统中iptables防火墙的设置方法,包括安装、启用、查看和清除规则,以及添加、修改和删除策略。实验部分展示了如何允许特定端口和IP的访问,以及通过SNAT实现NAT地址转换。此外,还提到了内核参数`ip_forward`对网络路由的影响。整个教程旨在帮助读者掌握iptables的基本操作和优化防火墙规则。
摘要由CSDN通过智能技术生成

Linux网络服务之防火墙 iptables设定教程,linuxiptables

Linux网络服务之防火墙 iptables设定教程

1.超级火墙管理

查看软件yumsearchiptables

yumlistiptables-services.x86_64

安装软件yuminstalliptables-y

关闭普通火墙systemctlstopfirewalld

systemctlmaskfirewalld

systemctlstartiptables.service

systemctlenableiptables.service

不解析列出火墙设置iptables-nL //n不解析,L列出

配置文件vim/etc/sysconfig/iptables

刷新,临时清空iptables-F

清空>/etc/sysconfig/iptables

方法二,临时清空后serviceiptablessave保存设定

添加火墙策略设置iptables-AINPUT-jACCEPT

策略保存serviceiptablessave

【实验】

[root@server103~]#yumsearchiptables

iptables-services.x86_64

[root@server103~]#yumlistiptables-services.x86_64

[root@server103~]#systemctlstopfirewalld

[root@server103~]#systemctlmaskfirewalld

ln-s'/dev/null''/etc/systemd/system/firewalld.service'

[root@server103~]#systemctlstartiptables.service

[root@server103~]#systemctlenableiptables.service

ln-s'/usr/lib/systemd/system/iptables.service''/etc/systemd/system/basic.target.wants/iptables.service'

[root@server103~]#iptables-nL

20180301102405816.png

[root@server103~]#vim/etc/sysconfig/iptables

20180301102405817.png

[root@server103~]#iptables-F

[root@server103~]#iptables-nL

20180301102405819.png

[root@server103~]#iptables-F

[root@server103~]#iptables-nL //此时为临时,重启动后失效

20180301102405822.png

[root@server103~]#systemctlrestartiptables.service

[root@server103~]#iptables-nL

20180301102405816.png

[root@server103~]#>/etc/sysconfig/iptables //清空

[root@server103~]#iptables-F

[root@server103~]#iptables-nL

20180301102405822.png

[root@server103~]#systemctlrestartiptables.service

[root@server103~]#iptables-nL

20180301102405822.png

添加火墙策略设置

[root@server103~]#iptables-AINPUT-jACCEPT

[root@server103~]#iptables-nL

20180301102406824.png

[root@server103~]#serviceiptablessave//策略保存

iptables:Savingfirewallrulesto/etc/sysconfig/iptables:[OK]

2.iptables的设定

查看帮助manipitables

-t指定表名filter -s来源sorce -i匹配端口eg:-i lo lo回环接口

-A添加 -d目的地 -o端口

-I插入INPUT -p方式port --dport端口

-D删除 -j动作 ACCEPT|REJECT|DROP

filter所有经过本机内核的数据

nat从本机通过的数据不经过内核

iptables-tfilter-AINPUT-ilo-jACCEPT

iptables-tfilter-AINPUT-s172.25.254.3-jACCEPT

【实验】

查看三个表

[root@server103~]#iptables-tnat-nL

20180301102405822.png

[root@server103~]#iptables-tfilter-nL

20180301102406825.png

[root@server103~]#iptables-tmangle-nL

20180301102406826.png

设置端口设定

[root@server103~]#iptables-tfilter-AINPUT-ilo-jACCEPT

[root@server103~]#iptables-tfilter-AINPUT-s172.25.254.3-jACCEPT

[root@server103~]#iptables-nL

20180301102406827.png

[root@server103~]#iptables-AINPUT-jREJECT

[root@server103~]#iptables-DINPUT1

[root@server103~]#iptables-DINPUT2

[root@desktop203westos]#sshroot@172.25.254.103//此时无法连接

ssh:connecttohost172.25.254.103port22:Connectionrefused

[root@server103~]#iptables-AINPUT-s172.25.254.203-ptcp--dport22-jACCEPT

[root@server103~]#iptables-nL

ACCEPTtcp--172.25.254.2030.0.0.0/0tcpdpt:22

插入

[root@server103~]#iptables-IINPUT1-s172.25.254.20-ptcp--dport22-jACCEPT

[root@server103~]#iptables-nL

ACCEPTtcp--172.25.254.200.0.0.0/0tcpdpt:22

ACCEPTtcp--172.25.254.2030.0.0.0/0tcpdpt:22

[root@server103~]#systemctlstartsmb

[root@desktop203westos]#smbclient-L//172.25.254.103

Enterroot'spassword:

Connectionto172.25.254.103failed(ErrorNT_STATUS_CONNECTION_REFUSED)

此时需要开启139和445端口

[root@server103~]#iptables-IINPUT1-s172.25.254.203-ptcp--dport139-jACCEPT

[root@server103~]#iptables-IINPUT1-s172.25.254.203-ptcp--dport445-jACCEPT

[root@desktop203westos]#smbclient-L//172.25.254.103

Enterroot'spassword:

Domain=[WESTOS_SERVER103]OS=[Unix]Server=[Samba4.1.1]

SharenameTypeComment

--------------------

DATADisklocalsambadir

SYSTEMCTLDATADisk/mnt

IPC$IPCIPCService(helloworld103)

Domain=[WESTOS_SERVER103]OS=[Unix]Server=[Samba4.1.1]

ServerComment

----------------

WorkgroupMaster

----------------

!!!!!!!!!!!!!!!!

iptables-nL中是从上往下依次执行,要注意顺序

7.iptables策略设置二

-R修改策略信息

-P(大写)更改默认设定Policy,默认只能用ACCEPT和DROP

-N添加

-E更名

-X删除

【实验】

[root@server103~]#iptables-RINPUT2-s172.25.254.203-ptcp--dport53-jACCEPT

[root@server103~]#iptables-nL

ACCEPTtcp--172.25.254.2030.0.0.0/0tcpdpt:53

[root@server103~]#iptables-PINPUTDROP

[root@server103~]#iptables-nL

ChainINPUT(policyDROP)

[root@server103~]#iptables-PINPUTACCEPT

[root@server103~]#iptables-tfilter-Nwestos

[root@server103~]#iptables-nL

Chainwestos(0references)

targetprotoptsourcedestination

[root@server103~]#iptables-tfilter-EwestosWESTOS

[root@server103~]#iptables-nL

ChainWESTOS(0references)

[root@server103~]#iptables-tfilter-XWESTOS

[root@server103~]#iptables-nL

此时的WESTOS消失

8.超级火墙的优化

iptables-F

netstat-antlupe

-m

iptables-AINPUT-mstate--stateNEW-ilo-jACCEPT //允许回环接口接入

iptables-AINPUT-mstate--stateNEW-ptcp--dport22-jACCEPT //允许ssh接口接入

iptables-AINPUT-mstate--stateNEW-ptcp--dport53-jACCEPT //允许dns接口接入

iptables-AINPUT-mstate--stateNEW-ptcp--dport139-jACCEPT //允许smb接口接入

iptables-AINPUT-mstate--stateNEW-ptcp--dport445-jACCEPT //允许smb接口接入

iptables-AINPUT-mstate--stateNEW-ptcp--dport80-jACCEPT //允许http接口接入

iptables-AINPUT-mstate--stateNEW-ptcp--dport443-jACCEPT //允许https接口接入

iptables-AINPUT!-s172.25.254.3-jACCEPT //不允许不是3的机器接入,满足3或者满足以上所有才可接入

iptables-nL

serviceiptablessave //保存

//RELATED 以前来过的端口,历史记录存在过的

//ESTABLISHED 正在进行的端口

【实验】

[root@server103~]#iptables-F

[root@server103~]#iptables-nL

20180301102406828.png

[root@server103~]#netstat-antlupe

tcp00172.25.254.103:22172.25.254.3:40876ESTABLISHED0989205720/sshd:root@pts

[root@server103~]#iptables-AINPUT-mstate--stateNEW-ilo-jACCEPT[root@server103~]#iptables-AINPUT-mstate--stateNEW-ptcp--dport22-jACCEPT

[root@server103~]#iptables-AINPUT-mstate--stateNEW-ptcp--dport53-jACCEPT

[root@server103~]#iptables-AINPUT-mstate--stateNEW-ptcp--dport80-jACCEPT

[root@server103~]#iptables-AINPUT-mstate--stateNEW-ptcp--dport443-jACCEPT

[root@server103~]#iptables-AINPUT!-s172.25.254.3-jACCEPT

[root@server103~]#iptables-nL

20180301102406829.png

//RELATED 以前来过的端口,历史记录存在过的

//ESTABLISHED 正在进行的端口

[root@server103~]#serviceiptablessave

iptables:Savingfirewallrulesto/etc/sysconfig/iptables:[OK]

10.NAT的设置源地址转换

【准备】

virt-manager虚拟机管理器

server加一个网卡,设置为192.168.0.103

desktop单网卡设置为192.168.0.203

检测desktop ping方法

route-n检测网关设置

ifconfig检测ip设置

iptables-tnat-APOSTROUTING-oeth0-jSNAT--to-source172.25.254.103

把192.168.0.203发送来的数据包来源转换为172.25.254.103

在desktop加入网关192.168.0.103,重启网络route-n查看

20180301102406830.png

【实验】

[root@server103~]#iptables-tnat-nL //查看

ChainPOSTROUTING(policyACCEPT) //表示在路由后

[root@server103~]#iptables-tnat-APOSTROUTING-oeth0-jSNAT--to-source172.25.254.103 //SNAT源地址转换

[root@server103~]#iptables-tnat-nL

ChainPOSTROUTING(policyACCEPT)

targetprotoptsourcedestination

SNATall--0.0.0.0/00.0.0.0/0to:172.25.254.103

在desktop加入网关192.168.0.103,重启网络route-n查看ping172.25.254.103检测(可通)

20180301102406831.png

ping172.25.254.3不通

------------>原因:内核功能未开启(路由)

[root@server103~]#sysctl-a|grepip_forward

net.ipv4.ip_forward=0

[root@server103~]#vim/etc/sysctl.conf

5net.ipv4.ip_forward=1

[root@server103~]#sysctl-p

net.ipv4.ip_forward=1

此时用desktop客户机ping172.25.254.3可通

检测:

用192.168.0.203sshroot@172.25.254.3

后用w查看访问的数据来源

20180301102407832.png

20180301102407833.png

[root@server103~]#iptables-tnat-APREROUTING-ieth0-jDNAT--to-dest192.168.0.203 //-iinput数据入口数据入口eth1看不到,不能用eth1

[root@server103~]#iptables-nL

[root@server103~]#iptables-nL-tnat

20180301102407834.png

http://www.dengb.com/Linuxjc/1307794.htmlwww.dengb.comtruehttp://www.dengb.com/Linuxjc/1307794.htmlTechArticleLinux网络服务之防火墙 iptables设定教程,linuxiptables Linux网络服务之防火墙 iptables设定教程 1.超级火墙管理 查看软件yumsearchiptables yumlistipta...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值