centos 7.3 开放端口并对外开放
- 查看已打开的端口 # netstat -anp
- 查看想开的端口是否已开 # firewall-cmd --query-port=666/tcp
若此提示 FirewallD is not running 表示为不可知的防火墙 需要查看状态并开启防火墙 - 查看防火墙状态 # systemctl status firewalld
running 状态即防火墙已经开启 dead 状态即防火墙未开启 - 开启防火墙,# systemctl start firewalld 没有任何提示即开启成功
- 开启防火墙 # service firewalld start
关闭防火墙 # systemctl stop firewalld
上述方式可能无法开启,可以先#systemctl unmask firewalld.service
然后 # systemctl start firewalld.service - 查看想开的端口是否已开 # firewall-cmd --query-port=666/tcp 提示no表示未开
- 开永久端口号 firewall-cmd --add-port=666/tcp --permanent 提示 success 表示成功
- 重新载入配置 # firewall-cmd --reload 比如添加规则之后,需要执行此命令
- 再次查看想开的端口是否已开 # firewall-cmd --query-port=666/tcp 提示yes表示成功
- 若移除端口 # firewall-cmd --permanent --remove-port=666/tcp
- 修改iptables 有些版本需要安装iptables-services # yum install iptables-services
然后修改进目录 /etc/sysconfig/iptables 修改内容
centos中开放端口后,windows中 telnet ip 端口,连接不通原因
解决办法:执行命令:
netstat -nultp
可以看到当前全部端口启用列表,发现比如新开放一个端口,6666,在列表中不存在,即没有开启tcp侦听。执行命令:
nc -lp 端口号 &
如:
nc -lp 6666 &
再次执行命令查看,列表中已存在,再次window中telnet,可以连通
检测安装telent
telnet是windows标准服务,可以直接用;如果是linux机器,需要安装telnet.
用法: telnet ip port
安装telnet
1、检测telnet-server的rpm包是否安装
rpm -qa telnet-server
若无输入内容,则表示没有安装。出于安全考虑telnet-server.rpm是默认没有安装的,而telnet的客户端是标配。即下面的软件是默认安装的。
2、若未安装,则安装telnet-server,否则忽略此步骤
yum install telnet-server
重新启动xinetd守护进程
由于telnet服务也是由xinetd守护的,所以安装完telnet-server,要启动telnet服务就必须重新启动xinetd
service xinetd restart
若未安装,提示:Failed to restart xinetd.service: Unit not found,则安装telnet-server,否则忽略此步骤
rpm -q xinetd &>/dev/null || yum -y install xinetd &>/dev/null
<header class="entry-header" style="display: block; text-align: left; margin: 0px; color: rgb(102, 102, 102); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">
[Linux的关机与重启命令]
重启命令:
1、reboot
2、shutdown -r now 立刻重启(root用户使用)
3、shutdown -r 10 过10分钟自动重启(root用户使用)
4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启
关机命令:
1、halt 立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启
经常有遇到firewall等操作,添加开启某个端口,在外部电脑telnet ip 端口,失败连接不上,可以使用以下命令操作:
1.查看是否开启端口监听
netstat -nultp
2.没有则开启tcp端口的监听即可
nc -lp 端口号 &
示例:
nc -lp 8005 &
linux中用iptables开启指定端口
centos默认开启的端口只有22端口,专供于SSH服务,其他端口都需要自行开启.
1.修改/etc/sysconfig/iptables文件,增加如下一行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10000 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10000 -j ACCEPT
重启 iptables
service iptables restart
2.重启防火墙,这里有两种方式重启防火墙
service iptables start
3.或者用menu-system-administration-firewall ,去添加用户需要的端口。
By the way:
a. netstat -tanp 去显示端口状态。
/usr/sbin/lsof -i
b. telnet ipaddr port
to check if ip and port is available before making connection.
4.LINUX通过下面的命令可以开启允许对外访问的网络端口:
/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT #开启8000端口
/etc/rc.d/init.d/iptables save #保存配置
/etc/rc.d/init.d/iptables restart #重启服务
/etc/init.d/iptables status # 查看端口是否已经开放
5.Linux中如何开启8080端口供外界访问
1.修改文件/etc/sysconfig/iptables
[root@bogon ~]# cd /etc/sysconfig/
[root@bogon sysconfig]# vi iptables
文件内容如下,倒数第三行是新加的,目的是对外界开放8080端口
# Firewall configuration written by system-config-firewall
# 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 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 -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -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 21 -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 443 -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 8080 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
这行文字实际是从上一行拷贝修改而来,在VI中拷贝一行用yy,拷贝多行用yyn,粘贴用p。还算方便的。
2.将iptables服务重启。
[root@bogon sysconfig]# service iptables restart
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
Applying iptables firewall rules: [ OK ]
Loading additional iptables modules: ip_conntrack_ftp [ OK ]
[root@bogon sysconfig]#
3.如若不想修改iptables表,可以直接输入下面命令:
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT # linux iptables开放端口命令