ubuntu怎么使用iptables防火墙

发布时间:2022-10-11 16:48:00 作者:iii
来源:亿速云 阅读:214

本篇内容介绍了“ubuntu怎么使用iptables防火墙”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

iptables是整合在Linux操作系统中的防火墙软件,绝大部分Ubuntu发行版都预装了iptables。在一些非默认安装的Ubuntu系统或者容器环境中,可能没有预装iptables,我们可以通过下面的命令来安装。

sudo apt-get install iptables iptables-persistent

安装iptables之后,系统会提示我们是否保存当前防火墙规则。如果我们要设置自己的防火墙规则,这时可以不用保存。

扩展:

1、端口测试工具

我们可以使用以下工具来检测端口是否开启或关闭,用来测试iptables是否生效。

客户端测试工具(Windows环境):

telnet [服务器IP] [端口号]

服务端测试工具(Linux系统):

sudo netstat -tulpn

2、iptables的语法规则

sudo iptables -A INPUT -p tcp -m tcp --dport 22 --m geoip --src-cc PE -j ACCEPT

3、iptables的基本命令

查看当前规则:

sudo iptables -L

删除某条规则(-D表示删除):

sudo iptables -D INPUT -p tcp -m tcp --dport 22 -j ACCEPT

清空当前规则

sudo iptables -F

只清空OUTPUT类型的规则:

sudo iptables -F OUTPUT

创建iptables规则

在eth0接口允许SSH连接:

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

注:如果要应用于所有网络接口,请删除-i eth0指令。

允许特定IP进行SSH连接(以10.0.3.1为例):

sudo iptables -A INPUT -s 10.0.3.1/32 -p tcp -m tcp --dport 22 -j ACCEPT

设置默认规则:

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

说明:

接受所有的回环流量(推荐设置):

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

保存iptables规则

使用以下命令保存并加载iptables规则:

sudo netfilter-persistent save
sudo netfilter-persistent reload

在容器环境中,上面的netfilter-persistent很可能无法生效,需要重新设置一下iptables。请执行以下命令重新配置iptables安装包:

sudo dpkg-reconfigure iptables-persistent

设置流出请求

允许DNS查询:

sudo iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
sudo iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT

使用state模块接受相关的和已建立的请求:

sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

接受端口请求(如80端口):

sudo iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT

其他常见服务和端口:

服务协议端口
FTPTCP20 & 21
HTTPSTCP443
DHCPTCP67
NTPTCP123

更多有用的规则

允许Ping:

sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

端口转发(把来自2200端口的请求转发给10.0.3.21:22 ,多用于容器场景):

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2200 -j DNAT --to-destination 10.0.3.21:22

创建SSH永久连接,阻止未经允许的SSH登录请求:

sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 3600 --hitcount 4 -j DROP

“ubuntu怎么使用iptables防火墙”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. 防火墙iptables
  2. iptables管理防火墙以及各个区域

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ubuntu iptables

上一篇:电脑按哪个键能实现截图

下一篇:win7如何恢复到原装系统

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》