本文主要是介绍火墙配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在linux系统里,防火墙其实就是一张表iptables,在数据包传输的时侯,如果表中允许通过的话,数据包就可以通过,如果表中不允许通过的话,就会被拒绝。配置火墙其实就是给表中写入数据。写入数据有两种模式,一种是firewalld的模式,另一种是iptables模式。下来就逐一进行介绍。
fireword模式:
firewalld的图形管理:
安装并打开firewalld服务,执行以下命令,就会进入firewalld的图形管理界面:
进入图形管理界面后,如下所示:
1.zone(网络区):
block(限制) #拒绝所有网络连接
dmz(非军事区) #仅接受ssh连接
drop(丢弃) #任何接受的网络数据包都会被丢弃
external(外部) #出去的ipv4网络连接通过此区域伪装和转发,仅接受ssh'服务
home(家庭) #用于家庭网络,仅接受ssh,mdns,ipp-client,samba-clien或者dhcpv6-client服务
internal(内部) #用于内部网络连接,仅接受ssh,mdns,ipp-client,samba-clien,dhcpv6-client服务
public(公共) #在公共区域使用,仅接受ssh或dhcpv6-client服务连接,为firewalld的默认区域
trusted (信任) #可接受所有网络连接
work(工作) #用于工作区,仅接受ssh,ipp-client或dhcpv6-client服务连接
2.configuration中有两种模式,一种是Runtime临时设置,一种是Permanent永久设置。临时设置的直接启用,永久设置在重启后才会被启用。
可以用以下命令对火墙进行监控:
在临时设置时,直接被启用,如图中的dns服务:
在永久设置时,只有在服务被重启之后才会被启用:
如果要修改网络域的话,点击右上角的option-->change defaultzone,如下:
在默认情况下firewalld是不支持http服务的,但是在service加入hhtp服务之后就被允许,如下:
在默认情况下,火墙支持http服务的端口是80,如果在服务端将http的端口改为8080的话,火墙就不允许访问apache如下:
要能够访问apache的话,需要在火墙对http服务的配置文件中修改端口为8080,如下:
除了以配置文件的方式修改端口,还可以通过图形界面修改端口,如下:
查看firewall状态,如下:
查看火墙支持的网段:
查看火墙的默认网络域:
查看trusted网络区的信息:
查看firewalld所支持的服务:
修改默认网络区:
查看所有的网络区:
列出所有的网络区:
添加trusted支持的地址,添加后172.25.254.60所有的数据包都可以通过:
移除trusted支持的地址:
列出默认的网络区:
通过火墙设置控制网络接口的开合:
服务器有两个网络接口eth0和eth1,eth0的ip地址为172.25.254.160.eth1的ip地址为172.25.60.160,通过以下设置可以使172.25.60.160无法访问。
首先将eth1从public网络区移除,然后将eth1添加到block网络区,这样就可以实现网络接口的控制,如下:
添加public网络区的端口,永久添加后,需要重新加载:
除了命令形式,还可以在/etc/firewalld/zones/public.xml文件中添加端口,如下:
拒绝所有来自172.25.254.60主机的数据包:
除了172.25.254.60主机外拒绝其它地址访问tcp协议下22端口,即ssh服务:
firewalld模式下路由功能的实现,因为firewall的智能化,172.25.60.161主机的网关设置为172.25.60.160,在服务端将火墙的伪装功能打开,它就可以访问172.25.254网段的主机。如下:
iptables模式:
首先安装iptables,然后将firewall关闭,并锁住,打开iptables,如下:
-A #添加 -m #状态
-D #删除 -i #输入
-p #协议 -o #输出
-dport #目的地端口 -sport #源地址端口
-j #动作 -t #表
-n #不解析 -L #显示
-F #刷新 -I #插入
-N #添加一个链 -E #替换链名
-X #删除链 -s #源
-P -R
查看iptables:
刷新iptables,将里面的内容全部刷掉,列出filter表:
保存所写入的内容:
拒绝所有访问:
使已经访问过和正在访问过的数据包通过,允许新的数据访问tcp协议的22(ssh服务)端口,和80(http服务)端口,其它的数据包不允许通过:
使从eth0网络接口出去的数据,都转到172.25.254.160主机上,并编辑该文件:
写入如下内容:
刷新:
此时172.25.254.60.161的主机就可以连接上172.25.254.160的主机:
除了以配置文件的方式修改端口,还可以通过图形界面修改端口.
这篇关于火墙配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!