Linux服务器如何开放端口,配置防火墙?

Linux服务器如何开放端口,配置防火墙?,第1张

打开配置文件

命令代码

#vi/etc/sysconfig/iptables

正确的配置文件

配置代码

#Firewallconfigurationwrittenbysystem-config-firewall

#Manualcustomizationofthisfileisnotrecommended

filter

:INPUTACCEPT

:FORWARDACCEPT

:OUTPUTACCEPT

-AINPUT-mstate_stateESTABLISHED,RELATED-jACCEPT

-AINPUT-picmp-jACCEPT

-AINPUT-ilo-jACCEPT

-AINPUT-mstate_stateNEW-mtcp-ptcp_dport22-jACCEPT

-AINPUT-mstate_stateNEW-mtcp-ptcp_dport80-jACCEPT

-AINPUT-jREJECT_reject-withicmp-host-prohibited

-AFORWARD-jREJECT_reject-withicmp-host-prohibited

COMMIT

配置通配代码

-AINPUT-mstate_stateNEW-mtcp-ptcp_dport-jACCEPT

注意点:新开放的端口一定要在端口22后面

重启防火墙使配置生效

命令代码

#/etc/initd/iptablesrestart

其它

查看开放端口

命令代码

#/etc/initd/iptablesstatus

关闭防火墙

命令代码

#/etc/initd/iptablesstop

如何在Linux环境下测试端口的连通性?

方法/步骤

这个需要Linux服务器里边支持nc命令,如果还没有装的情况会显示如下

我们可以使用yum命令直接安装,我的是Centos65系统

如果不会用,直接打nc命令就会显示出它的使用方发。

如果需要测试某个服务器的端口在能不能正常在外面访问

例如我测试一下1809733107这个IP的80端口有没有开启可以使用命令

nc-z-w1180973310780

可以看到默认是使用TCP进行测试的,如果要测试UDP端口有没有开放的可以添加-u一起使用。例如我测试一下2029612886这个IP的UDP53端口

nc-u-z-w1202961288653

上面可以看到成功的会显示相关的信息,但是如果测试到端口是不开放的或者被防火墙拦截的就不会返回相关的信息。

linux服务器怎么访问网站?

已绑定域名,则直接使用网站域名访问即可;

若未绑定域名,可使用Linux服务器ip+80端口访问;

当然,web服务器的默认端口是80,也有可能是其他端口,这就需要根据实际情况来确定了。

在LINUX下怎么查看哪些端口打开和关闭?

netstat-anplut命令可以看到所有处于监听和连接状态的端口信息不过看不到没有启用的端口,没有启用的端口从来就没有说有办法看到。

应该是一个linux的新手吧?这个问题都很新鲜的。linux系统管理的问题,apache,tomcat等linux下的应用,有问题的话,楼主可以随时findme搞定!

linux下如何开放一个端口?

以mysql服的3306端口为例。

1、直接打开端口:iptables-IINPUT-ptcp--dport3306-jACCEPT

2、永久打开某端口首先,用vim打开防火墙配置文件:vim/etc/sysconfig/iptables然后,在iptables文件内容中加入如下内容:-ARH-Firewall-1-INPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPT最后,保存配置文件后,执行如下命令重启防火墙:serviceiptablesrestart

linux系统怎么打开3306端口?

linux中mysql的3306端口默认是打开的,如果没有打开需要设置防火墙开放3306端口,防火墙开放3306端口的命令为:

iptables-AINPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPT

防火墙配置举例:

#Firewallconfigurationwrittenbysystem-config-firewall

#Manualcustomizationofthisfileisnotrecommended

filter

:INPUTACCEPT

:FORWARDACCEPT

:OUTPUTACCEPT

-AINPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT

-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT

-AINPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPT

-AFORWARD-picmp-jACCEPT

-AFORWARD-ilo-jACCEPT

-AFORWARD-ieth0-jACCEPT

-AINPUT-jREJECT--reject-withicmp-host-prohibited

-AFORWARD-jREJECT--reject-withicmp-host-prohibited

COMMIT

扩展资料

1、linux防火墙状态相关命令:

serviceiptablesstatus查看防火墙状态

serviceiptablesstart开启防火墙

serviceiptablesstop关闭防火墙

serviceiptablesrestart重启防火墙

2、开放、关闭端口命令介绍(例如只打开22端口):

iptables-AINPUT-ptcp_dport22-jACCEPT

iptables-AOUTPUT-ptcp_sport22-jACCEPT

3、参数讲解:

_A参数就看成是添加一条规则

_p指定是什么协议,我们常用的tcp协议,当然也有udp,例如53端口的DNS

_dport就是目标端口,当数据从外部进入服务器为目标端口

_sport数据从服务器出去,则为数据源端口使用

_j就是指定是ACCEPT-接收或者DROP不接收

可以用nmap工具进行检测端口是否开放。1:nmap工具检测开放端口nmap是一款网络扫描和主机检测的工具。nmap的安装非常简单,如下所示rpm安装所示。关于nmap的使用,都可以长篇大写特写,这里不做展开。

安装Telnet组件。转到程序控制面板,然后转到打开或关闭窗口功能,Telnet客户端和Telnet服务器勾选,从而安装Telnet组件。测试端口是否打开。它是由机器打开的虚拟机的地址,191610128,端口22。

Linux中查看另一台主机的某个端口是否开放,一般有两种方法。telnet命令方法很简单,直接使用telnet命令登陆目标主机的ip地址和端口。假设目标机是19161,要确定是否开启80端口。

操作方法如下:安装telnet。下面开始测试某个端口是否开启。在cmd下输入start/mintelnet1916422121。会出现一个窗口,是最小化的,等一会,如果窗口自动关闭了,说明端口是关闭的或主机ping不通。

此外,可以检查一下是否有开放的可用于入侵检测的端口。Linux中有多种检查端口的方法,本文将介绍两种。

在Linux/Unix中查看端口打开状况的命令是netstat。

linux的xftp默认端口?

linux的默认的sftp端口号22。

同时,如果其他的sftp服务器的端口号修改之后,可以通过-P来指定要通过哪个端口号连接。

例如,XFtp使用sftp,sftp的默认端口是22,实际sftp使用的是sshd进程的端口(22号端口)。

ftp的端口号20、21的区别一个是数据端口,一个是控制端口,控制端口一般为21,而数据端口不一定是20,这和FTP的应用模式有关,如果是主动模式,应该为20,如果为被动模式,由服务器端和客户端协商而定。

linux开放端口的命令有哪些?

一、查看哪些端口被打开netstat-anp二、关闭端口号:iptables-AINPUT-ptcp--drop端口号-jDROPiptables-AOUTPUT-ptcp--dport端口号-jDROP三、打开端口号:iptables-AINPUT-ptcp--dport端口号-jACCEPT四、以下是linux打开端口命令的使用方法。nc-lp23(打开23端口,即telnet)netstat-an|grep23(查看是否打开23端口)五、linux打开端口命令每一个打开的端口,都需要有相应的监听程序才可以

linux服务器服务器端口被锁怎么办?

首先将造成端口被锁的进程杀掉,然后再重启该端口即可。

linux54端口对应的应用?

熟知端口号:0~1023每个端口应用于特定的应用协议

动态端口号:1024~65535客户端的为每个应用进程分配

tcp(6):

FTP数据(20)

FTP控制(21)

telnet(23)

简单邮件传输协议SMTP(25)

HTTP(80)

POP3(电子邮局协议)(11

UDP(17)

简单文件传输协议TFTP(69)

简单网络管理协议SNMP(161)

DNS域名系统(80)—既是tcp,也是udp

linux里,如何查某个进程使用了哪些文件使用了哪些网络端口?

只查看该进程:ps-ef|grep11345查看该进程打开的文件:lsof-p11345查看内存分配:lcat/proc/11345/maps查看堆栈:pstack11345查看发出的系统调用:strace-p11345查看调用库函数:ltrace-p1134511345是进程号

常常看到有些人想要知道自己的Linux主机到底开放了多少Port?要如何来检测呢。通常我们知道的Port有下面这几个:

ftp:21

telnet:23

smtp:25

http:80

pop-3:110

netbios-ssn:139

squid:3128

mysql:3306

端口当然不只这些个,如何知道Port是否被开启呢?

检测你开启的服务有哪些?使用功能强大的 netstat 指令。

在做为服务器的Linux系统中,服务项目是越少越好!这样可以减少避免不必要的入侵通道。要了解自己的系统当中的服务项目,最简便的方法就是使用nestat 了!这个命令不但简单(是每一个Linux系统都会安装的套件!),而且功能也是很不错的,例如我们在检查WWW使用者的人数时,就很需要这个命令!好了,我们来看一下netstat 的使用方法:

复制内容到剪贴板

代码:

[root@localhost ~]# netstat

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address Foreign Address Stat e

tcp 0 0 ::ffff:1921681178:ssh ::ffff:1921681175:4235 ESTA BLISHED

Active UNIX domain sockets (w/o servers)

Proto RefCnt Flags Type State I-Node Path

unix 10 [ ] DGRAM 4701 /dev/log

unix 2 [ ] DGRAM 5846 @/var/run/hal/hotplug_s ocket

unix 2 [ ] DGRAM 2901 @udevd

unix 3 [ ] STREAM CONNECTED 5845 /var/run/dbus/system_bu s_socket

unix 3 [ ] STREAM CONNECTED 5844

unix 3 [ ] STREAM CONNECTED 5792 /var/run/dbus/system_bu s_socket

unix 3 [ ] STREAM CONNECTED 5791

unix 3 [ ] STREAM CONNECTED 5724

unix 3 [ ] STREAM CONNECTED 5723

如上所示,单纯使用 netstat 的时候,仅 列出目前已经连通的服务与服务名称。所以你可以看到,由于目前仅有一个ssh连接成功,所有就只显示出一个 ESTABLISHED(连接中的意思)。 上面的 :

复制内容到剪贴板

代码:

tcp 0 0 ::ffff:1921681178:ssh ::ffff:1921681175:4235

这一行表示有一个SSH的服务开放,是由远端的 1921681175这个IP连接到 1921681178 的。而连接的端口是4235。那如果我需要将所有的项目列出来呢?

复制内容到剪贴板

代码:

[root@localhost ~]# netstat -a

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address Stat e

tcp 0 0 :32768 : LIST EN

tcp 0 0 :sunrpc : LIST EN

tcp 0 0 :auth : LIST EN

tcp 0 0 localhostlocaldomain:ipp : LIST EN

tcp 0 0 localhostlocaldomain:smtp : LIST EN

tcp 0 0 :ssh : LIST EN

tcp 0 0 ::ffff:1921681178:ssh ::ffff:1921681175:1237 ESTA BLISHED

udp 0 0 :32768 :

udp 0 0 :955 :

udp 0 0 :sunrpc :

udp 0 0 :ipp :

如上所示,加入 -a(all)就可以了。将所有在机器上 (监听 Listem)或者是(已建立连接的)的服务通通列出的意思。不过,服务的名称已经使用 /etc/services 里面的名称了,而不是使用 port 的数字!目前我主机上面的服务共开放了:sunrpc、auth、ssh、ipp、smtp等服务(就是 Listen的那几个服务)至于已经建立的服务就只有 SSH 这一个!那如果我想知道开放了哪些端口号呢?呵呵,就使用下面的命令吧!

复制内容到剪贴板

代码:

[root@localhost ~]# netstat -an

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 0000:32768 0000: LISTEN

tcp 0 0 0000:111 0000: LISTEN

tcp 0 0 0000:113 0000: LISTEN

tcp 0 0 127001:631 0000: LISTEN

tcp 0 0 127001:25 0000: LISTEN

tcp 0 0 :::22 ::: LISTEN

tcp 0 52 ::ffff:1921681178:22 ::ffff:1921681175:1237 ESTABLISHED

udp 0 0 0000:32768 0000:

udp 0 0 0000:955 0000:

udp 0 0 0000:111 0000:

udp 0 0 0000:631 0000:

如上所示,我接通的服务只有22这一个,而其它的你可以参照上面的命令输出结果来对照,所以你就可以知道:smtp为25端口。因此,通过使用此命令,就可以轻易的子解目前主机的运作状况与服务状态了。当然了,netstat的用途不止于此,你可以使用 man netstat 来查阅一番喔!相信对你的主机会有更大的了解。

相信有不少的朋友都会有这个困扰,就是要怎样删除已经建立的联机呢?因为总有些不速之客会连到您的主机来进行一些破坏的工作!或者是您根本不想让对方联机过来!呵呵!还记得 鸟哥的 Linux 私房菜--基础学习篇内的资源管理 里面提到的几个常用的指令吧!?那就是找出那个联机程序的 PID ,然后给他 kill 掉就是了!简单呀!不过,大问题是『我要怎样找出联机的 PID 呀!?』呵呵!由于 PID 的管理与整体的系统资源有关,这个时候,虽然可以使用 netstat 来观察 PID ,不过只有 root 可以观察到联机状态的 PID 号码呦!( 注:还记得资源管理提及的 PID 概念吗?就是说,在 Linux 系统之内,每个『程序』系统都会给予一个号码来管理!这个就是 PID 啰!)

 

复制内容到剪贴板

代码:

[root@test root]# netstat -ap

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 :ssh : LISTEN 32149/sshd

tcp 0 284 14011614119:ssh 192168111:1391 ESTABLISHED 24751/sshd

Active UNIX domain sockets (servers and established)

Proto RefCnt Flags Type State I-Node PID/Program name Path

unix 7 [ ] DGRAM 944 509/syslogd /dev/log

unix 2 [ ] DGRAM 3035915 16648/xinetd

unix 2 [ ] DGRAM 739227 5951/pppoe

unix 2 [ ] DGRAM 739189 5949/pppd

unix 2 [ ] DGRAM 1070 628/crond

unix 2 [ ] DGRAM 953 514/klogd

unix 2 [ ] STREAM CONNECTED 690 1/init [3]

 

看到上面那个斜体字的联机建立的网络状态了吗?嘿嘿!最后面一栏就是显示那个 PID/Program name ,那个 PID ( 上面是 24751 )也就是我们要来砍掉的啦!这个时候,如果要将该联机砍掉时,就直接以 kill 来做吧!

 

复制内容到剪贴板

代码:

[root@test root]# kill -9 24751

 

这样就能将该联机给他『踢出去』您的主机啦!! ^_^""

修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,如果要开放哪个端口,在里面添加一条。

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT

就可以了,其中 1521 是要开放的端口号,然后重新启动linux的防火墙服务。

停止/启动防火墙服务的命令:

用root登录后,执行

service iptables stop --停止

service iptables start --启动

(service命令位于/sbin)

防火墙规则只有在 iptables 服务运行的时候才能被激活。要手工启动服务,使用以下命令:

/sbin rvice iptables restart

要确保它在系统引导时启动,使用以下命令:

/sbin/chkconfig --level 345 iptables on

ipchains 服务不能和 iptables 服务同时运行。要确定 ipchains 服务被禁用,执行以下命令:

/sbin/chkconfig --level 345 ipchains off

在 Linux 系统中,可以使用sudo iptables命令来开放端口。以下是一个简单的示例,假设我们要开放8080端口,使其对所有网络访问开放:

首先,登录到 Linux 系统。

打开终端并运行以下命令来禁用防火墙:

Copy codesudo systemctl stop firewalld  

禁用防火墙后,我们可以使用以下命令来开放8080端口:

Copy codesudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT  

这个命令会在 Linux 系统中的 INPUT 链中添加一条规则,允许通过8080端口的数据包被接受。

要停止开放端口,请使用以下命令:

Copy codesudo iptables -A INPUT -p tcp --dport 8080 -j DROP  

这个命令会在 INPUT 链中添加一条规则,拒绝所有通过8080端口的数据包。

请注意,如果要开放远程访问端口,例如22端口 (SSH),则需要在防火墙规则中指定允许远程访问的 IP 地址或主机名。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Linux服务器如何开放端口,配置防火墙?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情