欢迎光临
我们一直在努力

【基础部分】之Firewall和iptables

Firewalliptables

firewall 和 iptables 默认只能开一个

火墙:

图形界面形式配置火墙 firewall-config

使用命令行接口配置防火墙

查看firewalld的状态: firewall-cmd –state

查看当前活动的区域,并附带一个目前分配给它们的接口列表:

# firewall-cmd –get-active-zones

查看默认区域: # firewall-cmd –get-default-zone

查看所有可用区域: # firewall-cmd –get-zones

列出指定域的所有设置: # firewall-cmd –zone=public –list-all

列出所有区域的设置: # firewall-cmd –list-all-zones

设置默认区域: # firewall-cmd –set-default-zone=trusted

设置网络地址到指定的区域:

# firewall-cmd –permanent –zone=tursted –add-source=172.25.15.0/24

(–permanent参数表示永久生效设置,如果没有指定–zone参数,那么会加入默认区域)

删除指定区域中的网路地址:

# firewall-cmd –permanent –zone=trusted –remove-source=172.25.0.0/24

添加、改变、删除网络接口:

# firewall-cmd –permanent –zone=trusted –add-interface=eth0

# firewall-cmd –permanent –zone=trusted –change-interface=eth0

# firewall-cmd –permanent –zone=trusted –remove-interface=eth0

添加、删除服务:

# firewall-cmd –permanent –zone=public –add-service=smtp

# firewall-cmd –permanent –zone=public –remove-service=smtp

列出、添加、删除端口:

# firewall-cmd –zone=public –list-ports

# firewall-cmd –permanent –zone=public –add-port=8080/tcp

# firewall-cmd –permanent –zone=public –remove-port=8080/tcp

重载防火墙:

# firewall-cmd –reload

(注意:这并不会中断已经建立的连接,如果打算中断,可以使用 –complete-reload选项)

比如你正在ssh连接该主机,该主机重载防火墙 ssh不会断开 仍然可以操作该主机

如果–complete-reload 则ssh会断开。

列出所有预设服务: # firewall-cmd –get-services

在/usr/lib/firewalld/services/ 中的可以查看服务名称。注意:配置文件是以服务本身命名的

service-name. Xml 如下

以http为例子

默认 端口为80 如果想改端口 可以在这里修改

Direct Rules

firewall-cmd –direct –add-rule ipv4 filter INPUT 0 -p tcp –dport 22 -s 172.25.15.10 -j REJECT

添加rule 拒绝172.25.15.10 主机访问22端口(ssh)

firewall-cmd –direct –get-all-rules 查看所有rule

firewall-cmd –direct –remove-rule ipv4 filter INPUT 0 -p tcp –dport 22 -s 172.25.15.10 -j REJECT (删除的是上面查看出来的)

firewall-cmd –direct –add-rule ipv4 filter INPUT 0 -p tcp –dport 22 ! -s 172.25.15.10 -j REJECT

添加rule 拒绝除了172.25.15.10主机以外的任何主机连接

Rich Rules

使用规则

firewall-cmd –remove-service=ssh (禁止访问ssh服务)

firewall-cmd –add-rich-rule=’rule family="ipv4" source address="172.25.15.10" accept’

允许172.25.15.10主机所有连接。

firewall-cmd –permanent –add-rich-rule=’rule protocol value=icmp drop’ (禁止 ping )

丢弃所有icmp包

端口转发:(外网通过端????口转发连接内网)

325:开启地址转换功能

326:访问本机的80端口转发到15.10主机的22端口

伪装:(内网通过ip伪装访问外网)

要求:一台单网卡172.25.15.10。一台双网卡作为网关172.25.15.11 172.25.254.115

双网卡:firewall-cmd –add-masquerade

firewall-cmd –add-rich-rule=’rule family=ipv4 source address=172.25.254.115’

(地址伪装为254.115)

则单网卡机器 可以ping通 254网段

IPTABLES

Iptables -nL 查看策略

Iptables -t filter -nL 查看filter表的策略

Iptables -t nat -nL 查看nat表的策略

Iptables -F 刷新策略(清空)

Iptables-save > /etc/sysconfig/iptables (保存修改的策略)

如何写策略:

131行: 写入允许该主机连接任何端口

133行: 写入允许lo回环连接任何端口

135行:拒绝所有写入

137行:允许访问22端口

139行:删除INPUT里第4行

141行:插入允许访问22端口到第三行

143行:修改拒绝访问22端口在第三行

145行:删除第三行策略

策略有从上至下的顺序问题:拒绝所有访问在第三行,允许访问22端口在第四行,结果22端口不能被访问。因为策略的顺序问题

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。