网络管理

查看网络接口IP地址

查看所有网络接口的IP地址,可以使用命令 ip addr

例如:

[root@localhost ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:b2:95:a6 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.199/24 brd 192.168.10.255 scope global noprefixroute dynamic enp0s3
       valid_lft 80268sec preferred_lft 80268sec
    inet6 fe80::56e2:2975:7aea:744a/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

上面显示了 两个网络接口 lo 和 enp0s3。其中 lo 是环回接口,我们关注的应该是 enp0s3 这个接口。

CentOS 6 以前的版本,通常显示的接口名为 eth0 这样的格式, CentOS 7 显示的是 enp0s3 格式{: .notice–info}

上面命令的结果显示:enp0s3 这个接口 的 IPv4 地址是 192.168.10.199


视频讲解


启用、禁用网络接口

启用和禁用网络接口,要使用root用户执行

● 启用网络接口

使用命令 ifup,比如下面的命令就是启用网络接口 enp0s3

ifup enp0s3

● 禁用网络接口

使用命令 ifdown,比如下面的命令就是禁用网络接口 enp0s3

ifdown enp0s3

ping 检测网络连通性

我们经常需要检查到一个主机是否网络通畅,这时应该使用 ping 命令

例如:

$ ping 192.168.100.1
PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.158 ms
64 bytes from 192.168.100.1: icmp_seq=2 ttl=64 time=0.228 ms
64 bytes from 192.168.100.1: icmp_seq=3 ttl=64 time=0.281 ms

上面的结果就表示 本机 和 IP 为192.168.100.1 的设备(可能是计算机也可能是路由器)之间的网络是通畅的。

可以按ctrl+C终止 测试。


视频讲解


netstat 查看网络状态

netstat - 查看各种与网络相关的状态信息,包括:网络的连接、状态、接口的统计信息、路由表、端口的监听情况

常用参数:

-a (all)显示所有选项,默认不显示LISTEN相关

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 不显示端口协议名,显示端口数字

-l 只显示 Listen (监听) 的状态端口

-p 显示建立相关链接的进程PID

-r 显示路由信息,路由表

Netstat 最常用的地方就是查看网络连接情况,比如查看22端口上的tcp网络连接情况

使用命令 netstat -anp|grep 22 |grep tcp

[root@localhost ~]# netstat -anp |grep 22 |grep tcp
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      977/sshd
tcp        0     52 192.168.10.199:22       192.168.10.92:63911     ESTABLISHED 2011/sshd: root@pts
tcp6       0      0 :::22                   :::*                    LISTEN      977/sshd

如果你执行netstat命令,系统提示找不到该命令, 可以先执行 yum install net-tools 安装一下


视频讲解


ssh(secure shell)登录远程机器

之前我们使用的是Windows下面的终端模拟器PuTTY 远程登录Linux主机。

在Linux下,也可以远程登录其他Linux主机,只需要运行ssh命令即可。

命令的格式如下

ssh  用户名@IP地址或机器域名

比如,你要 使用 user1 账号 远程登录 192.168.1.12 这台Linux机器,执行下面的命令

[byhy@localhost ~]$ ssh user1@192.168.1.12

一般首次登录某个主机的时候,会出现如下提示:

The authenticity of host '192.168.1.12 (192.168.1.12)' can't be established.
RSA key fingerprint is cf:2c:22:d1:e8:4e:f3:16:43:09:9c:c6:fe:fc:9a:22.
Are you sure you want to continue connecting (yes/no)?

这是因为该远程机器没有被认证过(可能会有‘中间人’攻击的安全隐患),让你确认一下。这里如果是局域网里面的机器,一般安全没有什么问题,输入yes并回车即可。

接下来,会提示输入对应用户的密码,你输入正确的密码即可登录。


视频讲解


scp 拷贝文件

在Linux上,可以直接使用scp命令 和远程Linux主机 进行文件的拷贝。

scp是secure copy的缩写,意为文件安全拷贝,它可以将远程Linux系统上的文件拷贝到本地计算机,也可以将本地计算机上的文件拷贝到远程Linux系统上。

比如:

在主机A上面,我们要将 /home/byhy1 目录下面的文件abc.txt,拷贝到主机B的/home/byhy2目录下面,B的ip地址为:192.168.1.12

我们使用 B主机进行拷贝 必须要有B主机的用户账号, 假如B主机的账号是 byhy2,应该这样写

scp /home/byhy1/abc.txt byhy2@192.168.1.12:/home/byhy2

接下来,会提示用户输入用户byhy2的密码,输入正确密码后,进行拷贝操作。


如果,我们要 在主机A上面,将主机B上面的文件/home/byhy2/123.txt 拷贝到主机A的/tmp/下面:

scp byhy2@192.168.1.12:/home/byhy2/123.txt /tmp/


  • 视频讲解


在windows机器上,我们可以使用 WinSCP 工具和远程Linux主机 进行文件的拷贝。

点击这里下载WinSCP

这个工具,安装好后,创建一个到远程Linux主机的连接,随后只要在界面拖动文件即可完成下载,上传文件。


  • 视频讲解


wget下载

Linux中,要从网络下载文件,可以使用 wget。

wget就是一个下载文件的命令行工具。

例如:

wget https://mirrors.aliyun.com/centos/timestamp.txt


  • 视频讲解


防火墙

iptables

在CentOS6 上, iptables 是 缺省的防火墙服务程序。

● 查看防火墙设置

执行命令 iptables –L 可以查看防火墙设置

iptable 命令需要root权限才能运行,例如

image

大家可以看到上面显示了 三个规则链 Chain INPUT、Chain FORWARD、Chain OUTPUT。

Chain INPUT 链下面的规则是针对目标地址为本机的网络包的,

Chain OUTPUT 链下面的规则是针对源地址为本机的网络包的。

Chain FORWARD 链下面的规则是针对通过本机路由的包的。

每个规则链后面的括号里面有 这个链的缺省规则。

这些规则,指明如果该链下面的规则和当前的网络包都不匹配的话,该进行怎样的处理。 上面的截图中的缺省规则都是 ACCEPT,表明缺省情况下允许包通过

● 开放端口

# iptables -I INPUT -p TCP --dport 80 -j ACCEPT
# iptables -I OUTPUT -p tcp --dport 80 -j ACCEPT
# /sbin/service iptables save

其中 -I 代表 insert 的意思。

最后别忘记了保存 对防火墙的设置,通过命令:service iptables save 进行保存。

● 禁用端口

# iptables -I INPUT -p TCP --dport 3288 -j DROP
# iptables -D INPUT 5 
# /sbin/service iptables save

第二行表示: 删除INPUT 链里面的第5条规则

FirewallD

在CentOS 7 上, FirewallD 是 缺省的防火墙服务程序。

● 开放端口

如果我们允许 任何 地址的 机器访问 本机的 TCP 协议 3306 端口,应该这样执行命令

# firewall-cmd --permanent --add-port=3306/tcp 
# firewall-cmd --reload

第一行命令 在 配置文件中,设置打开端口3306

第二行命令将 配置文件的设置 重新加载,是的配置立即生效。

可以执行如下命令检查 当前的 防火墙设置

# firewall-cmd --list-ports
3306/tcp


我们甚至可以 开放 一定范围内的 所以端口,如下

# firewall-cmd --permanent --add-port=200-300/tcp

就打开了 200 到 300 所有的 tcp 端口。

● 关闭端口

要关闭 端口,执行下面的命令

# firewall-cmd --permanent --remove-port=3306/tcp 
# firewall-cmd --reload

作业和练习

请使用 root 账号登录 Linux,依次执行下面的操作

  • 查看你的Linux系统使用的IP地址

  • 运行命令,检查你的Linux主机和网站 github.com 之间是否网络通畅

  • 查看本机的22端口是否被占用,如果是,查看占用该端口的进程是什么

  • 在Linux主机上下载下面链接对应的文件,并且拷贝到你的Windows主机上

    https://nginx.org/download/nginx-1.16.0.zip

  • 根据你Linux主机的版本,使用适当的命令 打开防火墙 3306端口。


扫码分享给朋友,一起学更有动力哦




上一页 下一页