CentOS:

1、修改iptables

vi /etc/sysconfig/iptables

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -i lo -j ACCEPT

-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -i eth0 -s 192.168.1.2 -p tcp -m tcp --dport 80 -j ACCEPT

-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT

-A INPUT -i eth0 -p icmp -j ACCEPT

-A INPUT -i eth0 -j DROP

COMMIT

例如要打开mysql的3306端口,即添加如下一行,参数-s表示只允许某个ip通过这个端口,不设置表示允许所有:

-A INPUT -i eth0 -s 192.168.1.2 -p tcp -m tcp --dport 3306 -j ACCEPT

2、重新启动iptables服务

service iptables restart

3、检查已开放端口和允许访问的ip

iptables -nvL


Ubuntu:

1.如果没有启用ufw,启用它

sudo ufw default deny #除非指明打开的端口,否则所有端口都默认关闭

sudo ufw enable

2.打开端口

sudo ufw allow 22

3.关闭端口

sudo ufw delete allow 22

4.只打开使用tcp协议的22端口:

sudo ufw allow 22/tcp

5.打开来自192.168.0.1的tcp请求的80端口:

sudo ufw allow proto tcp from 192.168.0.1 to any port 22

6.查看端口开放状态

sudo ufw status

7.关闭防火墙

sudu ufw disable


查看本机端口占用情况:

netstat -ano #所有端口

netstat -nupl #UDP端口

netstat -ntpl #TCP端口

netstat -ntpl|grep 80 #检查80端口的占用情况

netstat -tanp #显示端口状态


如果端口被占用终止该进程:

ps -ef|grep 进程名 #查看进程

kill 进程号 #终止进程

Logo

更多推荐