经过整整两天的“研究”(阅读:将我的头撞在我的键盘上)并诅咒 TeamCity/MSDN/Tomcat 文档以及幻影 IIS 绑定,我想出了一个非常令人困惑的问题的答案:如何才能我在运行 Windows Server 2008 和 IIS 7 的多宿主服务器上更改了 TeamCity 的 IP 地址和端口号,这有必要吗?.
首先,介绍一下背景。我们的构建服务器运行 Windows Server 2008,在一个 NIC 上有两个 IP 地址(192.168.1.30 和 192.168.1.31)。我已将 IIS 配置为将其唯一的站点显式绑定到端口 80 上的 192.168.1.30。此时,我认为 192.168.1.31 是完全开放的,可以用于 TeamCity 了……不完全是。
第一个烦恼:在安装 TeamCity 时,它完全无视有多个 IP 地址与此服务器关联的事实,仅询问它应该绑定到哪个端口。对于服务器级软件,这非常令人惊讶。
第二个烦恼:TeamCity 默认使用端口 8080(什么??)。由于第一个烦恼,端口选择有点模棱两可:TeamCity 是否要绑定到两个 IP 地址上的端口 8080?将端口选择更改为 80 会产生一个警告,即另一个服务已经绑定到端口 80。嗯,IIS 应该只绑定到 192.168.1.30 上的端口 80;192.168.1.31 不应绑定任何内容。显然 TeamCity 在 192.168.1.30 上与 IIS 竞争。
完成 TeamCity 的安装,选择 80 端口并忽略绑定警告后,我打开“C:\TeamCity\server.xml”。旁注:“C:\TeamCity\”是 TeamCity 的默认安装目录,而“C:\Users\.BuildServer”是默认数据目录。无论如何,“server.xml”是配置文件,您可以在其中设置 TeamCity 网络界面的端口和 IP 地址等内容。经过一番研究,我想出了在端口 80 上绑定 …
在 Linux 中,命令
ip address add [...]
Run Code Online (Sandbox Code Playgroud)
有一个scope论点。手册页说范围是“此地址有效的区域范围”。遵循法律范围列表:
这个“有效性”的“领域”指的是什么?
在我的工作中,前缀长度为 31(即它们只适合 2 个 IP 地址)的 IP 前缀通常在“linknet 地址”中描述。最近我注意到这个词在我的公司之外似乎不存在。如果我在 Google 上搜索“linknet 地址”或“link net 地址”,我只能找到对名为“Linknet”的 ISP 的引用。
是否存在描述此类 IP 前缀的术语?
我之所以这么问是因为我正在开发一个系统,其中此类 IP 前缀被特殊对待,所以我需要一个可以用来指代它们的术语。如果这个术语不是我公司内部编造的,我更愿意。
我的一台服务器(Debian 5.0.6)在同一接口上有两个公共 IP 地址。这过去几个月运行良好,但突然间它使用“错误的”IP 地址进行传出连接。这是一个问题,因为反向查找将不匹配,因此电子邮件会获得垃圾邮件点。
eth0 Link encap:Ethernet Hardware Adresse 00:1b:21:14:8e:9c
inet Adresse:81.169.180.51 Bcast:81.169.180.51 Maske:255.255.255.255
inet6-Adresse: fe80::21b:21ff:fe14:8e9c/64 Gültigkeitsbereich:Verbindung
eth0:0 Link encap:Ethernet Hardware Adresse 00:1b:21:14:8e:9c
inet Adresse:85.214.157.120 Bcast:85.214.157.120 Maske:255.255.255.255
Kernel-IP-Routentabelle
Destination Router Genmask Flags Metric Ref Use Iface
81.169.180.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
0.0.0.0 81.169.180.1 0.0.0.0 UG 0 0 0 eth0
Run Code Online (Sandbox Code Playgroud)
目前它使用 85.214.157.120 进行出站连接。如何让它使用 81.169.180.51?
编辑:255.255.255.255 的网络掩码与托管公司的文档和 DHCP 响应一致。多次调用 /etc/init.d/networking restart 最终会得到正确的出站连接 ip 地址。但这显然不是一个稳定的解决方案。/编辑
编辑 2:为了确保主机路由与我的问题无关,我设置了一个本地测试网络:
eth0 inet Adresse:192.168.0.2 Bcast:192.168.0.255 Maske:255.255.255.0
eth0:0 inet Adresse:192.168.0.3 Bcast:192.168.0.255 …Run Code Online (Sandbox Code Playgroud) 我试图从 postfix 发送的电子邮件中隐藏客户端 IP。
这是我的意思的一个例子:
Received: from mail.[removed].com (adsl-75-37-61-254.dsl.frs2ca.sbcglobal.net [75.37.61.254])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(No client certificate requested)
by mail.[removed].com (Postfix) with ESMTP id D50C7BF185DD
for <[removed]@gmail.com>; Thu, 2 Aug 2012 16:14:21 +0900 (JST)
Date: Thu, 02 Aug 2012 07:14:08 +0000
Run Code Online (Sandbox Code Playgroud)
注意这一行 (adsl-75-37-61-254.dsl.frs2ca.sbcglobal.net [75.37.61.254])
我想从电子邮件中删除该行。
我试过这样做:
/etc/postfix/main.cf :
smtp_header_checks = regexp:/etc/postfix/smtp_header_checks
Run Code Online (Sandbox Code Playgroud)
smtp_header_checks :
/^((.*) [(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])])/ IGNORE
Run Code Online (Sandbox Code Playgroud)
但是我的 IP 地址仍然在电子邮件的接收部分之内。如果我从本地 smtp 服务器发送电子邮件,则 IP 地址变为localhost.localdomain [127.0.0.1]
如何从标头中删除客户端 IP?
如果我像这样添加两个IP:
ip addr add 1.1.1.1/24 dev eth2
ip addr add 1.1.1.2/24 dev eth2
Run Code Online (Sandbox Code Playgroud)
然后我尝试删除这样的一个:
ip addr del 1.1.1.2/24 dev eth2
Run Code Online (Sandbox Code Playgroud)
两个IP都将被删除,我不知道如何处理。
有谁知道如何解决它?
我一直在阅读Debian 系统管理员手册,我在网关部分看到了这段话:
...请注意,NAT 仅与 IPv4 及其有限的地址空间相关;在 IPv6 中,地址的广泛可用性通过允许所有“内部”地址在 Internet 上直接路由(这并不意味着内部机器可以访问,因为中间防火墙可以过滤流量)大大降低了 NAT 的实用性。
这让我想到... IPv6 仍然有一个私有范围。请参阅:RFC4193。公司真的会用公共地址设置他们所有的内部机器吗?这就是 IPv6 的工作方式吗?
KB299540解释了 Windows XP 如何自动为 IP 路由分配指标:
下表概述了用于为绑定到各种速度的网络接口的路由分配度量的标准。
Run Code Online (Sandbox Code Playgroud)Greater than 200 Mb: 10 Greater than 20 Mb, and less than or equal to 200 Mb: 20 Greater than 4 Mb, and less than or equal to 20 Mb: 30 Greater than 500 kilobits (Kb), and less than or equal to 4 Mb: 40 Less than or equal to 500 Kb: 50
但是,他们似乎在 Windows 7 中更改了算法,因为我的路由表如下所示:
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.0.1 …Run Code Online (Sandbox Code Playgroud) 我们正在选择一个系统来管理我们的 IP 地址空间。所以我们正在寻找一个特殊的免费软件,比如 IPPlan。所以我们今天所拥有的:
你知道任何其他特殊的软件,就像上面写的那样?
但:
软件应提供:
可扩展性
任何操作系统:win、lin、sol、web
在尝试设置 MSSQL 集群解决方案时,我遇到了一个超出我专业知识范围的与网络相关的问题。
我试图找到一个免费 IP 用于我的节点。我要求网络管理员给我一个免费的 IP 地址。为了争论,他给了我一个应该未使用的 IP 10.40.1.205。
在集群设置期间尝试使用给定的 IP 时,SQL 抱怨 IP 已被使用。
我尝试从我的服务器 ping IP,我得到了回复,说... 10.40.59.69...?
知道是什么导致了这样的事情,更重要的是如何解决它?
ip ×10
networking ×5
routing ×4
linux ×2
bash ×1
email ×1
iis-7 ×1
ip-address ×1
ipv4 ×1
ipv6 ×1
multi-homed ×1
nat ×1
postfix ×1
teamcity ×1
ubuntu-12.04 ×1
windows ×1
windows-7 ×1