在Linux系统中,使用Python 3进行防火墙配置需要借助一些库和工具
iptables
和python3-iptables
库。如果没有安装,可以使用以下命令进行安装:sudo apt-get install iptables python3-iptables
firewall_config.py
,并在其中编写以下代码:import subprocess
def add_rule(table, chain, rule):
try:
subprocess.run(['iptables', '-t', table, '-A', chain, rule], check=True)
print(f"Rule {rule} added successfully.")
except subprocess.CalledProcessError as e:
print(f"Failed to add rule {rule}: {e}")
def delete_rule(table, chain, rule):
try:
subprocess.run(['iptables', '-t', table, '-D', chain, rule], check=True)
print(f"Rule {rule} deleted successfully.")
except subprocess.CalledProcessError as e:
print(f"Failed to delete rule {rule}: {e}")
def main():
# 添加规则:允许TCP端口80(HTTP)的入站流量
add_rule('filter', 'INPUT', '-p tcp --dport 80 -j ACCEPT')
# 删除规则:允许TCP端口80(HTTP)的入站流量(示例:删除先前添加的规则)
delete_rule('filter', 'INPUT', '-p tcp --dport 80 -j ACCEPT')
if __name__ == "__main__":
main()
在这个示例中,我们定义了两个函数:add_rule
和delete_rule
,分别用于添加和删除iptables规则。在main
函数中,我们添加了一个允许TCP端口80的入站流量规则,然后删除了它。
python3 firewall_config.py
这个脚本将执行iptables命令来添加和删除规则。你可以根据需要修改脚本中的规则和参数。
注意:在进行防火墙配置之前,请确保你了解这些更改的影响,并在生产环境中谨慎操作。在进行任何更改之前,建议备份当前的防火墙设置。