在Linux中,你可以使用iptables
命令来管理防火墙规则
iptables
。在大多数Linux发行版中,Ruby通常是预安装的。你可以使用以下命令检查Ruby是否已安装:ruby -v
如果未安装,请使用你的包管理器(如apt-get
、yum
或pacman
)进行安装。
firewall_manager.rb
的新Ruby脚本文件:touch firewall_manager.rb
firewall_manager.rb
文件,并添加以下代码:#!/usr/bin/env ruby
def add_rule(protocol, port)
system("sudo iptables -A INPUT -p #{protocol} --dport #{port} -j ACCEPT")
end
def remove_rule(protocol, port)
system("sudo iptables -D INPUT -p #{protocol} --dport #{port} -j ACCEPT")
end
def list_rules
system("sudo iptables -L -n")
end
puts "Select an option:"
puts "1. Add a rule"
puts "2. Remove a rule"
puts "3. List rules"
puts "4. Exit"
choice = gets.chomp.to_i
case choice
when 1
puts "Enter the protocol (tcp or udp):"
protocol = gets.chomp
puts "Enter the port:"
port = gets.chomp
add_rule(protocol, port)
when 2
puts "Enter the protocol (tcp or udp):"
protocol = gets.chomp
puts "Enter the port:"
port = gets.chomp
remove_rule(protocol, port)
when 3
list_rules
when 4
exit
else
puts "Invalid option"
end
保存并关闭文件。
为脚本添加可执行权限:
chmod +x firewall_manager.rb
./firewall_manager.rb
这个简单的Ruby脚本允许你添加、删除和列出防火墙规则。请注意,这个脚本需要root权限才能运行iptables
命令。在运行脚本时,你可能需要输入密码以获取超级用户权限。
根据你的需求,你可以修改和扩展此脚本以满足更复杂的防火墙管理任务。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。