linux复盘:基础篇四(完)

linux网络相关

ifconfig查看网卡ip(yum install net-tools)php

ifconfig -a 若是没有网卡就不会显示iplinux

单独重启一个网卡:ifup ens33/ifdown ens33windows

或者同时进行:使用 ifdown ens33 && ifup ens33centos

查看网卡是否链接方法一: mii-tool ens33 提示:link ok正常网络

查看网卡是否链接方法二: ethtool ens33 提示:Link detected:yes正常ssh

增长一块虚拟网卡ens33:0tcp

cd /etc/sysconfig/network-scripts/工具

cp ifcfg-ens33 ifcfig-ens33:0centos7

vi ifcfig-ens33:0 删除网关GATEWAY和DNS并匹配一个ip地址spa

再重启此网卡即成功

 修改主机名 hostnamectl set-hostname aminglinux 从新登陆修改为功

防火墙相关故事

centos7以前使用netfilter防火墙(iptables规则)

centos7开始使用firewalld防火墙(之后防火墙使用这个)

selinux临时关闭 setenforce 0

selinux永久关闭 vi /etc/selinux/config selinux修改此处为disabled,reboot重启生效

关闭firewalld:systemctl disable firewalled 先暂停,不让开机启动

                        systemctl stop firewalld 关闭服务

关闭iptables:systemctl disable iptables

                       systemctl stop iptables

iptables语法:

最经常使用的表,有INPUT、FORWARD、OUTPUT三个链

 INPUT:经过路由表后目的地为本机

 FORWARD:经过路由表后,目的地不为本机

 OUTPUT:由本机产生,向外发出

nat表用于网络地址转换,有PREROUTING、OUTPUT、POSTROUTING三个

REROUTING:数据包进入路由表以前更改数据包

POSTROUTING:发送到网卡接口以前更改数据包

把从ip地址188.1来源端口1234发送到188.128目标端口80的包拒绝

iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP

默认表为filter,须要指定nat表加入-t nat

-A增长一个规则 -I插入一条规则 -D删除一条规则

-s来源ip -d目标ip

-p使用什么协议

--sport来源端口 --dport目标端口

-j DROP 扔掉,直接拒毫不读取

REJECT 拒接,数据包到后先检查再拒绝

ACCEPT容许进入

指定网卡为eth0的

iptables -I INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT

有个东西叫默认策略:

须要加入 -m state --state RELATED,ESTABLISHED

目的是在相关的数据包相互链接的过程当中,为了让他们顺利链接,因此加入的状态,没有这个规则可能会出现不能正常通讯,加上后通畅通讯

nat表应用

A机器两块网卡ens33(192.168.133.130)、ens37(192.168.100.1),ens33能够上外网,ens37仅仅是内部网络,B机器只有ens37(192.168.100.100),和A机器ens37能够通讯互联

要想实现nat应用,必须打开端口转发,让/proc/sys/net/ipv4/ip_forward的数值为1

echo "1">/proc/sys/net/ipv4/ip_forward

A上执行iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

B上设置网关

由于以前是用ifconfig ens37临时设置的ip,全部没有网关,如今须要:

route add default gw 192.168.100.1来设置

route -n 查看

crontab任务计划

crontab -u :指定某个用户,不加-u选项则为当前用户;

crontab -e :制定计划任务;

crontab -l :列出计划任务;

crontab -r :删除计划任务。

格式:分 时 日 月 周 user command

要保证服务是启动状态

systemctl start crond.service

ps aux | grep crond 查看启动没有

systemctl status crond 也能够查看,绿色表示启动

计划中使用绝对路径能够避免错误,find使用/usr/bin/find,用whcih find来查绝对路径

注意最好追加日志,正确输出和错误输出

练习题来一波:

天天凌晨1点20分清除/var/log/slow.log这个文件

20 1 * * * echo "" > /var/log/slow.log

每周日3点执行 “/bin/sh /usr/local/sbin/backup.sh”

0 3 * * 7 /bin/sh /usr/local/sbin/backup.sh

每个月14号4点10分执行 “/bin/sh /usr/local/sbin/backup_month.sh”

10 4 14 * * /bin/sh /usr/local/sbin/backup_month.sh

每隔8小时执行 “ntpdate time.windows.com”

0 */8 * * * ntpdate time.windows.com

天天的9点到18点执行 “/bin/sh /usr/local/sbin/test2.sh”

0 9-18 * * * /bin/sh /usr/local/sbin/test2.sh

systemd管理服务

几个经常使用的服务相关的命令

systemctl enable crond.service //让服务开机启动

systemctl disable crond //不让开机启动

systemctl status crond //查看状态

systemctl stop crond //中止服务

systemctl start crond //启动服务

systemctl restart crond //重启服务

systemctl is-enabled crond //检查服务是否开机启动

rsync传输工具

rsynv -av /etc/passwd /tmp/1.txt

rsync -av /etc/passwd root@192.168.130.2:/tmp/1.txt (root用户能够忽略@前的内容)

rsync -avL,给软连接加上-L,会使软连接的源文件同步

rsync经过ssh同步

若是对方端口不一样,-e指定端口 -e "ssh -p 22"

rsync -av -e "ssh -p 22" test1/ 192.168.130.2:/tmp/1.txt

rsync经过服务的方式同步(未记录用到了翻笔记)

linux系统日志

/var/log/messages

/etc/logrotate.conf 日志切割配置文件

dmesg命令

会把系统硬件相关的日志列出来,例如网卡出现问题就会保存在这里

dmesg -c 清空

/var/log/dmesg 是系统启动记录的一些信息,和dmesg没有关系

last命令,调用的文件/var/log/wtmp,查看正确的登陆信息

lastb命令,查看登陆失败的用户,对应的文件时/var/log/btmp,登陆失败的记录,若是有人暴力破解就有记录

/var/log/secure 登陆成功不成功都会记录

tail -f /var/log/messages (动态显示很是实用)

screen工具

虚拟的终端,为了避免让一个任务意外中断,关机也不终端的那种

yum install -y screen

screen直接回车就进入了虚拟终端

ctral+a组合键再按d退出虚拟终端,但不是结束继续运行

screen -ls 查看虚拟终端列表

screen -r id 进入指定的终端

exit杀死这个任务

一个screen里面写一个任务,再使用screen进入另外一个screen虚拟终端写一个任务

screen -S “quyifan” 为了方便区分,能够自定义名字

进入这个screen也能够用名字进入,screen -r quyifan

相关文章
相关标签/搜索