我有一个小型 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 后的新实例上,连接也没有问题——问题
如能提供任何关于如何解决问题的建议,我们将不胜感激
这是我的错误
该问题与两年前发生的类似拒绝服务的活动有关。不知何故我错过了通知信,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 并进行构建,但失败了。
修改后的来源和结果如下。
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'])
...
bld.SAMBA3_BINARY('smbd/smbd',
source='smbd/server.c smbd/smbd_cleanupd.c',
deps='''
xxx
CMDLINE_S3
smbd_base
REG_FULL
''',
install_path='${SBINDIR}')
...
p5
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 服务器的渲染视频
这是前端:
是什么原因导致非英语文本无法在 Ubuntu EC2 服务器上呈现,我该如何解决这个问题?请回答,因为我已经进行了很多研究,这个问题在本地环境中无法解决,应该在生产中进行更改。我希望视频能够以所有非英语语言(如中文和普通话)正确呈现