8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

Ubuntu EC2 AWS 实例上的传出互联网连接停止工作

verfluecht 2月前

42 0

我有一个小型 EC2 Ubuntu 实例,它运行良好已超过 10 年,并且没有任何传入连接和传出连接问题。突然间简单的命令 sudo apt...

我有一个小型 EC2 Ubuntu 实例,它运行良好已超过 10 年,并且没有任何传入连接和传出问题。

突然间,一个简单的命令 sudo apt update 开始无法连接到存储库,如下所示:

无法启动与 eu-west-1.ec2.archive.ubuntu.com:80 (2a05:d018:fd:f302:55ec:6d1c:c751:1067) 的连接。- 连接 (101: 网络不可访问)

它是相当旧的 16 版本,因此使用最新的 Ubuntu 24 创建了新的 EC2 实例。最初一切都运行良好,但是在我安装了 Docker 之后,问题又出现了,现在我甚至无法从外面获取任何东西,它只是卡住直到超时:

wget http://google.com/ 正在解析 google.com (google.com)... 172.253.116.113, 172.253.116.138, 172.253.116.139, ...正在连接到 google.com (google.com)|172.253.116.113|:80... ^C

适当更新:

无法获取 https://download.docker.com/linux/ubuntu/dists/noble/InRelease 无法启动与 download.docker.com:443 (2600:9000:265e:0:3:db06:4200:93a1) 的连接。- 连接(101:网络不可达)

传入连接,例如 SSH 工作 w/p

AWS 控制台中的安全出站规则允许一切:

全部 全部 0.0.0.0/0

网络设置也很好,但问题再次出现在安装 Docker 之后(至少看起来是这样)

我也有本地的 Ubuntu 20 服务器,上面有 docker,它运行完美,尽管我做的和我在 EC2 实例上做的一模一样

我怀疑路由表存在一些混乱,但我没有 netstat 或其他网络工具,无法安装它们。

我设法收集的一些信息

sudo iptables -L -v -n
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DOCKER-USER  0    --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 DOCKER-ISOLATION-STAGE-1  0    --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     0    --  *      docker0  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    0     0 DOCKER     0    --  *      docker0  0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     0    --  docker0 !docker0  0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     0    --  docker0 docker0  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain DOCKER (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DOCKER-ISOLATION-STAGE-2  0    --  docker0 !docker0  0.0.0.0/0            0.0.0.0/0
    0     0 RETURN     0    --  *      *       0.0.0.0/0            0.0.0.0/0

Chain DOCKER-ISOLATION-STAGE-2 (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       0    --  *      docker0  0.0.0.0/0            0.0.0.0/0
    0     0 RETURN     0    --  *      *       0.0.0.0/0            0.0.0.0/0

Chain DOCKER-USER (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 RETURN     0    --  *      *       0.0.0.0/0            0.0.0.0/0
ip route
default via 172.31.32.1 dev enX0 proto dhcp src 172.31.35.63 metric 100
172.31.0.2 via 172.31.32.1 dev enX0 proto dhcp src 172.31.35.63 metric 100
172.31.32.0/20 dev enX0 proto kernel scope link src 172.31.35.63 metric 100
172.31.32.1 dev enX0 proto dhcp scope link src 172.31.35.63 metric 100
192.168.1.0/24 dev docker0 proto kernel scope link src 192.168.1.1 linkdown
curl -v http://google.com
* Host google.com:80 was resolved.
* IPv6: 2a00:1450:400b:c02::65, 2a00:1450:400b:c02::8b, 2a00:1450:400b:c02::8a, 2a00:1450:400b:c02::71
* IPv4: 209.85.203.139, 209.85.203.100, 209.85.203.102, 209.85.203.101, 209.85.203.138, 209.85.203.113
*   Trying 209.85.203.139:80...
*   Trying [2a00:1450:400b:c02::65]:80...
* Immediate connect fail for 2a00:1450:400b:c02::65: Network is unreachable
*   Trying [2a00:1450:400b:c02::8b]:80...
* Immediate connect fail for 2a00:1450:400b:c02::8b: Network is unreachable

总结:10 年来,即使在安装 docker 后的新实例上,连接也没有问题——问题

如能提供任何关于如何解决问题的建议,我们将不胜感激

帖子版权声明 1、本帖标题:Ubuntu EC2 AWS 实例上的传出互联网连接停止工作
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由verfluecht在本站《ubuntu》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 这是我的错误

    该问题与两年前发生的类似拒绝服务的活动有关。不知何故我错过了通知信,AWS 控制面板上没有其他迹象。

    我希望他们有大红色横幅“你被禁止上网”

    通过与滥用小组进行长时间的通信来解决,解释发生了什么、为什么发生,并承诺将来会密切关注此事。

  • 我正在尝试在 wsl2 中安装 burpsuite(我正在使用 xrdp 作为 gui),但是当我运行 burpsuite_pro_linux_v2024_5_5.sh 文件时出现此错误。我得到输出 Unpacking JRE ...Starting Installer ......

    我正在尝试在 wsl2 中安装 burpsuite(我正在使用 xrdp 作为 gui),但是当我运行 burpsuite_pro_linux_v2024_5_5.sh 文件时出现此错误。我得到了输出

    Unpacking JRE ...
    Starting Installer ...
    An error occurred:
    java.lang.NoClassDefFoundError: Could not initialize class java.awt.GraphicsEnvironment$LocalGE
    Error log: /tmp/install4jError10602838895390342344.log
    java.lang.NoClassDefFoundError: Could not initialize class java.awt.GraphicsEnvironment$LocalGE
        at java.desktop/java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:106)
        at java.desktop/sun.awt.X11.XToolkit.<clinit>(XToolkit.java:225)
        at java.desktop/sun.awt.PlatformGraphicsInfo.createToolkit(PlatformGraphicsInfo.java:41)
        at java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:595)
        at java.desktop/java.awt.Toolkit.getEventQueue(Toolkit.java:1489)
        at java.desktop/java.awt.EventQueue.isDispatchThread(EventQueue.java:1089)
        at com.install4j.runtime.installer.frontend.GUIHelper.invokeOnEDT(GUIHelper.java:436)
        at com.install4j.runtime.installer.frontend.headless.AbstractHeadlessScreenExecutor.init(AbstractHeadlessScreenExecutor.java:83)
        at com.install4j.runtime.installer.frontend.headless.ConsoleScreenExecutor.<init>(ConsoleScreenExecutor.java:25)
        at com.install4j.runtime.installer.frontend.headless.InstallerConsoleScreenExecutor.<init>(InstallerConsoleScreenExecutor.java:6)
        at com.install4j.runtime.installer.Installer.getScreenExecutor(Installer.java:97)
        at com.install4j.runtime.installer.Installer.runInProcess(Installer.java:73)
        at com.install4j.runtime.installer.Installer.main(Installer.java:50)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84)
        at com.install4j.runtime.launcher.UnixLauncher.start(UnixLauncher.java:71)
        at install4j.Installer2990604421.main(Unknown Source)
    Caused by: java.lang.ExceptionInInitializerError: Exception java.awt.AWTError: Can't connect to X11 window server using '192.168.1.100:3390' as the value of the DISPLAY variable. [in thread "main"]
        at java.desktop/sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
        at java.desktop/sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:105)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
        at java.desktop/sun.awt.X11GraphicsEnvironment.initStatic(X11GraphicsEnvironment.java:64)
        at java.desktop/sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:59)
        at java.desktop/sun.awt.PlatformGraphicsInfo.createGE(PlatformGraphicsInfo.java:37)
        at java.desktop/java.awt.GraphicsEnvironment$LocalGE.createGE(GraphicsEnvironment.java:93)
        at java.desktop/java.awt.GraphicsEnvironment$LocalGE.<clinit>(GraphicsEnvironment.java:84)
        at java.desktop/java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:106)
        at java.desktop/java.awt.Window.initGC(Window.java:492)
        at java.desktop/java.awt.Window.init(Window.java:512)
        at java.desktop/java.awt.Window.<init>(Window.java:554)
        at java.desktop/java.awt.Frame.<init>(Frame.java:428)
        at java.desktop/java.awt.Frame.<init>(Frame.java:393)
        at com.install4j.runtime.installer.helper.InstallerUtil.initHeadless(InstallerUtil.java:598)
        at com.install4j.runtime.installer.helper.InstallerUtil.isHeadless(InstallerUtil.java:588)
        at com.install4j.runtime.installer.helper.InstallerUtil.getExecutionMode(InstallerUtil.java:553)
        at com.install4j.runtime.installer.Installer.getScreenExecutor(Installer.java:86)
        ... 7 more
    

    我尝试在谷歌上搜索错误,但没有看到有人尝试在 wsl2 中安装它

  • 我下载了 samba 源 4.20.2,并在 ubuntu 22.04.4 服务器上成功构建并安装。我打算修改一些源以供公司内部使用,然后构建它们,然后使用它们。我...

    我下载了 samba 源 4.20.2,并在 ubuntu 22.04.4 服务器上成功构建并安装。我打算修改一些源以供公司内部使用,然后构建它们,然后使用它们。我试图从 source3/smbd/server.c 调用外部库文件(例如 libxxx.so )中的函数。此时,我尝试修改 wscript 或 wscript_build 并进行构建,但失败了。

    修改后的来源和结果如下。

    1. samba_dev 中的 wscript 文件(源顶级目录):...
    def build(bld):
        '''build all targets'''
        bld.env.LIBPATH.extend(['/usr/local/samba/lib/yyy', '/samba_dev/bin/default/source3'])
        bld.env.LIB.extend(['xxx'])
    

    ...

    1. samba_dev/source3 中的 wscript_build 文件...
    bld.SAMBA3_BINARY('smbd/smbd',
                    source='smbd/server.c smbd/smbd_cleanupd.c',
                    deps='''
                         xxx
                         CMDLINE_S3
                         smbd_base
                         REG_FULL
                         ''',
                    install_path='${SBINDIR}')
    

    ...

    1. p5

    2. p6

    我想听听解决这个问题的建议或提示。

  • 我正在开发一个 Node.js 项目,该项目使用 node-html-to-image 库渲染包含多种语言和字体文本的视频。在我的本地 Windows 机器上一切都运行正常,但当我

    我正在开发一个 Node.js 项目,该项目使用该 node-html-to-image 库渲染带有多种语言和字体的文本的视频。在我的本地 Windows 机器上一切都运行良好,但是当我将项目部署到 Ubuntu EC2 服务器时,非英语文本(如中文和普通话)无法渲染并在视频中显示为空白文本。该项目是关于视频编辑的,在该项目中,用户将能够向视频添加文本,问题在于文本渲染,当我选择非英语文本时,它会显示在前端,但因此前端只负责发送视频数据,其余的将由部署在 AWS ubuntu EC2 机器上的 node.js 脚本处理,视频编辑逻辑将由此 node.js 脚本处理。

    const textToImage = (layer) => {
        return new Promise((resolve, reject) => {
            try {
    
                const textWidth = layer.size.width * multiplyNum
                const textHeight = layer.size.height * multiplyNum
                const textLeft = layer.position.left * multiplyNum
                const textTop = layer.position.top * multiplyNum
                const TextfontSize = parseInt(layer.style.fontSize) * multiplyNum
                let html = layer.src;
    
                if (layer.textToHighlight !== null && layer.textToHighlight !== undefined) {
                    layer.textToHighlight.forEach((curElem) => {
                        html = html.replaceAll(curElem.text, `<span style="color:${curElem.color}; background:${curElem.background};">${curElem.text}</span>`);
                    })
                }
    
                if (layer.innerCss != null && layer.innerCss != undefined) {
                    html = `<span class="spanStyle" style="display: ${layer.innerCss.display};line-height: ${layer.innerCss.lineHeight}; padding: ${(layer.innerCss.padding)}; background: ${layer.innerCss.background}; -webkit-box-decoration-break: clone; box-decoration-break: clone;">${html}</span>`
                }
                else {
                    html = `<span class="spanStyle">${html}</span>`
                }
    
    
                nodeHtmlToImage({
                    output: rootDir + textCount + 'image.png',
                    transparent: true,
                    timeout: 60000,
                    html: `<html>
                                   <head>
                                      <meta charset="UTF-8">
                                      <script src ="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js"></script>
                                       <script>
                                        WebFont.load({
                                            google: {
                                                families: ['${layer.style.fontFamily}']
                                            }
                                        });
                                        </script>
                                      <style> 
    
                                      *{
                                         box-sizing: border-box;
                                         margin: 0;
                                         padding:0;
                                        }
                                            
                                      body {
                                          width: ${mainWidth}px;
                                          height:${mainHeight}px;
                                        }
                                        
                                        .mystyle{
                                            background: ${layer.style.background};
                                            opacity: ${layer.style.opacity};
                                            border:${layer.style.border};
                                            box-shadow: ${layer.style.boxShadow};
                                            object-fit:${layer.style.objectFit};
                                            position: absolute;
                                            left: ${textLeft}px;
                                            top: ${textTop}px;
                                            width: ${textWidth};
                                            height: ${textHeight}px;
                                            text-align: ${layer.style.textAlign};
                                        }
                                        .spanStyle{
                                            color: ${layer.style.color};
                                            font-size: ${TextfontSize};
                                            font-family: ${layer.style.fontFamily};
                                            font-weight:${layer.style.fontWeight};                                   
                                            text-transform: ${layer.style.textTransform};
                                            text-decoration: ${layer.style.textDecoration}; 
                                            font-family: ${layer.style.fontFamily};
                                            font-style: ${layer.style.fontStyle};
                                            line-height: ${layer.style.lineHeight};
                                        }
                                        </style>
                                        </head>
                                        <body>
                                        <div class="mystyle">
                                             ${html}
                                        </div>
                                        </body>
                        </html>`,
                }).then(() => {
                    resolve(rootDir + textCount + 'image.png');
                    console.log(textCount + "text created successfully")
                })
                    .catch((err) => {
                        resolve("");
                        console.error(err, "text failed to create");
                    })
            } catch (error) {
                resolve("");
                console.log("text failed to create")
            }
        })
    }
    

    采取的步骤:

    在 Ubuntu 服务器上安装了必要的语言包。验证了与 Google Fonts 的网络连接。确保服务器上安装了 Puppeteer 依赖项。添加日志记录以检查字体是否正确加载。

    观察到的行为:

    在本地 Windows 环境中,所有语言均能正确呈现。在 Ubuntu EC2 服务器上,非英语文本显示为空白。

    这是来自 EC2 服务器的渲染视频enter image description here

    这是前端:enter image description here

    是什么原因导致非英语文本无法在 Ubuntu EC2 服务器上呈现,我该如何解决这个问题?请回答,因为我已经进行了很多研究,这个问题在本地环境中无法解决,应该在生产中进行更改。我希望视频能够以所有非英语语言(如中文和普通话)正确呈现

返回
作者最近主题: