Linux下查看并打开对外开放端口号,firewall和iptables
Linux
0
查看端口号使用情况:
Mac下使用lsof(list open files)来查看端口占用情况,lsof 是一个列出当前系统打开文件的工具。 使用 lsof 会列举所有占用的端口列表: $ lsof 使用less可以用于分页展示,如: $ lsof | less 也可以使用 -i 查看某个端口是否被占用,如: $ lsof -i:3000 如果端口被占用,则会返回相关信息,如果没被占用,则不返回任何信息。
一、firewall和iptables的区别:
首先需要先知道firewall是centos7里面的新的防火墙命令,它底层还是使用 iptables 对内核命令动态通信包过滤的,简单理解就是firewall是centos7下管理iptables的新命令。所以最原始的、最底层防火墙还是iptables作为安全防护套件。
二、如果没有安装iptables,可以先查看是否有安装iptables
ps -ef | grep iptables 或 iptables -nL ###显现信息
如果没有安装可以使用yum安装
yum install iptables-services
三、firewall和iptables之间的切换:
CentOS7以后默认使用了firewall防火墙,如果想换回iptables,可以切换两者状态
# 由 firewalld 转换为 iptables systemctl stop firewalld ###停止firewalld运行 systemctl mask firewalld ###冻结firewalld防火墙 systemctl start iptables.service ###启动iptables防火墙服务 systemctl enable iptables.service ###开机启动iptables防火墙服务 systemctl status iptables.service ###查看iptables防火墙服务状态
如果已开启了iptables防火墙,要切换回firewall,
可先查看firewall防火墙的状态
firewall-cmd --state >>not running
然后切换防火墙,打开firewall,关闭iptables
# 由iptables转换为firewalld systemctl stop iptables.service systemctl mask iptables.service systemctl unmask firewalld systemctl start firewalld
四、开放端口号
(1).firewall开放端口号(CentOS7以后版本):
###查看对外开放的端口状态 #查询已开放的端口 netstat -ntulp | grep 端口号:可以具体查看某一个端口号 #查询指定端口是否已开 firewall-cmd --query-port=666/tcp 提示 yes,表示开启;no表示未开启。 #查看防火墙状态 systemctl status firewalld #开启防火墙 systemctl start firewalld (service firewalld start ) #关闭防火墙 systemctl stop firewalld ###若遇到无法开启 #先解冻防火墙: systemctl unmask firewalld.service #然后再开启防火墙: systemctl start firewalld.service ###对外开发端口 #查看想开的端口是否已开: firewall-cmd --query-port=6379/tcp #添加指定需要开放的端口: firewall-cmd --add-port=123/tcp --permanent #重载入添加的端口: firewall-cmd --reload #查询指定端口是否开启成功: firewall-cmd --query-port=123/tcp #移除指定端口: firewall-cmd --permanent --remove-port=123/tcp
(2).iptables开放端口号(CentOS6.x及之前版本):
#打开iptables的配置文件: vi /etc/sysconfig/iptables #修改CentOS防火墙时注意:一定要给自己留好后路,留VNC一个管理端口和SSh的管理端口 ###下面是一个iptables的示例: # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 53 -j ACCEPT -A RH-Firewall-1-INPUT -m state –state NEW -m udp -p udp –dport 53 -j ACCEPT -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 25 -j ACCEPT -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 443 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited COMMIT #修改CentOS防火墙需要注意的是,你必须根据自己服务器的情况来修改这个文件。 #举例来说,如果你不希望开放80端口提供web服务,那么应该相应的删除这一行: -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT #全部修改完之后重启 iptables:service iptables restart #你可以验证一下是否规则都已经生效: iptables -L #这样,我们就完成了CentOS防火墙的设置修改。
五、firewall网络设置:
#查看设定的网络名称 firewall-cmd --get-active-zones #查看默认的网络名称 firewall-cmd --get-default-zone #查看所有的网络名称 firewall-cmd --get-zones #网络名称为公共,列出所有允许的服务 firewall-cmd --zone=public --list-all #允许的服务有哪些 firewall-cmd --get-services #列出所有网络名称的详细信息 firewall-cmd --list-all-zones #设置网络名称为信任 firewall-cmd --set-default-zone=trusted #做下列实验可以将网络名称设为公共,这样就可以在浏览器上直接访问10.10.10.10该域名了 firewall-cmd --set-default-zone=public firewall-cmd --list-all firewall-cmd --add-source=10.10.10.10 --zone=trusted###49主机可以等http验证,这是在没有http服务的情况下 #移出10.10.10.10主机,不可以登入 firewall-cmd --remove-source=10.10.10.10 --zone=trusted #添加网卡eth1并且设ip firewall-cmd --list-all firewall-cmd --remove-interface=eth1 --zone=public firewall-cmd --list-all firewall-cmd --add-interface=eth1 --zone=trusted firewall-cmd --get-active-zones #添加服务 firewall-cmd --add-service=http #改8080端口 vim /etc/httpd/conf/httpd.conf #重启httpd服务并开放8080端口 systemctl restart httpd firewall-cmd --permanent --zone=public --add-port=8080/tcp #列出所有开放端口信息 firewall-cmd --reload firewall-cmd --list-all #移出8080端口 firewall-cmd --permanent --zone=pinlic --remove-port=8080/tcp firewall-cmd --reload firewall-cmd --list-all #移除ssh firewall-cmd --permanent --remove-service=ssh #不会立即中断ssh服务时别人还能连他 firewall-cmd --reload #立即中断此服务别人不能连他 firewall-cmd --complete-reload #允许10来 ssh这是在移除ssh的情况下做的 firewall-cmd --direct --add-rule ipv4 filter INPUT 2 -s 10.10.10.10 -p tcp --dport 22 -j ACCEPT #10不能ssh firewall-cmd --direct --remove-rule ipv4 filter INPUT 2 -s 10.10.10.10 -p tcp --dport 22 -j ACCEPT #除过10,其他能访问,其他人能ssh firewall-cmd --direct --add-rule ipv4 filter INPUT 2 ! -s 10.10.10.10 -p tcp --dport 22 -j ACCEPT
虽然有防火墙,但是还可以实现内网穿透
Frp 实现内网穿透(linux环境):https://blog.csdn.net/qq_31014133/article/details/78834277
Jocsonme
Good Day !
Good good study, day day up !
Related Posts
分类目录
- Apache (6)
- APP-Android (1)
- APP-IOS (3)
- BI (2)
- Qlikview (2)
- BigData (2)
- Domain-Space (1)
- Git (4)
- Google (1)
- History – Articles (2)
- HTML+CSS (13)
- IDE-CodeEditor (1)
- NetBeans (1)
- Javascript (18)
- Linux (24)
- Load-Balancing (3)
- Memcached (1)
- MySQL (9)
- PHP (28)
- Laravel (1)
- Swoole (1)
- Symfony2.x – 3.x (2)
- ThinkPHP5 (1)
- Thirdpart – develop (6)
- ZendFramework2.x (1)
- Products-Design (1)
- Redis (1)
- SEM (2)
- SEO (2)
- Server-Architecture (5)
- Vagrant (1)
- Windows (7)
- BAT (1)
- Workplace (1)
一 | 二 | 三 | 四 | 五 | 六 | 日 |
---|---|---|---|---|---|---|
« 11月 | ||||||
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |