在Linux中,你可以使用Ruby脚本来管理网络防火墙
首先,确保你已经安装了iptables
。接下来,创建一个名为firewall.rb
的Ruby脚本,并添加以下内容:
#!/usr/bin/env ruby
def execute_command(command)
puts "Executing: #{command}"
system(command)
end
# Flush all existing rules
execute_command("sudo iptables -F")
# Set default policy to DROP for INPUT, FORWARD and OUTPUT chains
execute_command("sudo iptables -P INPUT DROP")
execute_command("sudo iptables -P FORWARD DROP")
execute_command("sudo iptables -P OUTPUT DROP")
# Allow incoming SSH connections
execute_command("sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT")
# Allow incoming HTTP and HTTPS connections
execute_command("sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT")
execute_command("sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT")
# Allow outgoing connections
execute_command("sudo iptables -A OUTPUT -j ACCEPT")
# Save the rules
execute_command("sudo service iptables save")
这个脚本将配置iptables以允许SSH、HTTP和HTTPS连接,并阻止所有其他传入连接。同时,它允许所有传出连接。
要运行此脚本,请在终端中输入以下命令:
chmod +x firewall.rb
./firewall.rb
这将执行脚本并应用防火墙规则。请注意,这个示例仅适用于使用iptables的系统。其他防火墙管理工具(如ufw或firewalld)可能需要不同的命令。