Linux 网络管理
关键词:
curl,wget,telnet,ip,hostname,ifconfig,route,ssh,ssh-keygen,firewalld,iptables,host,nslookup,nc/netcat,ping,traceroute,netstat
1. Linux 网络应用要点
telnet 方式登录远程主机,对远程主机进行管理 - 使用 telnet
查看或操纵 Linux 主机的路由、网络设备、策略路由和隧道 - 使用 ip
查看和设置系统的主机名 - 使用 hostname
查看和配置 Linux 内核中网络接口的网络参数 - 使用 ifconfig
查看和设置 Linux 内核中的网络路由表 - 使用 route
ssh 方式连接远程主机 - 使用 ssh
为 ssh 生成、管理和转换认证密钥 - 使用 ssh-keygen
查看、设置防火墙(Centos7),使用 firewalld
查看、设置防火墙(Centos7 以前),使用 iptables
设置路由 - 使用 nc/netcat
测试主机之间网络是否连通 - 使用 ping
追踪数据在网络上的传输时的全部路径 - 使用 traceroute
查看当前工作的端口信息 - 使用 netstat
2. 命令常见用法
2.1. curl
curl 命令是一个利用 URL 规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称 curl 为下载工具。作为一款强力工具,curl 支持包括 HTTP、HTTPS、ftp 等众多协议,还支持 POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。做网页处理流程和数据检索自动化,curl 可以祝一臂之力。
示例:
2.2. wget
wget 命令用来从指定的 URL 下载文件。
示例:
2.3. telnet
telnet 命令用于登录远程主机,对远程主机进行管理。
示例:
2.4. ip
ip 命令用来查看或操纵 Linux 主机的路由、网络设备、策略路由和隧道,是 Linux 下较新的功能强大的网络配置工具。
示例:
2.5. hostname
hostname 命令用于查看和设置系统的主机名称。环境变量 HOSTNAME 也保存了当前的主机名。在使用 hostname 命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,需要同时修改
/etc/hosts和/etc/sysconfig/network的相关内容。
示例:
2.6. ifconfig
ifconfig 命令被用于查看和配置 Linux 内核中网络接口的网络参数。用 ifconfig 命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
示例:
2.7. route
route 命令用来查看和设置 Linux 内核中的网络路由表,route 命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。
示例:
2.8. ssh
ssh 命令是 openssh 套件中的客户端连接工具,可以给予 ssh 加密协议实现安全的远程登录服务器。
示例:
引申阅读:ssh 背后的故事
2.9. ssh-keygen
ssh-keygen 命令用于为 ssh 生成、管理和转换认证密钥,它支持 RSA 和 DSA 两种认证密钥。
2.10. firewalld
firewalld 命令是 Linux 上的防火墙软件(Centos7 默认防火墙)。
2.10.1. firewalld 的基本使用
启动 - systemctl start firewalld
关闭 - systemctl stop firewalld
查看状态 - systemctl status firewalld
开机禁用 - systemctl disable firewalld
开机启用 - systemctl enable firewalld
2.10.2. 使用 systemctl 管理 firewalld 服务
systemctl 是 CentOS7 的服务管理工具中主要的工具,它融合之前 service 和 chkconfig 的功能于一体。
启动一个服务 - systemctl start firewalld.service
关闭一个服务 - systemctl stop firewalld.service
重启一个服务 - systemctl restart firewalld.service
显示一个服务的状态 - systemctl status firewalld.service
在开机时启用一个服务 - systemctl enable firewalld.service
在开机时禁用一个服务 - systemctl disable firewalld.service
查看服务是否开机启动 - systemctl is-enabled firewalld.service
查看已启动的服务列表 - systemctl list-unit-files|grep enabled
查看启动失败的服务列表 - systemctl --failed
2.10.3. 配置 firewalld-cmd
查看版本 - firewall-cmd --version
查看帮助 - firewall-cmd --help
显示状态 - firewall-cmd --state
查看所有打开的端口 - firewall-cmd --zone=public --list-ports
更新防火墙规则 - firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域 - firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态 - firewall-cmd --panic-off
查看是否拒绝 - firewall-cmd --query-panic
2.10.4. 在防火墙中开放一个端口
添加(--permanent 永久生效,没有此参数重启后失效) - firewall-cmd --zone=public --add-port=80/tcp --permanent
重新载入 - firewall-cmd --reload
查看 - firewall-cmd --zone= public --query-port=80/tcp
删除 - firewall-cmd --zone= public --remove-port=80/tcp --permanent
2.11. iptables
iptables 命令是 Linux 上常用的防火墙软件,是 netfilter 项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。
示例:
2.12. host
host 命令是常用的分析域名查询工具,可以用来测试域名系统工作是否正常。
示例:
2.13. nslookup
nslookup 命令是常用域名查询工具,就是查 DNS 信息用的命令。
示例:
2.14. nc/netcat
nc 命令是 netcat 命令的简称,都是用来设置路由器。
示例:
2.15. ping
ping 命令用来测试主机之间网络的连通性。执行 ping 指令会使用 ICMP 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
示例:
2.16. traceroute
traceroute 命令用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是 40 字节。
示例:
2.17. netstat
netstat 命令用来打印 Linux 中网络系统的状态信息,可让你得知整个 Linux 系统的网络情况。
示例:
Last updated
Was this helpful?