Ubuntu Server中iptables防火墙怎么用
Ubuntu Server中iptables防火墙怎么用
Iptables是一个用于防火墙的工具,可以用来控制防火墙规则。在Ubuntu Server中,可以使用iptables来配置防火墙规则。
首先,使用命令行登录到Ubuntu Server,然后使用命令“sudo iptables –list”来查看当前的防火墙规则。如果没有任何规则,则会显示一条信息:“Chain INPUT (policy ACCEPT)”,表示当前防火墙规则是允许所有输入的。
下面介绍一下如何使用iptables来配置防火墙规则。
首先,使用命令“sudo iptables –new-chain
规则的格式为“
动作有三种:ACCEPT表示允许通过,DROP表示丢弃,REJECT表示拒绝。
协议有三种:TCP表示传输控制协议,UDP表示用户数据报协议,ICMP表示Internet控制报文协议。
选项有两种:–state表示状态,–dport表示端口。
状态有五种:NEW表示新建的连接,ESTABLISHED表示已建立的连接,RELATED表示与已建立的连接相关联的连接,INVALID表示无效的连接,UNTRACKED表示未跟踪的连接。
例如,要设置一个防火墙规则,允许来自192.168.1.0/24网段的主机通过22端口访问本机的SSH服务,则可以使用如下命令:
sudo iptables –new-chain ssh_access
sudo iptables –append-rule ssh_access ACCEPT TCP –state NEW –source 192.168.1.0/24 –dport 22
上面命令中,首先使用“sudo iptables –new-chain ssh_access”命令新建一个名为ssh_access的链,然后使用“sudo iptables –append-rule ssh_access ACCEPT TCP –state NEW –source 192.168.1.0/24 –dport 22”命令添加一条规则到ssh_access链中。
规则的内容为“ACCEPT TCP –state NEW –source 192.168.1.0/24 –dport 22”,表示允许新建的TCP连接,且源地址为192.168.1.0/24,目的端口为22的连接通过。
最后,使用命令“sudo iptables –apply-chain
例如,要应用上面设置的ssh_access链中的规则,则可以使用命令:
sudo iptables –apply-chain ssh_access
需要注意的是,上面的规则只是临时生效,当重启服务器后,规则就会失效。要想让规则永久生效,则需要修改配置文件。
打开配置文件/etc/network/interfaces,在“iface
pre-up iptables-restore < /etc/iptables.rules
其中
例如,要让ssh_access链中的规则永久生效,则可以在/etc/network/interfaces文件中添加如下内容:
pre-up iptables-restore < /etc/iptables.rules
然后,使用命令“sudo /etc/init.d/networking restart”重启网络服务。
需要注意的是,如果添加的规则不正确,则可能会导致无法访问服务器的情况,因此在添加规则之前,最好先备份一份配置文件。
相关文章