iptables只允许指定ip地址访问指定端口

首先,清除所有预设置

iptables -F#清除预设表filter中的所有规则链的规则 iptables -X#清除预设表filter中使用者自定链中的规则
1.

其次,设置只允许指定ip地址访问指定端口

iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -d xxx.xxx.xxx.xxx -p tcp --sport 22 -j ACCEPT iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --dport 3306 -j ACCEPT iptables -A OUTPUT -d xxx.xxx.xxx.xxx -p tcp --sport 3306 -j ACCEPT
1.

上面这两条,请注意–dport为目标端口,当数据从外部进入服务器为目标端口;反之,数据从服务器出去则为数据源端口,使用 --sport

同理,-s是指定源地址,-d是指定目标地址。

然后,关闭所有的端口

iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP
1.

最后,保存当前规则

/etc/rc.d/init.d/iptables save service iptables restart
1.

这种iptables的规则设定适用于只充当MySQL服务器的管理和维护,外部地址不提供任何服务。

如果你希望yum可以运行的话,还需要添加以下内容,允许DNS请求的53端口,允许下载随机产生的高端口

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -p udp --s

以开放8080端口为例:

方式一:

登录后复制
1、开启防火墙
systemctl start firewalld

2、开放指定端口
firewall-cmd --zone=public --add-port=1935/tcp --permanent
命令含义:
–zone #作用域
–add-port=1935/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

3、重启防火墙
firewall-cmd --reload

4、查看端口号
netstat -ntlp //查看当前所有tcp端口·

netstat -ntulp |grep 8080 //查看所有8080端口使用情况

方式二:

/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

方式三:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

service iptables restart

猜你喜欢

转载自blog.csdn.net/weixin_43214644/article/details/125652561
今日推荐