网络配置和管理命令目录
- 网络接口管理
ifconfig、ip - 网络服务管理
systemctl、service - 网络诊断工具
ping、traceroute、netstat、iptables
01网络接口管理
—
- ifconfig:配置和显示网络接口参数
ifconfig命令可以查看和修改网络接口的 IP 地址、掩码、广播地址等参数。已经逐渐被 ip 命令取代。
- ip:管理和配置网络接口、地址、路由
ip 命令提供了一种统一的方式来管理网络设置,相比于 ifconfig 和 route 命令更加现代化和灵活。推荐使用 ip 命令来配置和管理网络。
(1)显示所有网络接口的信息
ip addr show
(2)显示特定网络接口的信息
ip addr show dev eth0
(3)配置网络接口的 IP 地址
sudo ip addr add 192.168.1.101/24 dev eth0
这个命令将 eth0 接口的 IP 地址设置为 192.168.1.101,子网掩码为 255.255.255.0。
(4)删除网络接口的 IP 地址
sudo ip addr del 192.168.1.101/24 dev eth0
这个命令将删除 eth0 接口上的 192.168.1.101 IP 地址。
(5)启用网络接口
sudo ip link set dev eth0 up
(6)禁用网络接口
sudo ip link set dev eth0 down
(7)查看路由表
ip route show
(8)添加默认网关
sudo ip route add default via 192.168.1.1
(9)删除默认网关
sudo ip route del default via 192.168.1.1
02网络服务管理
—
- systemctl:控制系统和服务管理器
systemctl是一个系统和服务管理器,用于控制systemd系统和服务管理器。它可以用来启动、停止、重启服务,以及查看服务状态。
(1)启动服务
sudo systemctl start <服务名>
(2)停止服务
sudo systemctl stop <服务名>
(3)重启服务
sudo systemctl restart <服务名>
(4)查看服务
sudo systemctl status <服务名>
(5)启用服务
sudo systemctl enable <服务名>
(6)禁用服务
sudo systemctl disable <服务名>
- service:旧版服务管理命令(适用于systemd之前的老系统)
service命令是一个旧版的服务管理工具,用于启动、停止、重启和检查服务状态。
(1)启动服务
sudo service <服务名> start
(2)停止服务
sudo service <服务名> stop
(3)重启服务
sudo service <服务名> restart
(4)查看服务
sudo service <服务名> status
(5)启动服务
sudo service <服务名> enable
(6)停止服务
sudo service <服务名> disable
03网络诊断工具
—
- ping:检测主机之间的网络连通性
ping 192.168.0.118 #测试与192.168.0.118之间的连通性
- traceroute:追踪数据包到达主机所经过的路由路径
traceroute baidu.com
用于显示数据包从源主机到目标主机所经过的路由器路径。它可以帮助你了解网络中的路由情况,并识别网络连接问题所在。下图所示为测试源主机到百度服务器所经过的路由路径。
- netstat:显示网络状态信息,包括网络连接、路由表、接口统计信息等。
(1)显示所有活动的 TCP 连接和监听端口
netstat -t
(2)显示所有活动的 UDP 连接和监听端口
netstat -u
(3)显示所有活动的 TCP 和 UDP 连接及监听端口
netstat -tu
(4)显示网络连接的数字格式(不解析域名)
netstat -n
(5)显示网络连接的详细信息
netstat -v
(6)查看特定端口是否开放(以端口22为例)
netstat -tuln | grep 22
4.iptables:配置和管理linux系统的防火墙规则。
通过设置、维护和检查IP数据包过滤规则,实现对网络流量的控制。
基本语法:
iptables 【-t 表名】【管理选项】【链名】【匹配条件】【-j 控制类型】
【-t 表名】如果不指定表名,默认是filter表
【管理选项】
-A 添加防火墙规则
-D 删除防火墙规则
-I 插入防火墙规则
-F 清空防火墙规则
-L 列出添加防火墙规则
-R 替换防火墙规则
-Z 清空防火墙数据表统计信息
-P 设置链默认规则
-m 设置扩展模块
【链名】
INPUT:当收到访问防火墙本机地址的数据包时,应用此链中的规则
OUTPUT:当防火墙本机向外发送数据包时,应用此链中的规则
FORWARD:当接收到需要通过防火墙中转发送给其他地址的数据包时,应用此链中的规则
PREROUTING:在对数据包做路由选择之前,应用此链中的规则
POSTROUTING:在对数据包做路由选择之后,应用此链中的规则
【匹配条件】
-p 匹配协议,!表示取反
-s 匹配源地址
-d 匹配目标地址
-i 匹配入站网卡接口
-o 匹配出站网卡接口
–sport 匹配源端口
–dport 匹配目标端口
–src-range 匹配源地址范围
–dst-range 匹配目标地址范围
–limit 匹配数据表速率
–mac-source 匹配源MAC地址
–sports 匹配源端口
–dports 匹配目标端口
–stste 匹配状态(INVALID、ESTABLISHED、NEW、RELATED)
–string 匹配应用层字串
【-j 控制类型】
ACCEPT:允许数据包通过
DROP:直接将数据包丢弃,不给出任何提示
REJECT:拒绝将数据包丢弃,必要时给出提示
LOG:记录日志信息,然后转发给下一跳规则继续匹配
DNAT:目的地址转换
SNAT:源地址转换
MASQUERADE:地址欺骗
REDIRECT:重定向
常见命令:
(1)查看规则
iptables -L -n
iptables -L -n --line-number
(2)清空防火墙规则
iptables -F
(3)暂时关闭、开放所有端口(重启系统后失效)
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
(4)允许所有数据包访问本机
iptables -I INPUT -j ACCEPT
(5)不允许任何用户访问本机的3306端口
iptables -I INPUT -p tcp --dport 3306 -j DROP
iptables -I INPUT -p udp --dport 3306 -j DROP
(6)防止ICMP类型的主机发现
iptables -I INPUT -p icmp -j REJECT
iptables -I OUTPUT -p icmp -j REJECT
暂无评论内容