在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命令來添加和刪除規則。你可以根據需要修改腳本中的規則和參數。
注意:在進行防火墻配置之前,請確保你了解這些更改的影響,并在生產環境中謹慎操作。在進行任何更改之前,建議備份當前的防火墻設置。