Linux查看开放端口_linux查看对外端口

2022-10-02 10:02:12 浏览数 (2)

大家好,又见面了,我是你们的朋友全栈君。

CentOS7

想通过防火墙打开8080端口登录tomcat却发现提示 /etc/rc.d/init.d/iptable.找不到文件, 最后发现因为于CentOS7不用iptables执行命令了,所以应用firewall相关命令控制防火墙

介绍

防火墙守护 firewalld 服务引入了一个信任级别的概念来管理与之相关联的连接与接口。它支持 ipv4 与 ipv6,并支持网桥,采用 firewall-cmd (command) 或 firewall-config (gui) 来动态的管理 kernel netfilter 的临时或永久的接口规则,并实时生效而无需重启服务。

Firewall 能将不同的网络连接归类到不同的信任级别,Zone 提供了以下几个级别

drop: 丢弃所有进入的包,而不给出任何响应 block: 拒绝所有外部发起的连接,允许内部发起的连接 public: 允许指定的进入连接 external: 同上,对伪装的进入连接,一般用于路由转发 dmz: 允许受限制的进入连接 work: 允许受信任的计算机被限制的进入连接,类似 workgroup home: 同上,类似 homegroup internal: 同上,范围针对所有互联网用户 trusted: 信任所有连接

安装

代码语言:javascript复制
# yum install firewalld
如果需要图形界面的话,则再安装
# yum install firewall-config

使用

代码语言:javascript复制
# 开启防火墙
systemctl start firewalld.service
# 防火墙开机启动
systemctl enable firewalld.service
# 关闭防火墙
systemctl stop firewalld.service
# 查看防火墙状态
firewall-cmd --state
# 查看现有的规则
iptables -nL
# 重载防火墙配置
firewall-cmd --reload
# 添加单个单端口
firewall-cmd --permanent --zone=public --add-port=81/tcp
# 添加多个端口
firewall-cmd --permanent --zone=public --add-port=8080-8083/tcp
# 删除某个端口
firewall-cmd --permanent --zone=public --remove-port=81/tcp
# 针对某个 IP开放端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="6379" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.233" accept"
# 删除某个IP
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.51" accept"
# 针对一个ip段访问
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.0/16" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="9200" accept"
# 添加操作后别忘了执行重载
firewall-cmd --reload
查看指定级别的所有信息,譬如 public
#firewall-cmd --zone=public --list-all
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client http ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:

常见问题

centos7里面除了默认的firewall还有一个selinux会对开放端口有影响

代码语言:javascript复制
永久关闭
修改selinux的配置文件,重启后生效。
打开 selinux 配置文件
[root@localhost ~]# vim /etc/selinux/config
修改 selinux 配置文件
将SELINUX=enforcing改为SELINUX=disabled,保存后退出
reboot #重启服务器

CentOS6

linux 查看并对外开放端口(防火墙拦截处理)

查看端口是否可访问:telnet ip 端口号 (如本机的35465:telnet localhost 35465)

开放的端口位于/etc/sysconfig/iptables中

查看时通过 more /etc/sysconfig/iptables 命令查看

如果想开放端口(如:8889)

(1)通过vi /etc/sysconfig/iptables 进入编辑增添一条-A INPUT -p tcp -m tcp –dport 8889 -j ACCEPT 即可

(2)执行 /etc/init.d/iptables restart 命令将iptables服务重启

#(3)保存 /etc/rc.d/init.d/iptables save

注:如若不想修改iptables表,可以直接输入下面命令:

# iptables -I INPUT -p tcp –dport 8889 -j ACCEPT

附:参考自:http://www.cnblogs.com/alimac/p/5848372.html

[iptables -A和-I的区别](https://www.cnblogs.com/mustark/p/11189883.html)

若/etc/sysconfig/iptables不存在,

原因:在新安装的linux系统中,防火墙默认是被禁掉的,一般也没有配置过任何防火墙的策略,所有不存在/etc/sysconfig/iptables文件。

解决:

  1. 在控制台使用iptables命令随便写一条防火墙规则,如:iptables -P OUTPUT ACCEPT
  2. 使用service iptables save进行保存,默认就保存到了/etc/sysconfig目录下的iptables文件中

Linux防火墙iptables学习笔记

一、概要 1、防火墙分类 ①包过滤防火墙(pack filtering)在网络层对数据包进行选择过滤,采用访问控制列表(Access control table-ACL)检查数据流的源地址,目的地址,源和目的端口,IP等信息。 ②代理服务器型防火墙 2、iptables基础 ①规则(rules):网络管理员预定义的条件 ②链(chains): 是数据包传播的路径 ③表(tables):内置3个表filter表,nat表,mangle表分别用于实现包过滤网络地址转换和包重构的功能 ④filter表是系统默认的,INPUT表(进入的包),FORWORD(转发的包),OUTPUT(处理本地生成的包),filter表只能对包进行授受和丢弃的操作。 ⑤nat表(网络地址转换),PREROUTING(修改即将到来的数据包),OUTPUT(修改在路由之前本地生成的数据包),POSTROUTING(修改即将出去的数据包) ⑥mangle表,PREROUTING,OUTPUT,FORWORD,POSTROUTING,INPUT 3、其它 iptables是按照顺序读取规则 防火墙规则的配置建议 Ⅰ 规则力求简单 Ⅱ 规则的顺序很重要 Ⅲ 尽量优化规则 Ⅳ 做好笔记 二、配置 1、iptables命令格式 iptables [-t 表] -命令 匹配 操作 (大小写敏感) 动作选项 ACCEPT 接收数据包 DROP 丢弃数据包 REDIRECT 将数据包重新转向到本机或另一台主机的某一个端口,通常功能实现透明代理或对外开放内网的某些服务 SNAT 源地址转换 DNAT 目的地址转换 MASQUERADE IP伪装 LOG 日志功能 2、定义规则 ①先拒绝所有的数据包,然后再允许需要的数据包 iptalbes -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT ②查看nat表所有链的规则列表 iptables -t nat -L ③增加,插入,删除和替换规则 iptables [-t 表名] <-A|I|D|R> 链名 [规则编号] [-i|o 网卡名称] [-p 协议类型] [-s 源ip|源子网] [–sport 源端口号] [-d 目的IP|目标子网] [–dport 目标端口号] [-j 动作] 参数:-A 增加 -I 插入 -D 删除 -R 替换

三、例子 ①iptables -t filter -A INPUT -s 192.168.1.5 -i eth0 -j DROP 禁止IP为192.168.1.5的主机从eth0访问本机②iptables -t filter -I INPUT 2 -s 192.168.5.0/24 -p tcp –dport 80 -j DROP 禁止子网192.168.5.0访问web服务③iptables -t filter -I INPUT 2 -s 192.168.7.9 -p tcp –dport ftp -j DROP 禁止IP为192.168.7.9访问FTP服务 ④iptables -t filter -L INPUT 查看filter表中INPUT链的规则 ⑤iptables -t nat -F 删除nat表中的所有规则 ⑥iptables -I FORWARD -d wwww.playboy.com -j DROP 禁止访问 www.playboy.com网站 ⑦iptables -I FORWARD -s 192.168.5.23 -j DROP 禁止192.168.5.23上网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/192278.html原文链接:https://javaforall.cn

0 人点赞