CentOS7必知必会[4]-网络相关

https://segmentfault.com/a/1190000003931716

开启防火墙

systemctl start firewalld

查看防火墙服务状态

systemctl status firewalld

对外永久打开 TCP 的 3306 端口

1
firewall-cmd --permanent --zone=public --add-port=3306/tcp

需重新加载防火墙规则才能生效

1
firewall-cmd --reload

防火墙查看当前开放的端口

systemctl start firewalld.service
firewall-cmd –permanent –add-port=443/tcp
firewall-cmd –permanent –add-port=80/tcp
firewall-cmd –permanent –add-port=443/tcp
firewall-cmd –reload
firewall-cmd –list-ports # 查看端口是否设置成功

免密 ssh 登录远程服务器

1
2
3
4
// 本机生成秘钥对
ssh-keygen -t RSA
// 将公钥拷贝到远程服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub oracle@192.168.55.232

之后就可以免密登录了

重装 ssh

1
2
3
4
rpm -qa | grep ssh // 或 yum list installed | grep ssh
yum remove xxx // 或 rpm -e xxx
yum install -y openssh-server
/etc/rc.d/init.d/sshd start # 启动新安装的sshd服务,或service sshd start 或 systemctl控制

sshd 配置文件在: /etc/ssh/sshd_config, 常用的配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Port=22  设置SSH的端口号是22(默认端口号为22)

Protocol 2 启用SSH版本2协议

ListenAddress 192.168.0.222 设置服务监听的地址

DenyUsers user1 user2 foo 拒绝访问的用户(用空格隔开)

AllowUsers root osmond vivek 允许访问的用户(用空格隔开)

PermitRootLogin no 禁止root用户登陆

PermitEmptyPasswords no 用户登陆需要密码认证

PasswordAuthentication yes 启用口令认证方式

带宽占用量排查

http://bbs.qcloud.com/thread-20893-1-1.html

检查网络连通性和质量

ping 命令会发送一个数据包到目的主机,然后等待从目的主机接收回复数据包,当目的主机接收到这个数据包时,为源主机发送回复数据包,这个测试命令可以帮助网络管理者测试到达目的主机的网络是否连接

1
ping host
  1. ping 只互相传输协议数据,不传送用户数据

  2. ping 是第一步,如果 ping 不通,十有八九是防火墙问题(当然,物理连接要通)

  3. ping 无法检查系统端口是否开放。

检查远程端口是否开启了监听

Telnet 是位于 OSI 模型的第 7 层—应用层上的一种协议,是一个通过创建虚拟终端提供连接到远程主机终端仿真的 TCP/IP 协议。这一协议需要通过用户名和口令进行认证,是 Internet 远程登陆服务的标准协议。应用 Telnet 协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。客户机程序不必详细了解远程系统,他们只需构造使用标准接口的程序。

telnet 由于不需要任何加密机制,因此除了连接自己的 server 执行命令之外。还可以作为网络端口连通性的测试工具使用,例如一般想测试某个服务器端口是否开启服务的时候,可以这样:

1
telnet 101.199.97.65 62715