CentOS7系统初始配置

2022-10-04 14:50:17 浏览数 (1)

安装系统基础包

代码语言:javascript复制
yum install -y vim wget zip unzip lrz* screen

替换新增yum源

代码语言:javascript复制
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
cp CentOS7-Base-163.repo /etc/yum.repos.d/
yum -y install epel-release #安装EPEL源
yum clean all
yum makecache

防火墙初始化

清除所有规则

代码语言:javascript复制
iptables -F
iptables -X

添加SSH端口并允许SSH转发

代码语言:javascript复制
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

初始化规则

代码语言:javascript复制
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -A INPUT -p icmp --icmp-type any -j ACCEPT
#允许icmp包进入
iptables -A INPUT -s localhost -d localhost -j ACCEPT
#允许本地的数据包
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许已经建立和相关的数据包进入
iptables -A OUTPUT -p icmp --icmp any -j ACCEPT
#允许icmp包出去
iptables -A OUTPUT -s localhost -d localhost -j ACCEPT
#允许本地数据包
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许已经建立和相关的数据包出去
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
#可选
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
#路由转发,可选

重启保存

代码语言:javascript复制
iptables-save
service iptables save
systemctl restart iptables

关闭selinux

代码语言:javascript复制
vim /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
setenforce 0 #使配置立即生效

开启路由转发

代码语言:javascript复制
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
#添加或修改net.ipv4.ip_forward = 1到/etc/sysctl.conf文件最后一行
sysctl -p #使修改立即生效

初始化规则的意思是: 当超出了IPTABLES里filter表里的两个链规则(INPUT,FORWARD)时,不在这两个规则里的数据包怎么处理呢,那就是DROP(放弃).应该说这样配置是很安全的.我们要控制流入数据包 而对于OUTPUT链,也就是流出的包我们不用做太多限制,而是采取ACCEPT,也就是说,不在着个规则里的包怎么办呢,那就是通过. 可以看出INPUT,FORWARD两个链采用的是允许什么包通过,而OUTPUT链采用的是不允许什么包通过. 这样设置还是挺合理的,当然你也可以三个链都DROP,但这样做我认为是没有必要的,而且要写的规则就会增加.但如果你只想要有限的几个规则是,如只做WEB服务器.还是推荐三个链都是DROP. 注:如果你是远程SSH登陆的话,当你输入第一个命令回车的时候就应该掉了.因为你没有设置任何规则.

怎么办,去本机操作呗!

ssh

0 人点赞