Ubuntu iptables如何进行远程管理
导读:1. 前提:安装并启动SSH服务 远程管理Ubuntu服务器需通过SSH协议,因此需确保SSH服务已安装并运行。若未安装,执行以下命令安装: sudo apt-get update sudo apt-get install openssh-...
1. 前提:安装并启动SSH服务
远程管理Ubuntu服务器需通过SSH协议,因此需确保SSH服务已安装并运行。若未安装,执行以下命令安装:
sudo apt-get update
sudo apt-get install openssh-server
启动SSH服务并设置开机自启:
sudo systemctl start ssh
sudo systemctl enable ssh
2. 配置iptables允许SSH远程连接
默认情况下,iptables会阻止所有未明确允许的入站流量。需添加规则允许SSH(默认端口22)的入站连接,同时限制来源IP以提升安全性:
- 允许特定IP访问SSH(推荐):将
< your-ip>
替换为你的远程计算机IP地址,仅允许该IP连接SSH。sudo iptables -A INPUT -p tcp --dport 22 -s < your-ip> -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 22 -d < your-ip> -m conntrack --ctstate ESTABLISHED -j ACCEPT
- 允许所有IP访问SSH(不推荐,仅测试用):若需临时允许所有IP连接,可添加以下规则(后续需修改为限制来源IP)。
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
3. 保存iptables规则
Ubuntu重启后,iptables规则会丢失。需安装iptables-persistent
工具保存规则,使其永久生效:
sudo apt-get install iptables-persistent
sudo netfilter-persistent save # 保存当前规则
sudo netfilter-persistent reload # 重新加载规则(可选)
4. 远程执行iptables命令
通过SSH连接到服务器后,可直接在终端执行iptables命令进行远程管理。例如:
- 添加规则阻止特定IP:将
< ip-to-block>
替换为需阻止的IP地址。ssh username@< your-server-ip> "sudo iptables -A INPUT -s < ip-to-block> -j DROP"
- 查看当前iptables规则:
ssh username@< your-server-ip> "sudo iptables -L -v -n"
- 删除规则:若需删除某条规则,可先通过
iptables -L --line-numbers
查看规则编号,再执行删除(例如删除INPUT链的第3条规则):ssh username@< your-server-ip> "sudo iptables -D INPUT 3"
5. 安全注意事项
- 使用SSH密钥认证:禁用密码认证,使用SSH密钥对进行身份验证,降低暴力破解风险。
- 限制SSH端口:将SSH端口从默认的22改为其他端口(如2222),减少被扫描到的概率。
- 定期备份规则:将iptables规则备份到本地,避免误操作导致无法恢复。
- 监控日志:定期查看
/var/log/auth.log
,监控SSH登录记录,及时发现异常。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu iptables如何进行远程管理
本文地址: https://pptw.com/jishu/726027.html