努力挣扎的生活 努力挣扎的生活
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 运维基础
  • 监控
  • 日志系统
  • gitlab安装
  • jenkins安装和管理
  • Jenkins工具集成
  • pipeline流水线
  • Docker
  • Kubernetes
  • Nexus
  • Rancher
  • Prometheus
  • ELK(EFK)
  • 虚拟化
  • Mysql
  • PostgreSQL
  • Redis
  • MongoDB
  • clickhouse
关于
  • 分类
  • 标签
  • 归档
  • 收藏
  • 更多
GitHub (opens new window)

yangfk

瑟瑟发抖的小运维
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 运维基础
  • 监控
  • 日志系统
  • gitlab安装
  • jenkins安装和管理
  • Jenkins工具集成
  • pipeline流水线
  • Docker
  • Kubernetes
  • Nexus
  • Rancher
  • Prometheus
  • ELK(EFK)
  • 虚拟化
  • Mysql
  • PostgreSQL
  • Redis
  • MongoDB
  • clickhouse
关于
  • 分类
  • 标签
  • 归档
  • 收藏
  • 更多
GitHub (opens new window)
  • 运维基础

    • nginx 安装
    • nginx-conf常用示例
    • rsync 服务pull与push
    • linux时间同步
    • 系统参数优化
    • ruby版本升级
    • fpm定制rpm
    • php7_X安装
    • iptables规则
    • tcpdump抓包
    • 公司部署Pritunl-VPN
    • 需求shell脚本记录
    • openldap安装配置
    • Ldap集成常用开源服务示例图
    • ansible基础
    • ansible进阶playbook与Roles
    • centos安装python3
    • Firewalld防火墙
    • Linux配置jdk
    • ubuntu安装ftp
    • minio分布式文件存储
    • windows安装openssh
    • centos7安装系统检测不到网卡
    • docker运行一个bind9和常用的网络命令
      • docker运行一个bind9和常用的网络命令
        • 拷贝初始配置文件
        • 修改配置文件
        • 配置docker-compose
      • dig命令
      • traceroute路由追踪
        • ip route
        • Ubuntu22.04 设置开机自启动
      • nmcli(NetworkManager命令行工具)
        • NetworkManager服务配置网卡配置文件
    • nginx禁用真实IP
  • 监控

  • 日志系统

  • 安全记录

//
  • 运维
  • 运维基础
yangfk
2024-09-27

docker运行一个bind9和常用的网络命令

//

# docker运行一个bind9和常用的网络命令

提示: 启动用户所属主ID:101

# 拷贝初始配置文件

mkdir -p /data/bind9/bind && cd  /data/bind9

docker run -d --name bind9-container -e TZ=UTC -p 30053:53 -p 30053:53/udp ubuntu/bind9:9.18-22.04_edge

#只保留这几个文件:bind.keys named.conf  named.conf.default-zones  named.conf.options  rndc.key
docker cp bind9-container:/etc/bind  bind_tmp
cd bind_tmp && cp  bind.keys named.conf  named.conf.default-zones  named.conf.options  rndc.key ../bind/
docker rm -f  bind9-container
1
2
3
4
5
6
7
8

# 修改配置文件

当前主机IP: 192.168.0.10

cd  /data/bind9

cat >bind/named.conf.default-zones<<'EOF'
zone "." {
	type hint;
	file "/usr/share/dns/root.hints";
};


zone "yfklife.cn" IN {
	type master;
	file "/etc/bind/yfklife.cn";
};
EOF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
cat >bind/yfklife.cn<<'EOF'
@	IN	SOA	yfklife.cn. root (
			      1		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			  86400 )	; Negative Cache TTL
;
        IN      NS      ns1.yfklife.cn.
ns1     IN      A    192.168.0.10


@	    IN      A    192.168.0.200
ci      IN      A    192.168.0.200
git     IN      A    192.168.0.201
loki    IN      A    192.168.0.202
EOF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 配置docker-compose

cd  /data/bind9
cat >docker-compose.yaml<<'EOF'
version: '3'
services:
  bind9:
    restart: always
    network_mode: bridge
    image: ubuntu/bind9:9.18-22.04_edge
    container_name: bind9
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /etc/localtime:/etc/localtime
      - ./bind:/etc/bind
    ports:
      - "53:53/tcp"
      - "53:53/udp"
EOF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  • 启动

文件授权:chown -R 101.101 /data/bind9/bind

docker-compose -f docker-compose.yaml up -d

# dig命令

  • 安装
#centos
yum install bind-utils -y

#ubuntu
apt install dnsutils -y
1
2
3
4
5

dig @192.168.0.10 git.yfklife.cn

dig ANY +short @192.168.0.10 test-01.yfklife.cn

  • 指定dns服务端口:55353

dig +short docker.com @192.168.0.10 -p 55353

  • dns追踪,利用多个域名对比权威的dns解析商

dig +trace @192.168.0.10 baidu.com

# traceroute路由追踪

traceroute的工作原理是基于ICMP(Internet Control Message Protocol)和IP头部的TTL(Time To Live)字段

  • 解析请求地址,直接显示IP地址

traceroute -n www.baidu.com

  • 指定吓一跳次数3次

traceroute -m 3 www.baidu.com

  • 指定端口:443

traceroute -p 443 www.baidu.com

# ip route

  • 添加路由

优先选择metric值最小的路由

ip route add 192.168.10.0/24 via 192.168.10.1 dev ens21f1 metric 99

  • 删除路由

ip route del 192.168.10.0/24 via 192.168.10.1 dev ens21f1 metric 99

# Ubuntu22.04 设置开机自启动

  • 方式一

使用netplan 服务管理

ubuntu_network_01

  • 方式二
cat >/etc/init.d/ip_route<<'EOF'
#!/bin/bash

### BEGIN INIT INFO
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO

case "$1" in
start)	ip route add 10.61.16.0/24 via 192.168.108.1
	;;
stop)	ip route del 10.61.16.0/24 via 192.168.108.1
        ;;
status)
        netstat -rn
        ;;
    *)
	echo "Usage: $0
	  {start|stop|status}"
	exit 1
	;;
esac
exit 0
EOF

chmod +x /etc/init.d/ip_route
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

update-rc.d ip_route defaults 99

systemctl enable ip_route

  • 方式三

通过systemd 和脚本

#添加systemd单元

cat >/lib/systemd/system/ip_route.service<<'EOF'
[Unit]
Description=Add ip route
After=networkd-dispatcher.service
[Service]
Type=simple
ExecStart=/etc/init.d/ip_route.sh
[Install]
WantedBy=multi-user.target
EOF

#配置启动脚本

cat  >/etc/init.d/ip_route.sh<<'EOF'
#!/bin/bash


ip route add 192.168.10.0/24 via 192.168.108.1 dev ens33 metric 99
systemctl enable ip_route
EOF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# nmcli(NetworkManager命令行工具)

在 CentOS 7 中,默认使用NetworkManager守护进程来监控和管理网络设置,nmcli是命令行的NetworkManager工具,会自动把配置写到/etc/sysconfig/network-scripts/目录下面
在 openEuler 中,NetworkManager 也是常用的网络管理服务,可能没有 /etc/sysconfig/network-scripts/,需要手动创建
  • 查看网络连接状态

nmcli connection show

  • 创建一个新的网络连接
nmcli connection add type ethernet con-name ens192 ifname ens192 ip4 192.168.255.129/24 gw4 192.168.255.2 ipv4.never-default yes
nmcli connection modify ens192 ipv4.dns "180.76.76.76 223.5.5.5"
1
2
ifname(DEVICE): 设备名
con-name(NAME):配置文件名 ifcfg-ens192
ipv4.never-default yes : 设置为yes,将不会为该网卡自动添加0.0.0.0的默认路由
  • 设置开机自启动

nmcli connection modify ens192 autoconnect yes

  • 启用新的网络连接,(device使用已经在用的网卡,会把在用的停掉,启用新配置的网卡配置文件)

nmcli connection up ens192

  • 加载所有的网卡配置文件

nmcli connection reload

# NetworkManager服务配置网卡配置文件

  • 配置网卡配置文件

ip a 查看有哪些网卡名,再配置对应的网卡名,把配置写到/etc/sysconfig/network-scripts/目录下面

[root@openEuler03 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=ens192
DEVICE=ens192
ONBOOT=yes
IPADDR=192.168.5.126
PREFIX=24
GATEWAY=192.168.5.1
DNS1=180.76.76.76
1
2
3
4
5
6
7
8
9
10
11
  • 加载网卡配置文件

*在不重启系统的情况下,仅重启NetworkManager服务,它不会重新读取/etc/sysconfig/network-scripts/ 下文件使其生效

*加载网卡配置文件 ens192

  • 重新加载所有的网卡配置文件,没有对应的设备名会报错
nmcli connection reload
nmcli connection up ens192

1
2
3
  • 加载某个配置网卡文件ifcfg-ens192
nmcli connection load /etc/sysconfig/network-scripts/ifcfg-ens192
nmcli connection up ens192
1
2
//
如果此文章对您有帮助,点击 -->> 请博主喝咖啡 (opens new window)
上次更新: 2025/01/23, 10:34:52
centos7安装系统检测不到网卡
nginx禁用真实IP

← centos7安装系统检测不到网卡 nginx禁用真实IP→

最近更新
01
Linux Polkit 权限提升漏洞(CVE-2021-4034)
03-28
02
postgreSQL维护
03-17
03
trivy系统漏洞扫描
02-25
更多文章>
Theme by Vdoing | Copyright © 2019-2025 yangfk | 湘ICP备2021014415号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×
//