小编Jam*_*ite的帖子

在 CentOS 7 上使用 IPv6 获取 Squid 和 TPROXY

我在 CentOS 7 服务器上让 TPROXY 与 Squid 和 IPv6 一起工作时遇到问题。我以前使用 NAT 的通用拦截设置,但它仅限于 IPv4。我现在正在扩展设置以包含带有 TPROXY 的 IPv6。

我一直在使用有关该主题的官方 Squid wiki 文章来配置所有内容:

http://wiki.squid-cache.org/Features/Tproxy4

到目前为止,TPROXY 配置似乎适用于 IPv4,没有任何问题。然而,使用 IPv6 时,连接超时且无法正常工作。我将分解设置以便更好地理解。

请注意,所有防火墙和路由规则对于 IPv4 完全相同,唯一的区别是inet6ip6tables用于在下面的示例中配置基于 IPv6 的规则。

  • 操作系统和内核:CentOS 7 (3.10.0-229.14.1.el7.x86_64)
  • 根据 yum,所有软件包都是最新的
  • Squid 版本:3.3.8(也试过 3.5.9)
  • 防火墙:iptables/ip6tables 1.4.21
  • libcap-2.22-8.el7.x86_64

IPv6 连接目前是通过 Hurricane Electric 的 6in4 隧道,这是在 DD-WRT 路由器上配置的,然后分配的前缀通过radvd. Squid 框配置了多个静态 IPv6 地址。

Squid 盒位于它所服务的主 LAN 中。端口 80 上的流量被拦截的客户端(主要是无线客户端)通过我的 DD-WRT 路由器被推送到 Squid 框,并使用以下防火墙和路由规则,改编自 Policy Routing wiki 文章和 DD-WRT wiki

routing ipv6 squid transparent-proxy centos7

18
推荐指数
1
解决办法
2743
查看次数

将 Windows 网络配置文件从“DomainAuthenticated”更改为“公共”

我有一个加入域的 Windows Server 2012 R2 框,上面安装了 OpenVPN 2.3.13 客户端软件。当 VPN 连接处于活动状态时,NLA 将“以太网 2”(TAP 接口)连接放置在主 LAN NIC 旁边的域网络类别中。理想情况下,我希望能够将 VPN 接口分配给 Public 类别。我已经通过 PowerShell 尝试过,但不断收到此错误:

由于以下可能的原因之一,无法设置 NetworkCategory:未运行提升的 PowerShell;NetworkCategory 不能从“DomainAuthenticated”更改;由于组策略设置“网络列表管理器策略”,用户发起的对 NetworkCategory 的更改被阻止。在 line:1 char:1 + Set-NetConnectionProfile -InterfaceIndex 15 -NetworkCategory Public + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : PermissionDenied: (MSFT_NetConnect...72AADA665483}"): root/StandardCi...nnectionProfile) [Set-NetConnectionProfile], CimException +fullyQualifiedErrorId : MI RESULT 2,Set-NetConnectionProfile

15是“以太网2”的接口号

值得注意的是,我在提升的 PowerShell 会话中运行此命令,并尝试了所有可用的 GPO 策略,但不断抛出错误。大多数关于 NLA 的信息都建议在 Private 和 Public 之间切换应该可以工作,但 DomainAuthenicated 似乎有点不同。

注册表方法没有以太网 2 的实际配置文件,因此也不能以这种方式更改。

反正有没有强制 TAP 适配器是公共的?OpenVPN 连接本身不会覆盖主网卡的默认网关,而是使用 10.0.0.0/8 子网。我使用route-nopull和覆盖路由的事实可能是 NLA 检测网络方式问题的一部分。 …

windows openvpn group-policy windows-server-2012-r2

10
推荐指数
1
解决办法
1万
查看次数

OpenVPN 允许两个客户端相互连接,而无需全局使用客户端到客户端

我在 CentOS 6 上运行 OpenVPN 2.3.7。我正在使用路由 (tun) 并且有两个 OpenVPN 实例。在第二个实例中,我希望有两个客户端彼此可见,即 ping、访问端口等。它们都在同一个子网中,所以应该相当简单,它们通过静态地址配置CCD。

我希望两个客户端能够通过他们的 OpenVPN LAN IP 地址看到对方,而无需client-to-client在 server.conf 中启用。

我很确定它可以用 iptables 来完成,我用它作为我的防火墙,虽然我使用 CSF,但它是 iptables 的包装器。

这些是客户端的 IPv4 地址:

OpenVPN Client #1: 10.8.2.14 
OpenVPN Client #2: 10.8.2.17
Run Code Online (Sandbox Code Playgroud)

我需要客户端 #1 才能访问在客户端 2 上运行的服务,如果需要响应,我想兼容性客户端 #2 可以查看客户端 #1。

我在 OpenVPN 服务器上尝试了几个 FORWARD 链规则,但是我无法在两个客户端之间进行任何通信。OpenVPN服务器明显可以ping通两个客户端,客户端可以ping通OpenVPN服务器网关,客户端明显看不到对方。

我已经尝试过但没有奏效的一些规则:

iptables -A FORWARD -s 10.8.2.14 -d 10.8.2.17 -j ACCEPT
iptables -A FORWARD -s 10.8.2.17 -d 10.8.2.14 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

我正在寻找有关 iptables 的帮助,以使两个客户端彼此可见,而无需启用客户端到客户端,请参阅这是对两个客户端的特殊要求,在其他任何地方都不需要。

另一种方法是通过 NAT 在 VPN 客户端上公开服务,但为了安全起见,我宁愿避免这样做。

任何见解都会有所帮助!

谢谢,

詹姆士

routing openvpn centos

8
推荐指数
1
解决办法
2089
查看次数

为什么内部 USB 端口不能在我的 Microserver Gen8 上启动 ESXi 6?

我正在尝试通过 HP Microserver Gen8 上的内部 USB 2.0 端口运行 ESXi 6。无论我尝试什么,它都不会尝试启动内部 USB 以加载管理程序。

我使用定制的 ProLiant HP 映像(2016 年 1 月)安装了 ESXi 6。我采取的步骤是将 ISO 刻录到 CD 并将其安装到 8 GB Transcend,同时将其插入 Microserver Gen8 的内部 USB 插槽。我在安装前拔掉了所有 SATA 驱动器。ESXi 设置检测到 USB 驱动器没有问题并且安装没有问题。重新启动后,它根本不会从它启动。

我检查了我的 BIOS,所有与 USB 相关的选项似乎都是正确的:

  • USB 已启用 - 已启用
  • USB 启动支持 - 已启用
  • 主引导顺序 - USB DriveKey 设置为第一优先级
  • 内部驱动器启动优先级 - USB DriveKey 优先
  • USB 枚举 - 已启用

为了确认 U 盘工作正常,我将它从 Microserver Gen8 中拔出并在笔记本电脑上启动,启动没有问题。

我在另一个 USB 驱动器上遇到了同样的问题,但认为这可能只是兼容性不好,但是两个 USB 驱动器做同样的事情似乎有点可疑。

我错过了什么阻止 USB 驱动器在使用内部端口时在 Microserver Gen8 …

hp-proliant vmware-esxi usb-boot

7
推荐指数
1
解决办法
3万
查看次数

使用 robocopy 将丢失的文件/文件夹复制到目标路径

我最近同步了一个外部硬盘,它有大约 1.4 TB 的数据与基于 Windows 的文件服务器上的 GUI 同步应用程序复制。同步方向,从左到右。

发生的问题是执行同步的 GUI 应用程序受到 Windows Explorer 255 路径大小限制。由于数据源自 UNIX 系统,这会阻止复制某些文件夹/文件,因为它们超出了此限制。

我现在想使用 robocopy 来获取遗漏的剩余目录和文件(因为它没有路径限制),而不是再次复制整个目录。是否有我可以使用的标志组合来实现这一目标?

robocopy

7
推荐指数
1
解决办法
1万
查看次数

在 CentOS 7 上 Squid 耗尽文件描述符

我在 CentOS 7 上运行 Squid 3.3 (EPEL),最近我在我的系统中收到以下错误消息 cache.log

WARNING! Your cache is running out of filedescriptors
Run Code Online (Sandbox Code Playgroud)

我对此有点困惑,因为我似乎有足够的描述符可用:

squidclient mgr:info | grep 'file descri'
Maximum number of file descriptors:   16384
Available number of file descriptors: 16326
Reserved number of file descriptors:   100
Run Code Online (Sandbox Code Playgroud)

Squid 也是用这个标志编译的:

--with-filedescriptors=16384
Run Code Online (Sandbox Code Playgroud)

Squid 确认这些实际上在启动时可用:

2015/08/18 21:11:45 kid1| With 16384 file descriptors available
Run Code Online (Sandbox Code Playgroud)

但是这个错误不断发生。记录此错误后不久,该squid进程似乎也达到了 100% CPU 或使用了几乎所有系统内存超过 90%,导致互联网速度下降到爬行或无限期挂起。杀死进程并重新启动可以解决它,但最终它会再次发生。

我总共有 8 GB 可用内存,这些是我的内存/缓存相关参数 squid.conf

cache_dir ufs /var/spool/squid 16000 16 256
cache_mem 1024 MB
Run Code Online (Sandbox Code Playgroud)

我还在使用ufdbguardKerberos 和 NTLM …

squid file-descriptors centos7

5
推荐指数
1
解决办法
3952
查看次数

在 CentOS 7 中对默认 IPv6 路由进行更改

我在 CentOS 7 服务器上有多个 IPv6 地址,需要将特定的 v6 地址设为路由中使用的默认地址。我已经能够通过修改路由表来做到这一点。

ip -6 route del default
ip -6 route add default via 2001:470:xxxx:xx::1 src 2001:470:xxxx:xx::6
Run Code Online (Sandbox Code Playgroud)

问题是每次网络接口重新启动或服务器本身重新启动时,对默认 IPv6 路由的更改都会丢失。我怎样才能使这个更改持久化以便永久保存?

networking route ipv6 centos

5
推荐指数
1
解决办法
7191
查看次数