Harley浅谈Linux的iptables
2022/8/21 5:26:58
本文主要是介绍Harley浅谈Linux的iptables,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
简介
常用命令
CentOS6
1、查看防火墙状态:service iptables status
、/etc/init.d/iptables status
2、启/停/重启防火墙:service iptables start/stop/restart
3、查看防火墙是否开机启动:chkconfig iptables --list
4、设置防火墙开机自启/不自启:chkconfig iptables on/off
CentOS7
1、查看防火墙状态:systemctl status firewalld
2、启/停/重启防火墙:systemctl start/stop/restart firewalld.service
3、设置防火墙开机自启/不自启:systemctl enable/disable firewalld.service
4、开启端口:firewall-cmd --zone=public --add-port=80/tcp -permanent
设置防火墙策略指定IP端口进行访问
第一种修改防火墙的方式(命令版)
# 首先关闭所有对80端口的访问 iptables -I INPUT -p tcp --dport 80 -j DROP # 开启某个IP对该电脑的某个端口进行访问 iptables -I INPUT -s xxx.xxx.x.x -p tcp --dport 80 -j ACCEPT iptables -I INPUT -s xxx.xxx.x.x -p tcp --dport 80 -j ACCEPT # 首先把防火墙配置文件备份 cp /etc/sysconfig/iptables /var/tmp # 对上面所有修改的配置进行保存 service iptables save # 重启防火墙 service iptables restart
第二种修改防火墙的方式(修改配置文件)
# 首先把防火墙配置文件备份 cp /etc/sysconfig/iptables /var/tmp # 进行编辑 vi /etc/sysconfig/iptables # 把下面命令放到文件中即可 -I INPUT -p tcp --dport 80 -j DROP -I INPUT -s 192.168.1.1 -p tcp --dport 80 -j ACCEPT -I INPUT -s 192.168.1.2 -p tcp --dport 80 -j ACCEPT # 然后退出编辑(按ESC)、保存(英文状态下 Shift + z(两下z))
注意:一定不要把命令放到 COMMIT
后面
/etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Fri Aug 19 10:54:44 2022 *filter :INPUT ACCEPT [4550:591530] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [3365:312047] -A INPUT -s 192.168.1.1/32 -p tcp -m tcp --dport 2181 -j ACCEPT -A INPUT -s 192.168.1.1/32 -p tcp -m tcp --dport 2181 -j ACCEPT -A INPUT -s 192.168.1.1/32 -p tcp -m tcp --dport 2181 -j ACCEPT -A INPUT -p tcp -m tcp --dport 2181 -j DROP COMMIT # Completed on Fri Aug 19 10:54:44 2022 ~ ~ ~ ~
更多……
/sbin/iptables --delete-chain /sbin/iptables --flush /sbin/iptables -P INPUT DROP #1 /sbin/iptables -P FORWARD DROP#1 /sbin/iptables -P OUTPUT DROP #1 /sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #2 /sbin/iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT #3 /sbin/iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT #3 /sbin/iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT#3 /sbin/iptables -A INPUT -p tcp -m tcp --dport 873 -j ACCEPT #3 /sbin/iptables -A INPUT -i lo -j ACCEPT #4 /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT#5 /sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT #5 /sbin/iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #6 /sbin/iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT #7 /sbin/iptables -A OUTPUT -o lo -j ACCEPT #4 /sbin/iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT #8 /sbin/iptables -A OUTPUT -p tcp -m tcp --dport 25 -j ACCEPT #9 /sbin/iptables -A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT#10 /sbin/iptables -A OUTPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT #10
解释:
#1、设置INPUT,FORWARD,OUTPUT链默认target为DROP,也就是外部与服务器不能通信。
#2、设置当连接状态为RELATED和ESTABLISHED时,允许数据进入服务器。
#3、设置外部客户端连接服务器端口80,22,21,873。
#4、允许内部数据循回。
#5、允许外部ping服务器。
#6、设置状态为RELATED和ESTABLISHED的数据可以从服务器发送到外部。
#7、允许服务器使用外部dns解析域名。
#8、设置服务器连接外部服务器端口80。
#9、允许服务器发送邮件。
#10、允许从服务器ping外部。
iptables保存:iptables-save
iptables还原:iptables-restore
这篇关于Harley浅谈Linux的iptables的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南