iptables

Linux运维常见故障排查和处理的技巧汇总

大憨熊 提交于 2021-02-20 19:57:46
作为Linux运维,工作中多多少少会遇见这样那样的问题或故障, 从中总结经验,查找问题,汇总并分析故障的原因,这是一个Linux运维工程师良好的习惯。 每一次技术的突破,都经历着苦闷,伴随着快乐,可我们还是执着的继续努力,从中也积累了更多的经验。 下面汇总了可能出现的故障及解决方法,看看你是否遇到过?并对你有帮助? 第一: 常见问题解决集锦 1.shell脚本不执行 问题: 某天研发同事找我说帮他看看他写的shell脚本,死活不执行,报错。我看了下,脚本很简单,也没有常规性的错误,报“:badinterpreter:Nosuchfileordirectory”错。 看这错,我就问他是不是在windows下编写的脚本,然后在上传到linux服务器的……果然。 原因: 在DOS/windows里,文本文件的换行符为rn,而在*nix系统里则为n,所以DOS/Windows里编辑过的文本文件到了*nix里,每一行都多了个^M。 解决: 1)重新在linux下编写脚本; 2)vi:%s/r//g:%s/^M//g(^M输入用Ctrl+v,Ctrl+m) 附:sh-x脚本文件名,可以单步执行并回显结果,有助于排查复杂脚本问题。 2.crontab输出结果控制 问题: /var/spool/clientmqueue目录占用空间超过100G 原因: cron中执行的程序有输出内容

Centos7安装.Net Core 2.2环境以及部署.Net Core MVC程序(Apache+Jexus环境)

狂风中的少年 提交于 2021-02-20 05:57:44
原文: Centos7安装.Net Core 2.2环境以及部署.Net Core MVC程序(Apache+Jexus环境) 1.双11抢购搬瓦工VPS.配置如下: CPU:2 核 内存:2048 MB 硬盘:40 GB SSD 流量:1 TB 带宽:1 Gbps 2.VPS安装Centos7-x86_64-bbr系统(bbr 是为了加速科学上网) 3.开启80端口 CentOS7打开80端口: firewall-cmd --zone=public --add-port=80/tcp --permanent systemctl restart firewalld.service 如果上述命令无法找到的话,使用以下命令 /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT service iptables save service iptables restart 4.安装Apache 安装之前都要记得,先执行update yum update  安装Apache yum install httpd httpd-devel  安装完成之后启动Apache systemctl start httpd.service  访问IP,成功如下图。 附上Apache几条命令(我已经偷偷设置开机启动) systemctl start httpd

docker跨主机通信-手工版

Deadly 提交于 2021-02-19 22:46:42
#A主机 192.168.100.120# 在主机A中创建一个子网,范围是10.52.100.2->10.52.100.254 docker network create --subnet=10.52.100.0/24 snake120 运行一个centos7的容器作为客户端 docker run --name centos -dit --network snake120 --ip 10.52.100.2 uhub.service.ucloud.cn/pub021/centos:7.4.1708 增加路由指向目标地址所在的宿主机,-net 目标IP , gw 网关IP ,默认eth0网卡 route add -net 10.52.121.0 netmask 255.255.255.0 gw 192.168.100.121 服务端开放转发规则,用于B主机向A主机通信 iptables -A FORWARD -j ACCEPT #B主机 192.168.100.121# 在主机B中创建一个子网,范围是10.52.121.2->10.52.121.254 docker network create --subnet=10.52.121.0/24 snake121 运行一个目标服务 docker run --name nginx -dit --network snake121 --ip

Linux防火墙firewalld安全设置

本小妞迷上赌 提交于 2021-02-18 02:24:43
背景描述 防火墙是具有很好的保护作用。入侵者必须首先穿越防火墙的安全防线,才能接触目标计算机。在公司里数据安全是最重要的,要求安全部门进行全公司进行服务器防火墙安全搭建,在原有的基础上进行安全的防火墙设置,大多数生产环境都建议开启,这样才能有效避免安全隐患等问题;本文文字偏多,但是建议大家还是花个十多分钟好好看一下防火墙的原理,这样便于后期问题排查,最后一小节也会有常用命令操作。 主要内容 1 详细了解防火墙相关配置; 2 详细解读相关安全配置方法; 3 详细解读firewalld防火墙的基础知识; 4 了解firewalld防火墙的配置; 5 了解firewalld防火墙相关命令的使用。 1.Linux防火墙概述 防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性。它通过访问控制机制,确定哪些内部服务允许外部访问,以及允许哪些外部请求可以访问内部服务。它可以根据网络传输的类型决定IP包是否可以传进或传出内部网。 防火墙通过审查经过的每一个数据包,判断它是否有相匹配的过滤规则,根据规则的先后顺序进行一一比较,直到满足其中的一条规则为止,然后依据控制机制做出相应的动作。如果都不满足,则将数据包丢弃,从而保护网络的安全。 Linux系统的防火墙功能是由内核实现的。在2.4 版及以后的内核中,包过滤机制是netfilter.CentOS

第十五课预习笔记

…衆ロ難τιáo~ 提交于 2021-02-17 18:49:08
10.19 iptables规则备份和恢复 保存和备份iptables规则 1、service iptables save #会把规则保存到/etc/sysconfig/iptabels中,启动时会加载。 2、把iptables规则保存在自定义的位置:iptables-save > 位置 例如:iptables-save > /tmp/my_iptables.txt [root@liang-00 ~]# iptables-save > /tmp/my_iptables.txt [root@liang-00 ~]# cat /tmp/my_iptables.txt # Generated by iptables-save v1.4.21 on Tue Nov 20 19:47:32 2018 *nat :PREROUTING ACCEPT [12:936] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [1:76] :POSTROUTING ACCEPT [1:76] COMMIT # Completed on Tue Nov 20 19:47:32 2018 # Generated by iptables-save v1.4.21 on Tue Nov 20 19:47:32 2018 *filter :INPUT ACCEPT [0:0] :FORWARD

TCP头部格式详解,附Wireshark对TCP头部抓包分析

☆樱花仙子☆ 提交于 2021-02-17 12:29:20
TCP 之所以能为数据通讯提供 可靠的传输 ,主要在于TCP数据包头部功能非常多。 那么,我们先来看看TCP头部格式(RFC 793、1323定义了TCP头部): TCP头部格式中的内容解析如下:(文末还有Wireshark对TCP抓包分析图) (根据上图,按从上往下,从左往右的顺序) Source Port:16bit源端口,数据发起者的端口号; Destination Port:16bit目的端口,数据接收方的端口号; Sequence Number:32bit的序列号,由发送方使用; Acknowledgment Number:32bit的确认号,接收数据方返回给发送方的通知,会在确认号的基础上加1; Data Length:4bit头部长度,TCP头部长度一般为20字节,若TCP头部的Options选项启用,则会增加; 下面一部分为TCP的功能bit: Reserved、Reserved、Nonce、CWR、ECN-Echo:共6bit的保留功能,留待以后开发新技术时使用; URG:1bit紧急指针位,取值1代表这个数据是紧急数据需加速传递,取值0代表这是普通数据; ACK:1bit确认位,取值1代表这是一个确认的TCP包,取值0则不是确认包; PSH:1bit紧急位,取值1代表要求发送方马上发送该分段,而接收方尽快的将报文交给应用层,不做队列处理。取值0阿迪表这是普通数据

CentOS宿主机无法访问虚拟机中的web服务解决方案

一曲冷凌霜 提交于 2021-02-15 00:53:48
宿主机无法访问虚拟机中的web服务 在Windows7宿主机中的VMware虚拟机中安装了CentOS6.5操作系统,并且基于Nginx搭建了Web服务器,网页刚刚搭建好的时候,通过宿主机的浏览器可以访问虚拟机中的网页。但是过了一会儿,就无法访问了,这个问题困扰了自己好几天,每次只好通过虚拟机快照返回到刚刚建立好web服务的那一步,这样就能访问了,但过了一会儿又不能访问了。 后来通过网上查找资料,终于明白了,是一位CentOS6.5的防火墙没有开通web服务的80端口,屏蔽了外部的访问。有两种方法可以使宿主机能够访问虚拟机的网页:(1)关闭虚拟机中的防火墙;(2)打开web服务的80端口。 1.关闭防火墙 使用 service iptables stop 命令可以临时关闭防火墙,这样就可以通过宿主机访问虚拟机中的网页了。 iptables 防火墙一般是开机启动的,使用上面的命令临时关闭了防火墙后,下次开机还是会启动防火墙软件,可以使用如下命令禁止开机启动防火墙: chkconfig iptables off 但是,防火墙的目的就是为了防止外部的恶意访问的,所以最好还是保持防火墙的运行。 2.开启相应的端口 2.1命令行方式开启80端口 使用如下命令可以临时开启80端口: /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

Linux就该这么学 第十三课

柔情痞子 提交于 2021-02-14 17:31:00
本节课主要讲的是vsftp和samba两个服务程序 首先惯例挂载好你的镜像,并配置好本地的yum仓库 安装vsftp程序 因为ftp传输协议默认被iptables进行端口拦截,所以我们先把iptables防火墙规则清除掉 因为vsftpd.conf中注释太多,不便于我们查找配置,所以使用grep将文件进行过滤 安装ftp客户端工具,以便于连接到 匿名用户登录 编辑修改/etc/vsftpd/vsftpd.conf 编辑添加下图四项 使用ftp工具连接到ftp服务器 再次连接ftp尝试创建还是报错,究其原因是selinux的域在捣乱 本地用户模式 和匿名用户一样,精简出vsftpd.conf,并按照下图修改 因为本地用户登录存在两个黑名单文件,所以,我们需要解锁要登录的账号,黑名单文件在/etc/vsftpd目录文件下 当两个文件内限制账户名称都已经删除掉后,就可以直接使用本地登录到ftp了,但是,selinux的域还是限制了我们的使用 虚拟用户登录(出错,等待重新核实) 首先需要在/etc/vsftpd目录文件下创建一个虚拟用户账户密码的文件,文件名称为vuser.list 删除原文件,并将加密后的文件降低权限,避免被他人修改查看 因为每个文件都有所有者和所有组,所以虚拟用户创建的文件必定会失效,因此我们需要创建一个用户用来映射虚拟虚拟用户 因为虚拟用户登录需要验证

干货巨献:Openshift3.9的网络管理大全.加长篇---Openshift3.9学习系列第二篇

假如想象 提交于 2021-02-14 14:24:16
前言 本文仅代表作者的个人观点; 本文的内容仅限于技术探讨,不能直接作为指导生产环境的素材; 本文素材是红帽公司产品技术和手册; 本文分为系列文章,将会有多篇,初步预计将会有8篇。 一、OVS的三种模式 OpenShift的OVS网络组件有三种模式:ovs-subnet、ovs-multitenant、ovs-networkpolicy。 ovs-subnet是默认的OVS插件模式,提供扁平的pod网络。每个pod都可以与其他pod和服务进行通信。 ovs-multitenant为pod和服务提供项目级隔离,每个项目都会收到唯一的虚拟网络ID(VNID),用于标识分配给项目的pod的流量;一个项目中的Pod无法向不同项目中的pod和服务发送数据包或从其接收数据包(除非用命令行将两个项目join一起) ovs-networkpolicy提供pod级别隔离。它完全由NetworkPolicy对象控制。这样,网络控制的规则,可以由集群管理员下放到项目管理员。项目管理员可以创建网络策略,例如配置项目的入口规则保护服务免受攻击。 二、OVS网络隔离的实现 在OCP中,如果配置了ovs-multitenant或者ovs-networkpolicy可以实现网络隔离。那么,网络隔离是如何实现的呢? 在ovs-multitenant模式下,每个项目将会被分配一个VNID。

远程连接centos7 上的mysql报(ERROR 2003 (HY000): Can't connect to MySQL server on '168.x.x.x'...

天涯浪子 提交于 2021-02-13 17:18:32
  1.MySQL端口   因为上一篇文章我就已经给MySQL新建了一新用户,且赋予了远程连接数据库的所有权限(GRANT ALL PRIVILEGES ON *.* TO 'newuser' @ '%' IDENTIFIED BY 'newpass' WITH GRANT OPTION;)   且错误是 Cant't connect to MySQL.... 而不是1130 - Host'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server ,所以先排除权限问题,先从端口查起。   shell > netstat -apn 查看所有端口信息,如下图可以看出mysqld服务Listen端口号为3306,当然也可以在MySQL中 mysql > show variables like 'port';         shell > netstat -apn | grep 3306 查询3306端口占用情况      在网上查到的解决方法最多的就是说,/etc/my.cn配置文件中配置了 bind_address=127.0.0.1   但当我vim /etc/my.cnf打开配置文件时里面十分干净,没有其他多余设置,后面几条是我后来添加的。      所以也排除配置文件问题。   2.防火墙   确实