linux网络相关配置

tcp/ip协议栈:物理层,互联网层,传输层,应用层

常用的协议:

互联网层:IP
传输层:TCP,udp
       TCP:面向连接的协议,通信开始之前,需要建立一个虚链路
       UDP:无连接的协议,直接发送数据报文
应用层http,https,ftp,ldap

统一网卡名称

出于批量管理,以及脚本的通用性等方面的考虑; 在某些情况下,需要将新的网卡命名规则改成传统的命名方式;即将 ens33,ens160等名称改为eth0, eth1 这样;

centos:
vim /etc/default/grub
GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"
#修改, 将文件内的ens160改成 eth0
vim /etc/sysconfig/network-scripts/ifcfg-ens160
#修改文件名
mv /etc/sysconfig/network-scripts/ifcfg-ens160 /etc/sysconfig/network-scripts/ifcfg-eth0
#重读配置文件并重启
grub2-mkconfig -o /etc/grub2.cfg;reboot

ubuntu:
vim /etc/default/grub
GRUB_CMDLINE_LINUX=" net.ifnames=0"
#修改网卡配置
vim /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
 ethernets:
   ens33: #此处改成 eth0
     dhcp4: true
 version: 2
 #重读配置文件并重启
grub-mkconfig -o /boot/grub/grub.cfg;reboot


临时修改网卡名
ip link set ens160 down
ip link set ens160 name abc
ip link set abc up
配置文件

centos:

cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=10.0.0.17
PREFIX=24
GATEWAY=10.0.0.2
DNS1=223.6.6.6
DNS2=180.76.76.76
ONBOOT=yes

#网卡生效
#7,8 通用
nmcli connection reload;nmcli connection up con-eth1
#仅centos7版本支持
systemctl restart network

ubuntu:

vim /etc/netplan/00-installer-config.yaml
network: 
添加一块网卡,并指定仅主机模式
 renderer: networkd
 ethernets:
   eth1:
     addresses: [10.0.0.16/24]
 version: 2
 
 #让网卡生效  
root@ubuntu22:/etc/netplan# netplan apply

ifconfig,route,netstat

ifconfig:查看设备信息

[root@master1 ~]#  ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.17  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::20c:29ff:fe78:6b09  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:78:6b:09  txqueuelen 1000  (Ethernet)
        RX packets 506  bytes 43650 (42.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 498  bytes 40957 (39.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 12  bytes 1020 (1020.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 12  bytes 1020 (1020.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

#直接修改设备信息,临时有效
[root@master1 ~]# ifconfig eth1 10.0.0.55 netmask 255.255.255.0
#清除设备信息,临时有效,0.0.0.0可以写成 0
[root@master ~]# ifconfig eth1 0.0.0.0
#启用和禁用
[root@master ~]# ifconfig eth1 up
[root@master ~]# ifconfig eth1 down

#常用选项
-a #显示所有
-s #以短格式显示
-v #显示详细错误信息

route:路由

#常用选项
-v|--verbose #显示详细信息
-n|--numeric #以IP格式显示,而不是以主机名显示
-e|--extend #显示扩展字段
-F|--fib #显示转发信息
-C|--cache #显示路由缓存
-V|--version #显示版本信息
-h|--help #显示帮助信息
-f #清除网关入口处路由表
-net #目标是一个网络
-host #目标是一个主机

#常用子命令
add
del
flush
netmask
gw
metric
Destination
Gateway

[root@master1 ~]#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.2        0.0.0.0         UG    100    0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 eth0

目标:10.168.1.2 网关172.16.0.1
#添加
route add -host 10.168.1.2 gw 172.16.0.1 dev eth0
#删除
route del -host 10.168.1.2
目标:10.168.0.0 网关172.16.0.1
#添加
route add -net 10.168.0.0/24 gw 172.16.0.1 dev eth0
删除
route del -net 10.168.0.0/24 netmask 255.255.255.0

#开启路由转发
#查看
cat /proc/sys/net/ipv4/ip_forward 
1
vim /etc/sysctl.conf
net.ipv4.ip_forward=
#生效
sysctl -p
net.ipv4.ip_forward = 1

echo 1 > /proc/sys/net/ipv4/ip_forward

诊断工具
#抓包
tcpdump -i ens33 -nn icmp
#跟踪路由
mtr 10.0.0.254 -n

netstat命令:显示网络连接

#常用选项
-A #指定网络类型 
inet|inet6|unix|ipx|ax25|netrom|econet|ddp|bluetooth
-r|--route #显示路由表
-t|--tcp #显示tcp端口数据
-u|--udp #显示udp端口数据
-w|--raw #raw socket相关
-l|--listening #仅显示处于监听状态的端口
-a|--all #所有数据
-n|--numeric #以数字显示IP和端口
-s|--statistice #显示统计数据
-p|--program #显示相关进程及PID
-x|--unix #同 -A unix
-ip|--inet #同 -A 
-I|--interfaces=<Iface> #指定设备
#常用组合
-tan, -uan, -tnl, -unl

#统计所有网卡信息
netstat -i|ifconfig -s|cat /proc/net/dev
#统计所有指定信息
netstat -Ieth0|netstat -I=eth0|ifconfig -s eth0|{cat /proc/net/dev|grep eth0}
ip,ss,nmcli

ip(可以代替ifconfig,route)

OBJECT := { link | addr | route }
#管理路由
ip route add 192.168.0.0/24 via 172.16.0.1 
ip route add 192.168.1.100 via 172.16.0.1
ip route add default via 172.16.0.1
ip route flush dev eth0
ip route get 8.8.8.8

ss(可以代替netstat)
netstat 通过遍历 /proc来获取 socket信息,ss 使用 netlink与内核 tcp_diag 模块通信获取 socket 信息

ss [ OPTIONS ] [ FILTER ]
#常用选项
-n|--numeric       #不以主机名的格式显示
-r|--resolve       #以主机名的形式显示IP
-a|--all           #显示所有数据
-l|--listening     #仅显示listen状态的连接
-m|--memory       #显示连接内存使用情况
-p|--processes     #显示对应的进程   
--tipcinfo     #显示TIPC连接的详细信息
-s|--summary     #显示统计信息
-4|--ipv4         #仅显示IPV4连接数据
-6|--ipv6         #仅显示IPV6连接数据
-0|--packet       #仅显示PACKET数据
-t|--tcp           #仅显示tcp数据
-M|--mptcp         #仅显示mptcp数据
-S|--sctp         #仅显示sctp数据
-u|--udp           #仅显示udp数据
-d|--dccp         #仅显示dccp数据
-w|--raw           #仅显示原生套接字数据
-x|--unix         #仅显示unix数据
--tipc         #仅显示tipc数据
--vsock         #仅显示vsock数据
-f|--family=FAMILY #根据类型过滤
{inet|inet6|link|unix|netlink|vsock|tipc|xdp|help}
-A|--query=QUERY|--socket=QUERY #根据连接类型过滤
{all|inet|tcp|mptcp|udp|raw|unix|unix_dgram|unix_stream|unix_seqpacket|packet|ne
tlink|vsock_stream|vsock_dgram|tipc}[,QUERY]
#常用组合
-tan, -uan, -tnl, -unl, -tuanp

nmcli:网络配置工具

NetworkManager:让用户能更轻松的管理Linux中的网络,它 是一个动态的,事件驱动的网络管理服务。

该项目提供了丰富的管理工具

图形工具:nm-connection-editor

字符配置工具:nmtui,nmtui-connect,nmtui-edit,nmtui-hostname

命令行工具:nmcli

nmcli [OPTIONS] OBJECT { COMMAND | help }
#常用选项
-a|--ask                               #询问
-c|--colors                 #输出时是否显示颜色 auto|yes|no
-e|--escape                     #是否转义分隔符 yes|no
-f|--fields     #指定输出列 <field,...>|all|common
-m|--mode             #显示模式 tabular|multiline
-o|--overview                           #预览模式输出
-p|--pretty                             #完美格式输出
-t|--terse                             #简洁格式输出
-v|--version                           #显示版本信息
-h|--help #显示帮助
#OBJECT
g[eneral]       #一般状态管理
n[etworking]   #整体网络管理
r[adio]         #网络连接切换
c[onnection]   #网络连接管理
d[evice]       #网络设备管理
a[gent]         #网络中的代理
m[onitor]       #网络中的流量数据监测

常用命令

nmcli con show
nmcli con del con-eth1
nmcli con up con-eth1
nmcli con down con-eth1
nmcli connection reload;
#新增,从dhcp 获取IP地址
nmcli con add con-name con-dhcp type ethernet ifname eth1
#新增,静态地址
nmcli connection add con-name con-eth1 ipv4.addresses 172.16.1.111/16 
ipv4.gateway 172.16.1.254 ipv4.dns 8.8.8.8 ipv4.method manual type ethernet 
ifname eth1
网卡别名

将多个IP地址绑定到一个MAC上 每个IP绑定到独立逻辑网卡,即网络别名,命名格式: ethX:Y,如:eth0:1 、eth0:2、eth0:3

ifconfig 命令
ifconfig eth0:0 192.168.1.100/24 up 
ifconfig eth0:0 down
#ip 命令
ip addr add 172.16.1.1/16 dev eth0
ip addr add 172.16.1.2/16 dev eth0 label eth0:0
ip addr flush dev eth0 label eth0:0

为每个设备别名生成独立的接口配置文件,格式为:ifcfg-ethX:xxx

安装Docker安装插件,可以按照以下步骤进行操作: 1. 首先,安装Docker。可以按照官方文档提供的步骤进行安装,或者使用适合您操作系统的包管理器进行安装。 2. 安装Docker Compose插件。可以使用以下方法安装: 2.1 下载指定版本的docker-compose文件: curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 2.2 赋予docker-compose文件执行权限: chmod +x /usr/local/bin/docker-compose 2.3 验证安装是否成功: docker-compose --version 3. 在安装插件之前,可以测试端口是否已被占用,以避免编排过程中出错。可以使用以下命令安装netstat并查看端口号是否被占用: yum -y install net-tools netstat -npl | grep 3306 现在,您已经安装Docker安装Docker Compose插件,可以继续进行其他操作,例如上传docker-compose.yml文件到服务器,并在服务器上安装MySQL容器。可以参考Docker的官方文档或其他资源来了解如何使用DockerDocker Compose进行容器的安装和配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Docker安装docker-compose插件](https://blog.youkuaiyun.com/qq_50661854/article/details/124453329)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Docker安装MySQL docker安装mysql 完整详细教程](https://blog.youkuaiyun.com/qq_40739917/article/details/130891879)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值