跳至主要內容

网络与端口

chanchaw大约 3 分钟linuxcentos

代理DNS

# 设置 yum 走代理网络。下面是配置文件
/etc/yum.conf
# 添加配置项
proxy='192.168.0.103:1080'  # 192.168.0.103 是宿主机的IP地址,1080是小飞机开放的端口 

# 设置 wget 走代理网络。下面是配置文件
/etc/wgetrc

# 添加配置项
http_proxy='192.168.0.103:1080'
https_proxy='192.168.0.103:1080'
ftp_proxy='192.168.0.103:1080'

# 设置 centos 全局代理(不需要做上面两个代理了)
export http_proxy='192.168.0.103:1080'
export https_proxy='192.168.0.103:1080'
export ftp_proxy='192.168.0.103:1080'
export no_proxy='127.0.0.1,localhost'  # 这些地址不走代理服务器

# 取消全局代理
unset http_proxy
unset https_proxy

通过端口找到可执行文件

通过端口找到 PID 再找到可执行文件,如果是 java 程序需要找到命令行参数,才能得知是哪个应用程序

# 运行下面命令可找到PID
sudo lsof -i :8084

# 通过PID找到可执行文件
readlink /proc/<PID>/exe

# 如果是java需要找到命令行参数
cat /proc/<PID>/cmdline

dhcp失败

官网下载的 centos7 安装到 vmware 的虚拟机中默认网卡是不自动启动的,通过下面命令

vi /etc/sysconfig/network-scripts/ifcfg-ens33

设置自启动,并设置为 dhcp 后通过命令 service network restart 重启网络失败则需要在网卡配置文件中设置MAC地址,如下图 dhcp失败

静态IP地址

虚拟机安装 CentOS7 后修改IP地址:vi /etc/sysconfig/network-scripts/ifcfg-ens33 下面是 vm 虚拟机中 CentOS 的网卡设置,最后指定了使用物理机的 clash 代理翻墙

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=00c33ed2-c9ee-4d84-b458-666d2cd69fa3
DEVICE=ens33
ONBOOT=yes

MACADDR=00:0c:29:08:ca:8f

IPADDR=192.168.0.111
GATEWAY=192.168.0.1
NETMASK=255.255.255.0
DNS1=192.168.0.104:7890
DNS2=192.168.0.1

Failed to start LSB: Bring up/down networking

从官网下载的 CentOS7 安装在虚拟机上通过网卡配置文件使用静态地址后重启网卡出现报错: Failed to start LSB: Bring up/down networking 通过禁用 NetworkManager 解决该问题:

systemctl stop NetworkManager
systemctl disable NetworkManager

IP转发功能

开启centos的ip转发功能 重启网络服务或主机后效果不再。若要其自动执行,可将命令echo "1" > /proc/sys/net/ipv4/ip_forward
写入脚本/etc/rc.d/rc.local 或者 在/etc/sysconfig/network脚本中添加 FORWARD_IPV4="YES" 设置固定IP地址: 使用命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33 打开网卡的配置文件,设置 BOOTPROTO="static" 同时要指定一个IP地址:IPADDR=192.168.0.112,看下图 设置静态IP 重启网络服务: service network restart 该命令执行速度很快,下面命令执行非常慢 systemctl restart network.service

查看端口占用

# 检查端口号22122是否被占用
netstat -apn | grep 22122
# 显示如下信息
tcp6       0      0 :::8085                 :::*                    LISTEN      2811/java
# 最后一项中的2811是进程ID,通过下面命令查看对应的进程
# 可以看到带有绝对路径的应用程序
ps 2811

# 下面方法也可以检查端口号是否被占用
lsof -i :8080

监控网卡流量

使用 nload 监控网卡流量

# 安装
yum install nload -y
# 启动监控,后面的 eth0 是网卡名称
nload eth0

查看每个进程流量

# 安装
yum install trafshow -y
# 开启实时监控
trafshow -i eth0 tcp