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

长沙网站开发方案维护网站建设空间出租

长沙网站开发方案,维护网站建设空间出租,wordpress如何装模板,2021年免费的网站有哪些iptables的一次修复日志 搭建配置wireguard后#xff0c;使用内网连接设备十分方便#xff0c;我采用的是星型连接#xff0c;即每个节点都连接到中心节点#xff0c;但是突然发生了重启wg后中心节点不转发流量的问题#xff0c;即每个接入的节点只能与中心节点连接…iptables的一次修复日志 搭建配置wireguard后使用内网连接设备十分方便我采用的是星型连接即每个节点都连接到中心节点但是突然发生了重启wg后中心节点不转发流量的问题即每个接入的节点只能与中心节点连接而节点与节点间无法连接。然而reboot重启中心节点机器后wg内网却能正常工作。最后发现是iptables配置的问题。借此机会熟悉了iptables的逻辑。 1. 发现和解决问题 1.1 现象 当时中心节点上挂了 ipsec,wireguard,和docker等当时也不知道是谁干的好事我甚至不知道ipsec也写了这个表最后锁定了问题出在FORWARD 链。具体是这样的 重启wireguard复现了问题后使用 sudo iptables -nvL查看这个表最后观察到这个表是这样的。 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 195K 51M DOCKER-USER 0 -- * * 0.0.0.0/0 0.0.0.0/0 2 195K 51M DOCKER-ISOLATION-STAGE-1 0 -- * * 0.0.0.0/0 0.0.0.0/0 3 0 0 ACCEPT 0 -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 4 0 0 DOCKER 0 -- * docker0 0.0.0.0/0 0.0.0.0/0 5 0 0 ACCEPT 0 -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0 6 0 0 ACCEPT 0 -- docker0 docker0 0.0.0.0/0 0.0.0.0/0 7 20 800 DROP 0 -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID 8 0 0 ACCEPT 0 -- eth0 ppp 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 9 0 0 ACCEPT 0 -- ppp eth0 0.0.0.0/0 0.0.0.0/0 10 0 0 ACCEPT 0 -- ppp ppp 0.0.0.0/0 0.0.0.0/0 11 0 0 ACCEPT 0 -- eth0 * 0.0.0.0/0 192.168.43.0/24 ctstate RELATED,ESTABLISHED 12 0 0 ACCEPT 0 -- * eth0 192.168.43.0/24 0.0.0.0/0 13 0 0 ACCEPT 0 -- * ppp 192.168.43.0/24 0.0.0.0/0 14 0 0 ACCEPT 0 -- wg2 * 0.0.0.0/0 0.0.0.0/0 15 0 0 ACCEPT 0 -- * wg2 0.0.0.0/0 0.0.0.0/0 16 393 26860 DROP 0 -- * * 0.0.0.0/0 0.0.0.0/0 17 0 0 ACCEPT 0 -- wg2 * 0.0.0.0/0 0.0.0.0/0 18 0 0 ACCEPT 0 -- * wg2 0.0.0.0/0 0.0.0.0/0 19 0 0 ACCEPT 0 -- wg0 * 0.0.0.0/0 0.0.0.0/0 20 0 0 ACCEPT 0 -- * wg0 0.0.0.0/0 0.0.0.0/0 21 0 0 ACCEPT 0 -- wg0 * 0.0.0.0/0 0.0.0.0/0 22 0 0 ACCEPT 0 -- * wg0 0.0.0.0/0 0.0.0.0/0 流量从上往下匹配在匹配到wg0的规则前匹配到了DROP,卒。 然后reboot重启了机器FORWARD链变成了这样 1 491 106K DOCKER-USER 0 -- * * 0.0.0.0/0 0.0.0.0/0 2 491 106K DOCKER-ISOLATION-STAGE-1 0 -- * * 0.0.0.0/0 0.0.0.0/0 3 0 0 ACCEPT 0 -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 4 0 0 DOCKER 0 -- * docker0 0.0.0.0/0 0.0.0.0/0 5 0 0 ACCEPT 0 -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0 6 0 0 ACCEPT 0 -- docker0 docker0 0.0.0.0/0 0.0.0.0/0 7 0 0 DROP 0 -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID 8 0 0 ACCEPT 0 -- eth0 ppp 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 9 0 0 ACCEPT 0 -- ppp eth0 0.0.0.0/0 0.0.0.0/0 10 0 0 ACCEPT 0 -- ppp ppp 0.0.0.0/0 0.0.0.0/0 11 0 0 ACCEPT 0 -- eth0 * 0.0.0.0/0 192.168.43.0/24 ctstate RELATED,ESTABLISHED 12 0 0 ACCEPT 0 -- * eth0 192.168.43.0/24 0.0.0.0/0 13 0 0 ACCEPT 0 -- * ppp 192.168.43.0/24 0.0.0.0/0 14 0 0 ACCEPT 0 -- wg2 * 0.0.0.0/0 0.0.0.0/0 15 0 0 ACCEPT 0 -- * wg2 0.0.0.0/0 0.0.0.0/0 16 491 106K ACCEPT 0 -- wg0 * 0.0.0.0/0 0.0.0.0/0 17 0 0 ACCEPT 0 -- * wg0 0.0.0.0/0 0.0.0.0/0 18 0 0 DROP 0 -- * * 0.0.0.0/0 0.0.0.0/0 19 0 0 ACCEPT 0 -- wg2 * 0.0.0.0/0 0.0.0.0/0 20 0 0 ACCEPT 0 -- * wg2 0.0.0.0/0 0.0.0.0/0 21 0 0 ACCEPT 0 -- wg0 * 0.0.0.0/0 0.0.0.0/0 22 0 0 ACCEPT 0 -- * wg0 0.0.0.0/0 0.0.0.0/0 因为有wg0的规则出现在了DROP之前所以流量成功的走了出来。 1.2 补充知识点 iptables中的-A和-I,一个是Insert一个是Append,Insert会直接插在链规则的最前边Append则是会直接插在最后边。 1.3 解决问题 看了下wg0.conf是怎么写的 Address **.**.**.1/24 PrivateKey ******************************************* PostUp iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE[Peer] publickey ******************************************* AllowedIPs **.**.**.2/32[Peer] publickey ******************************************* AllowedIPs **.**.**.3/32[Peer] publickey ******************************************* AllowedIPs **.**.**.4/32[Peer] publickey ******************************************* AllowedIPs **.**.**.5/32... ...其中的PostUp和PostDown被执行-A 指定了规则append到该表该链的所有规则的后边。 所以reboot重启机器的时候由于DROP最后才被append加进来而wireguard的规则先append进来了所以从上往下执行。就没事。 然而此后重启wireguard,由于重新append时append到了DROP后边所以该规则没能先于DROP被执行 所以只要重启的时候使用Insert而不是Append就解决了即把PostUP中的-A换成-I即 PostUp iptables -I FORWARD -i %i -j ACCEPT; iptables -I FORWARD -o %i -j ACCEPT; iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE问题就解决了。 2. 问题的解释 关于wg0的规则并排的0有两条一条是in * out wg0 一条是in wg0 out *,它们是冗余的因为有路由表保证了只有来自wg0的流量才会到wg0。 3.排查docker和ipsec 缺德的DROP是谁添加的呢为了观察这一点首先引入了两条工具 3.1 工具 iptables的注释 语法是 iptables -m comment --comment My comments here具体使用案例(直接写在wg0.conf里 PostUp iptables -I FORWARD -i %i -m comment --comment Added in wg0.conf -j ACCEPT; iptables -I FORWARD -o %i -m comment --comment Added in wg0.conf -j ACCEPT; iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE这样就可以在打印iptables表的时候看到注释。 sudo iptables -nvL4270 203K ACCEPT 0 -- * wg0 0.0.0.0/0 0.0.0.0/0 /* Added in wg0.conf */0 0 ACCEPT 0 -- wg0 * 0.0.0.0/0 0.0.0.0/0 /* Added in wg0.conf */TRACE功能 执行以下命令 iptables -t raw -I PREROUTING -d **.**.**.70 -j TRACE在raw表的PREROUTING链中添加这条规则 这样在到**.**.**.70的流量如何通过的iptables就可以观察了。观察的方法是执行以下命令 sudo xtables-monitor -t事后我看到的是这样的情况 PACKET: 2 31ae5dec INwg0 SRC11.11.11.20 DST11.11.11.70 LEN60 TOS0x0 TTL128 ID59853TRACE: 2 31ae5dec raw:PREROUTING:rule:0x2:CONTINUE -4 -t raw -A PREROUTING -d 11.11.11.70/32 -j TRACETRACE: 2 31ae5dec raw:PREROUTING:return:TRACE: 2 31ae5dec raw:PREROUTING:policy:ACCEPTTRACE: 2 31ae5dec nat:PREROUTING:return:TRACE: 2 31ae5dec nat:PREROUTING:policy:ACCEPT PACKET: 2 31ae5dec INwg0 OUTwg0 SRC11.11.11.20 DST11.11.11.70 LEN60 TOS0x0 TTL127 ID59853TRACE: 2 31ae5dec filter:FORWARD:rule:0x25:ACCEPT -4 -t filter -A FORWARD -o wg0 -m comment --comment Added in wg0.conf -j ACCEPTTRACE: 2 31ae5dec nat:POSTROUTING:return:TRACE: 2 31ae5dec nat:POSTROUTING:policy:ACCEPT PACKET: 2 510f38f9 INwg0 SRC11.11.11.20 DST11.11.11.70 LEN60 TOS0x0 TTL128 ID59854TRACE: 2 510f38f9 raw:PREROUTING:rule:0x2:CONTINUE -4 -t raw -A PREROUTING -d 11.11.11.70/32 -j TRACETRACE: 2 510f38f9 raw:PREROUTING:return:TRACE: 2 510f38f9 raw:PREROUTING:policy:ACCEPT PACKET: 2 510f38f9 INwg0 OUTwg0 SRC11.11.11.20 DST11.11.11.70 LEN60 TOS0x0 TTL127 ID59854TRACE: 2 510f38f9 filter:FORWARD:rule:0x25:ACCEPT -4 -t filter -A FORWARD -o wg0 -m comment --comment Added in wg0.conf -j ACCEPT PACKET: 2 47202071 INwg0 SRC11.11.11.20 DST11.11.11.70 LEN60 TOS0x0 TTL128 ID59855TRACE: 2 47202071 raw:PREROUTING:rule:0x2:CONTINUE -4 -t raw -A PREROUTING -d 11.11.11.70/32 -j TRACETRACE: 2 47202071 raw:PREROUTING:return:TRACE: 2 47202071 raw:PREROUTING:policy:ACCEPT PACKET: 2 47202071 INwg0 OUTwg0 SRC11.11.11.20 DST11.11.11.70 LEN60 TOS0x0 TTL127 ID59855TRACE: 2 47202071 filter:FORWARD:rule:0x25:ACCEPT -4 -t filter -A FORWARD -o wg0 -m comment --comment Added in wg0.conf -j ACCEPT PACKET: 2 47202071 INwg0 SRC11.11.11.20 DST11.11.11.70 LEN60 TOS0x0 TTL128 ID59856TRACE: 2 47202071 raw:PREROUTING:rule:0x2:CONTINUE -4 -t raw -A PREROUTING -d 11.11.11.70/32 -j TRACETRACE: 2 47202071 raw:PREROUTING:return:TRACE: 2 47202071 raw:PREROUTING:policy:ACCEPT PACKET: 2 47202071 INwg0 OUTwg0 SRC11.11.11.20 DST11.11.11.70 LEN60 TOS0x0 TTL127 ID59856TRACE: 2 47202071 filter:FORWARD:rule:0x25:ACCEPT -4 -t filter -A FORWARD -o wg0 -m comment --comment Added in wg0.conf -j ACCEPT当时的情况是 PACKET: 2 831e9d23 INwg0 SRC11.11.11.20 DST11.11.11.70 LEN60 TOS0x0 TTL128 ID59207 TRACE: 2 831e9d23 raw:PREROUTING:rule:0x2:CONTINUE -4 -t raw -A PREROUTING -d 11.11.11.70/32 -j TRACE TRACE: 2 831e9d23 raw:PREROUTING:return: TRACE: 2 831e9d23 raw:PREROUTING:policy:ACCEPT TRACE: 2 831e9d23 nat:PREROUTING:return: TRACE: 2 831e9d23 nat:PREROUTING:policy:ACCEPT PACKET: 2 831e9d23 INwg0 OUTwg0 SRC11.11.11.20 DST11.11.11.70 LEN60 TOS0x0 TTL127 ID59207 TRACE: 2 831e9d23 filter:FORWARD:rule:0x36:JUMP:DOCKER-USER -4 -t filter -A FORWARD -j DOCKER-USER TRACE: 2 831e9d23 filter:DOCKER-USER:return: TRACE: 2 831e9d23 filter:FORWARD:rule:0x33:JUMP:DOCKER-ISOLATION-STAGE-1 -4 -t filter -A FORWARD -j DOCKER-ISOLATION-STAGE-1 TRACE: 2 831e9d23 filter:DOCKER-ISOLATION-STAGE-1:return: TRACE: 2 831e9d23 filter:FORWARD:rule:0x1f:DROP -4 -t filter -A FORWARD -j DROP就是通过这个DROP发现的问题。 3.2 排查结果 其实上边的工具都没用上最后发现是ipsec写的DROP它还同时添加了两条wg0的规则导致wg0的规则出现了四次。 它想做的是用一个DROP兜底结果不幸的是我的wg规则append了在它后边。其实这个DROP应该写进policy。 由于iptables大家一起用所以我感觉在最后append一个DROP这种行为其实本身就很不负责。调整了ipsec结束维护。 4.iptables的三表五链 三表 nat,mangle,filter,(raw) 五链: PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
http://www.pierceye.com/news/476529/

相关文章:

  • 网站建设与网页设计难学吗做彩票的网站
  • 请问怎么做网站郑州小程序开发制作
  • 城乡建设网站职业查询系统小公司根本办不了icp许可证
  • 网站架构搭建搭建网站是什么专业
  • 互助网站建设电脑做网站端口映射
  • 电力行业做的好的招投标网站wordpress 自定义注册表单
  • 网站开发采集工具网站设计计划书的要求
  • 技术支持:佛山网站建设珠海网站制作服务
  • 公司网站建设方案ppt网站下载织梦模板
  • 免费创建虚拟网站漳州鼎信
  • 武义县网站建设公司上海seo外包
  • 免费html网站模板下载怎么做网站外链接
  • 南昌网站建设公司收费桂林做网站的公司有哪些
  • 南京网站建设方案智能管理系统
  • 黄埔网站建设价格资源网站推广
  • 桦南县建设局网站动漫制作技术和动漫设计
  • 在农村开个网站要多少钱网站客户运营
  • 免费做文字图网站企业所得税计算方式
  • 做网站要有策划么设计师专用网站
  • 站长之家是什么哈尔滨模板建站服务商
  • 自己做网站需要备案么关键词seo资源
  • 用tornado做网站网站建设素材库
  • dedecms织梦古典艺术书画书法公司企业网站源码模板wordpress 优酷插件
  • 深圳购物网站建设301跳转wordpress
  • 如何做自己的加盟网站开发高端客户
  • 沈阳网站建设哪里好wordpress模块管理系统
  • 跨境外贸平台有哪些天津百度快速排名优化
  • 网站建设需要了解哪些方面企业的网站建设与设计论文
  • 网站建设市场分析内蒙古企业网站建设
  • 广州 网站建设公司不用代码做网站的软件