服务器2中redis访问限制
zhangheng이(가) 8 년 전에 이 페이지를 수정함

iptables使用(官方说明)-服务器2中redis访问限制

1.查看系统是否安装iptables

whereis iptables

出现如下信息表示已安装,如果未安装可使用apt-get install安装

iptables: /sbin/iptables /usr/share/iptables /usr/share/man/man8/iptables.8.gz

2.配置规则

列出现有规则

iptables -L -n --line-numbers

如返回

num  target     prot opt source               destination         
1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:9999
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpts:10100:10110
3    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:21

如需删除某一条可使用iptables -D,如删除第四条可使用

iptables -D INPUT 4

添加redis访问规则

iptables -A INPUT -s 127.0.0.1 -p tcp --dport 26379 -j ACCEPT
iptables -A INPUT -s 114.215.122.32 -p tcp --dport 26379 -j ACCEPT
iptables -A INPUT -s 10.163.218.131 -p tcp --dport 26379 -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 26379 -j DROP

3.配置为 服务器重启后可以自动生效

将现有规则保存到文件

iptables-save > /etc/iptables.rules

sudo chmod +x /etc/iptables.rules

创建还原规则的shell脚本/home/iptables/iptables.sh

#!/bin/bash

iptables-restore < /etc/iptables.rules
echo "`date +%Y-%m-%d\ %H:%M:%S`:complete"

分配权限

sudo chmod +x /home/iptables/iptables.sh

使用 supervisord 实现开机自动执行脚本

[program:iptables]
directory = /home/iptables/
command = /home/iptables/iptables.sh
autostart = true
startsecs = 0
startretries = 0
autorestart=false
user = root
redirect_stderr = true
stdout_logfile = /home/iptables/log/log.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10

4.日常使用

编辑好规则后保存到备份文件即可

iptables-save > /etc/iptables.rules

sudo chmod +x /etc/iptables.rules