Suse Linux常用端口开启、关闭、禁用

 

    Linux下面貌似没有什么直接开启或者关闭端口的命令,因为若仅仅只是开启了端口而不把它与进程相联系的话,端口的开启与关闭就显得毫无意义了(开了端口却没有程序处理进来的数据)。也就是说,Linux里面端口的活动与进程是紧密相连的,如果想要关闭某个端口,那么只要杀掉它对应的进程就可以了。

 

一、通过关闭进程关闭端口

例如要关闭22号端口:
$ netstat -anp | grep :22
tcp   0    0 0.0.0.0:22     0.0.0.0:*     LISTEN     1666/sshd
# -a 显示所有活动的TCP连接,以及正在监听的TCP和UDP端口
# -n 以数字形式表示地址和端口号,不试图去解析其名称(number) 
# -p 列出与端口监听或连接相关的进程(有个地方需要注意,下面会提到)(pid) 
知道了22号端口对应的进程ID 1666,只要:
$ kill -9 1666

 

二、通过关闭服务,关闭端口

已知占用22端口的是ssh服务

关闭22端口    # /etc/init.d/sshd stop

 

有时候我们需要查看某一服务的默认端口,在Linux下面很好办,无需上网搜索,直接查看“/etc/service ”文件就能满足需求了。这里面有一个关于端口号与服务的一个映射。

比如我们想看ipp协议默认使用的端口可以通过这个命令:
# cat /etc/service|grep ipp

 

 

三、通过防火墙禁用端口

关闭端口号:iptables -A INPUT -p tcp --drop 端口号 -j DROP
 
      iptables -A OUTPUT -p tcp --dport 端口号 -j DROP
 
打开端口号:iptables -A INPUT -ptcp --dport  端口号 -j ACCEPT

 

 

 

 

四、在SUSE下面,开启防火墙之后会发现ssh服务无法使用、http服务都无法访问。这是因为防火墙默认屏蔽了这些端口。现在添加例外策略,允许在开启防火墙时使用ssh和http服务。

4.1开启终端,执行yast--安全和用户(Security and Users)--防火墙(Firewall);

 

linux中关闭systemd端口 如何关闭linux端口_操作系统

 

 

允许的服务(Allowed Services);

 

linux中关闭systemd端口 如何关闭linux端口_端口号_02

 

外部区域(External Zone)--要允许的服务(Service to Allow);

 

linux中关闭systemd端口 如何关闭linux端口_端口号_03

 

添加http服务器(Add Http Server);

 

linux中关闭systemd端口 如何关闭linux端口_端口号_04

 

添加(Add);

 

linux中关闭systemd端口 如何关闭linux端口_端口号_05

 

添加Secure Shell服务器(SecureShell Server);

 

linux中关闭systemd端口 如何关闭linux端口_操作系统_06

 

添加(Add);

 

linux中关闭systemd端口 如何关闭linux端口_端口号_07

 

下一步(next);

 

linux中关闭systemd端口 如何关闭linux端口_网络_08

 

完成(finish)。

 

五、经过测试,在开启suse防火墙之后,80、22端口依然可以使用。



转载于:https://blog.51cto.com/deararvin/1739628