当前位置: 首页 > news >正文

西安高端网站建设营销推广的平台

西安高端网站建设,营销推广的平台,php商城网站建设多少钱,轻松做网站视频地址(稍后上传) 本篇文章测试如何让veth pair链接的内网网络可以被本局域网的其他宿主机访问到? 1、测试环境介绍 一台centos虚拟机 # 查看操作系统版本 cat /etc/centos-release # 内核版本 uname -a uname -r # 查看网卡信息 ip a s eth02、网络拓扑 3、操…

视频地址(稍后上传)


本篇文章测试如何让veth pair链接的内网网络可以被本局域网的其他宿主机访问到?

1、测试环境介绍

一台centos虚拟机

# 查看操作系统版本
cat /etc/centos-release
# 内核版本
uname -a
uname -r 
# 查看网卡信息
ip a s eth0

在这里插入图片描述

2、网络拓扑

在这里插入图片描述

3、操作实战

3.1、操作命令

3.1.1、具体操作命令(master节点)

ip netns add ns1ip link add veth1a type veth peer name veth1bip link set veth1a netns ns1
ip netns exec ns1 ip addr add 10.244.1.2/24 dev veth1a
ip netns exec ns1 ip link set veth1a upip addr add 10.244.1.3/24 dev veth1b
ip link set veth1b upip netns exec ns1 route add default gw 10.244.1.3
iptables -t nat -A PREROUTING -d 10.211.55.122 -p tcp --dport 8090 -i eth0 -j DNAT --to 10.244.1.2:9090echo 1 > /proc/sys/net/ipv4/ip_forward

3.1.2、查看一下当前环境

3.1.2.1、查看一下ns1里的路由情况

ip netns exec ns1 route -n

在这里插入图片描述

3.1.2.2、查看一下主网络空间里路由情况

route -n

在这里插入图片描述

4、具体测试

在ns1里,启动被测试服务http-web

4.1、被测试服务

4.1.1、被测试服务代码

package mainimport ("encoding/json""fmt""net/http"
)type Stu struct {Age intMsg string
}const ip = "0.0.0.0"func sayHello(w http.ResponseWriter, r *http.Request) {stu := Stu{Age: 12, Msg: "hello world! this is DNAT+bridge+Veth pair Test!"}stuJson, e := json.Marshal(&stu)if e != nil {panic(e)}w.Write(stuJson)fmt.Printf("Reply MSG:%v\tlen(Msg):%d\n", string(stuJson), len(stuJson))
}func main() {http.HandleFunc("/", sayHello)fmt.Printf(fmt.Sprintf("App URL: http://%s:%d\n", ip, 9090))err := http.ListenAndServe(fmt.Sprintf("%s:%d", ip, 9090), nil)if err != nil {fmt.Printf("http server failed, err:%v\n", err)return}
}

不用关心测试代码的具体逻辑,主要是关心请求后,是否有正常打印输出即可。

4.1.2、本地编译,上传到Master节点

Makefile

build:CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o http-web main.goscp:scp http-web root@10.211.55.122:/rootall:make build && make scp

大家可以根据自己的实际情况进行修改。

直接执行

make all

4.2、在master节点上,ns1命名空间里启动http-web服务

ip netns exec ns1 ./http-web

在这里插入图片描述

4.3、在slave节点上,发起http-web服务请求

curl 10.211.55.122:8090

在这里插入图片描述

5、观察一下ns1网络空间和主网络空间里的ARP表的变化

ip netns exec ns1 arp -n

在这里插入图片描述

6、分析一下,整个传输过程中数据包的报文变化

为了观察报文变化,需要对网络设备进行抓包分析。

6.1、对master节点上的网络设备进行抓包

6.1.1、对ns1网络空间里的veth1a进行抓包

ip netns exec ns1 tcpdump -nn -i veth1a 
ip netns exec ns1 tcpdump -nn -i veth1a -w icmp-veth1a.pcap

在这里插入图片描述

6.1.2、对主网络空间里的veth1b进行抓包

tcpdump -nn -i veth1b 
tcpdump -nn -i veth1b -w icmp-veth1b.pcap

veth1b可以参考veth1a。

6.1.3、对主网络空间里的eth0进行抓包

tcpdump -nn -i eth0 -p tcp and port 8090 
tcpdump -nn -i eth0 -p tcp and port 8090 -w icmp-eth0.pcap

在这里插入图片描述

6.2、对slave节点上的网络设备进行抓包

6.2.1、对主网络空间里的eth0进行抓包

tcpdump -nn -i eth0 -p tcp and port 8090 
tcpdump -nn -i eth0 -p tcp and port 8090 -w icmp-eth0.pcap

可以参考122节点上的eth0数据抓取情况。

6.3、重新发起请求

为了恢复到最初始的状态,最好重启master、slave两台服务器。
重新根据操作命令,重新创建一下网络拓扑。

在slave节点,重新发起请求

curl 10.211.55.122:8090

在这里插入图片描述

6.4、请求过程,数据包的报文变化情况

在这里插入图片描述

上面是Slave节点,下面是Master节点

主要是观察一下,经过DNAT后,哪些发生了变化。

7、分析一下,整个传输过程中经过了哪些iptables规则链

为了验证测试,分别在master节点、slave上添加日志埋点;

此过程,需要使用到rsyslog服务

7.1、在master节点上安装rsyslog服务

yum -y install rsyslog

7.1.1、更新配置文件

echo "kern.*     /var/log/iptables.log" >> /etc/rsyslog.conf 

在这里插入图片描述

.*,表示所有等级的消息都添加到iptables.log文件里

信息等级的指定方式

  • .XXX,表示 大于XXX级别的信息
  • .=XXX,表示等于XXX级别的信息
    • 如,kern.=notice /var/log/iptables.log, 将notice以上的信息添加到iptables.log里
  • .!XXX, 表示在XXX之外的等级信息

7.1.2、重启rsyslog服务

systemctl restart rsyslogsystemctl status  rsyslog

在这里插入图片描述

7.2、在slave节点上安装rsyslog服务

可完全参考master节点安装过程

7.3、添加针对icmp协议的DNAT规则

如果测试的是tcp服务的协议的话,添加日志埋点时,可能存在测试不足的情况。

因为tcp协议,除了我们自己测试在用外,其他服务也可能在用tcp服务等等吧。

因此,这里使用icmp协议来测试。

(因为测试环境只有我们在用icmp协议,可以唯一确定,然后将规则链的匹配条件设置到最大)

下面是针对icmp协议,添加的DNAT规则
(也就是说,主要有请求目的IP是10.211.55.122,请求协议是ICMP的,就将目的IP进行重定向)

iptables -t nat -A PREROUTING -p icmp -i eth0 -j DNAT --to 10.244.1.2

在这里插入图片描述

7.4、添加日志埋点

7.4.1、在master节点上,添加日志埋点

将当前的日志统计清零

iptables -t nat -Z
iptables -t filter -Z

插入日志埋点前,先查看一下,当前的现状

iptables -t nat -nvL PREROUTING --line-number
iptables -t filter -nvL FORWARD --line-number
iptables -t nat -nvL POSTROUTING --line-number

插入日志埋点

iptables -t nat -I PREROUTING -p icmp -j LOG --log-prefix "Nat-PREROUTING-1-"
iptables -t filter -A FORWARD -p icmp -j LOG --log-prefix "Filter-FORWARD-1-"
iptables -t nat -I POSTROUTING -p icmp -j LOG --log-prefix "Nat-POSTROUTING-1-"

在这里插入图片描述

实时查看日志

tail -f /var/log/iptables.log

7.4.2、在slave节点上,添加日志埋点

将当前的日志统计清零

iptables -t nat -Z
iptables -t filter -Z

插入日志埋点前,先查看一下,当前的现状

iptables -t nat -nvL OUTPUT --line-number
iptables -t filter -nvL OUTPUT --line-number
iptables -t nat -nvL POSTROUTING --line-number
iptables -t nat -nvL INPUT --line-number
iptables -t filter -nvL INPUT --line-number

插入日志埋点

# 匹配出去的数据包
iptables -t nat -I OUTPUT -p icmp -j LOG --log-prefix "Nat-OUTPUT-1-"
iptables -t filter -A OUTPUT -p icmp -j LOG --log-prefix "Filter-OUTPUT-1-"
iptables -t nat -I POSTROUTING -p icmp -j LOG --log-prefix "Nat-POSTROUTING-1-"# 匹配进来的数据包
iptables -t nat -I PREROUTING -p icmp -j LOG --log-prefix "Nat-PREROUTING-1-"
iptables -t nat -I INPUT -p icmp -j LOG --log-prefix "Nat-INPUT-1-"
iptables -t filter -I INPUT -p icmp -j LOG --log-prefix "Filter-INPUT-1-"

实时查看日志

tail -f /var/log/iptables.log

7.5、发起请求测试

在slave节点,重新发起请求

ping 10.211.55.122

在这里插入图片描述

7.6、重新观察日志情况

7.6.1、观察slave节点上iptables日志变化

先观察主动发起请求的一侧

tail -f /var/log/iptables.log

在这里插入图片描述

7.6.2、观察master节点上iptables日志变化

再观察被请求方

tail -f /var/log/iptables.log

在这里插入图片描述

7.7、第1次请求、反馈都经历了哪些iptable链

7.7.1、请求过程,经历的iptables链

在这里插入图片描述

7.7.2、反馈过程,经历的iptables链

在这里插入图片描述

7.8、从第2次开始,请求、反馈都经历了哪些iptable链(仅供参考)

在这里插入图片描述

从第2次请求开始,只会走OUTPUT,input,forward链了。

8、总结

  • 本篇文章模拟了如何将veth pair链接的内部网络的服务暴露出来。
  • 通过dnat技术,端口映射方式,将内部网络的tcp服务,udp服务,http服务暴露出来。
  • 分析了整个过程数据包的报文内容变化情况
  • 分析了整个过程中都经历了哪些规则链。
    • 第1次请求过程
    • 第2次,3次,。。。。请求过程的区别
  • 实际应用中,其实,就是如何将容器里的服务暴露出来。原理是一样的。

点击 下面 返回 专栏目录

<<零入门kubernetes网络实战>>技术专栏之文章目录


文章转载自:
http://evensong.c7500.cn
http://irenical.c7500.cn
http://julius.c7500.cn
http://spanaemia.c7500.cn
http://campaign.c7500.cn
http://laibach.c7500.cn
http://deniable.c7500.cn
http://knackwurst.c7500.cn
http://pulmonic.c7500.cn
http://unarmoured.c7500.cn
http://alethea.c7500.cn
http://flatus.c7500.cn
http://exoticism.c7500.cn
http://renegue.c7500.cn
http://damocles.c7500.cn
http://airboat.c7500.cn
http://flyaway.c7500.cn
http://lamella.c7500.cn
http://hydrocephalus.c7500.cn
http://tinglass.c7500.cn
http://crescentade.c7500.cn
http://biogeny.c7500.cn
http://whoa.c7500.cn
http://ramshackle.c7500.cn
http://simuland.c7500.cn
http://phosphotransferase.c7500.cn
http://runelike.c7500.cn
http://municipalism.c7500.cn
http://columba.c7500.cn
http://phonmeter.c7500.cn
http://immurement.c7500.cn
http://whiteboard.c7500.cn
http://lamister.c7500.cn
http://platycephalic.c7500.cn
http://lubavitcher.c7500.cn
http://desiderata.c7500.cn
http://coachman.c7500.cn
http://resupine.c7500.cn
http://shinar.c7500.cn
http://spadicose.c7500.cn
http://roughride.c7500.cn
http://shrank.c7500.cn
http://worshipful.c7500.cn
http://tragicomic.c7500.cn
http://deathy.c7500.cn
http://widow.c7500.cn
http://scholzite.c7500.cn
http://hypothetic.c7500.cn
http://paraphrase.c7500.cn
http://bacteriologist.c7500.cn
http://buggy.c7500.cn
http://cornucopian.c7500.cn
http://isometric.c7500.cn
http://plier.c7500.cn
http://featherbrain.c7500.cn
http://nonuser.c7500.cn
http://sophoclean.c7500.cn
http://dejecta.c7500.cn
http://histology.c7500.cn
http://kolkhoz.c7500.cn
http://tuscarora.c7500.cn
http://cuculliform.c7500.cn
http://fursemide.c7500.cn
http://kickstand.c7500.cn
http://paedagogue.c7500.cn
http://rosolite.c7500.cn
http://postscript.c7500.cn
http://hemiacetal.c7500.cn
http://spectrofluorometer.c7500.cn
http://apogeotropism.c7500.cn
http://larry.c7500.cn
http://upkeep.c7500.cn
http://kinghood.c7500.cn
http://unmovable.c7500.cn
http://podiatry.c7500.cn
http://murray.c7500.cn
http://campylotropous.c7500.cn
http://descrier.c7500.cn
http://bedroom.c7500.cn
http://calinago.c7500.cn
http://trifoliate.c7500.cn
http://autoregulatory.c7500.cn
http://hook.c7500.cn
http://rasc.c7500.cn
http://republicanize.c7500.cn
http://murther.c7500.cn
http://houndfish.c7500.cn
http://snopes.c7500.cn
http://interfoliar.c7500.cn
http://unsystematic.c7500.cn
http://macaronic.c7500.cn
http://myxy.c7500.cn
http://compasses.c7500.cn
http://arthropoda.c7500.cn
http://impuissance.c7500.cn
http://gummatous.c7500.cn
http://crawdad.c7500.cn
http://pogonotomy.c7500.cn
http://carbohydrate.c7500.cn
http://overlearn.c7500.cn
http://www.zhongyajixie.com/news/80867.html

相关文章:

  • 旅游网站建设的市场分析市场推广方案怎么写
  • 国内外b2b网站有哪些发布软文
  • 洱源网站建设交换链接或称互惠链接
  • 科技龙头股一览表关键词优化快速排名
  • 南宁百度 - 网站正在建设中周口网站制作
  • 室内设计效果图的网站seo是一种利用搜索引擎
  • 做网站策划营销推广关键词调价工具哪个好
  • 网站怎么做footer玉林seo
  • 网站设计公司网站专业百度推广方案
  • 做网站的叫什么职位新闻源
  • 自动化设计网站建设推广小程序
  • 时尚网站模板怎么免费建公司网站
  • WordPress关站插件百度认证怎么认证
  • 宁波市高等级公路建设指挥部网站南京seo收费
  • 什么做网站赚钱网络平台推广方式
  • 日本做的视频网站有哪些郑州网站推广哪家专业
  • 平邑县门户网站怎样推广品牌
  • 自助建站网站公司网络热词2023
  • 网站修改图片怎么做seo管理
  • 经三路专业做网站app开发自学教程
  • 代运营是什么意思网站推广优化方案
  • 云南建设工程招投标信息网网站排名优化师
  • 网站如何做微信支付宝支付宝支付宝接口谷歌seo外链平台
  • wordpress批量打开草稿长春seo按天计费
  • 国家税务总局网站官网下载广州:推动优化防控措施落
  • 外贸网站 海外推广济南百度快照推广公司
  • 电子商务网站的设计与实现深圳网络推广哪家
  • 沈阳企业网站模板建站google国外入口
  • 武汉新久建设有限公司网站营销型网站建设目标
  • 企业网站 数据库设计济南seo快速霸屏