Linux下配置iptables详细步骤

Linux下配置iptables详细步骤

前段时间对一台服务器进行了防火墙配置,在配置完成后总结了配置过程。希望后人可以少走弯路,也希望大神可以指出不足之处,我们大家一起进步。正片开始:

什么是iptables?

在我们服务器上一般都会安装防火墙,iptables是一种比较常用的免费防火墙,它可以阻挡一些非法的请求,对数据进行过滤。

安装iptables

进入SSH终端,首先查看是否已经安装了iptables,输入命令:

whereis iptables

出现以下的类似信息,说明此服务器上已经安装好了iptables,只需要进行规则配置即可:

iptables: /sbin/iptables /usr/share/iptables /usr/share/man/man8/iptables.8.gz

如果没有任务信息,则需要进行手动安装,输入命令:

apt-get install iptables

等待安装完成……

检查iptables配置信息的命令为:

sudo iptables -L -v -n

如果以前没有进行过此类配置,那么配置应为空:

Chain INPUT (policy ACCEPT 1235M packets, 1591G bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 1196M packets, 1321G bytes)
 pkts bytes target     prot opt in     out     source               destination

Tips:你可以每配置一条规则查看一下配置信息,不仅可以检查配置是否有误,还可以让你尽快理解配置规则命令的作用。

配置iptables

配置iptables有两种方式,一种是通过iptables的配置文件进行配置,一种是直接通过命令来实现配置。我采用的是第二种配置方式,个人认为通过命令配置比较容易上手(如果有需要第一种配置方式的,请在评论区告诉我)下面配置开始:

  • 允许环回端口,有许多程序是通过环回端口进行通信的,我们一般将它作为第一个规则插入:
sudo iptables -i INPUT 1 -i lo -j ACCEPT
  • 允许已经建立的会话接收流量:
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  • 允许指定的端口传入流量:

在这里我们一般必须允许的端口有:
SSH端口、http端口、https端口、ftp端口

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT

其他端口则视自己情况而定,事先查看好自己项目所需要开放的端口,按照以上格式开放即可。

敲黑板,期末要考:一定要在阻止其他流量之前先允许SSH端口传入,执行保存操作之前记得检查,否则你将无法通过SSH进行登录。

PS:3306端口我不建议大家开放,操作数据库尽量在服务器本地进行操作,项目中的数据库连接方式也尽量使用内网进行连接,提升了安全性还能避免占用外网带宽。何乐而不为呢?

  • 阻止其他流量:

在接收到我们想要的流量之后,可以在最后对其他的所有流量进行阻止:

sudo iptables -A INPUT -j DROP

基本的配置就差不多了,其他的可以根据自己的需求来进行相应的配置。
如果你想要删除某条规则,只需要将配置规则时的-A改为-D即可删除对应的规则。

保存iptables配置

不保存也会生效,只是在重启服务器以后配置会消失,想要在重启后依然保留此配置,需要执行命令:

iptables-save

禁用防火墙

清除所有规则时需注意:以下命令需按顺序执行,直接执行最后一条据说会产生很严重的后果,我也没有尝试过。

sudo iptables -P INPUT ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -F

到此,iptables的配置基本完成,如果有什么不明白或者发现问题的,欢迎评论或者私信我,谢谢各位!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值