我已将 Ubuntu 机器配置为路由器。NAT 配置步骤如下:
#iptables -F
#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#iptables-save > /etc/network/iptables
Run Code Online (Sandbox Code Playgroud)
然后将此文件位置保存在 rc.local
#vi /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
/sbin/iptables-restore < /etc/network/iptables
# In order to enable or disable this script just change the execution
# bits.
#
# …Run Code Online (Sandbox Code Playgroud) 假设我有一个完全工作的、负载平衡的应用服务器环境。
所有服务器都必须优雅地进行故障转移。使用应用程序服务器相对容易,但如何使用前端负载平衡器实现故障转移?
我可以让多个负载均衡器监听同一个 IP 和端口吗?我一发现旧的死了就必须运行新的吗?
我通常针对(和来自)我们在不同站点拥有的两台服务器运行正常运行时间/延迟测试,直到最近我才使用 google dns 服务器作为控制组。
但是,我意识到长时间监控延迟存在潜在问题。
几乎所有主要服务提供商都在使用 ANYCAST。
对于短期测试,这无关紧要,但我需要运行至少一周的一组测试以尝试捕获间歇性问题,并且在尝试测试延迟时任播优先级的更改将导致该延迟值服务器进行相应更改。
由于我正在向 ISP 提交此数据的图表,因此我需要避免/考虑尽可能多的变量。仅其中一台测试服务器的数据峰值只会导致头痛。
任何人都可以推荐以下服务器:
提前致谢。
编辑:在上面添加了 #6 和 #7。
更多信息:我正在尝试为我们本地 ISP 网络的整个节点演示网络问题。他们积极将问题归咎于客户站点(我们的备份站点就是其中之一)安装的设备,并拒绝将问题升级。(尽管其中 2 家企业有 ISP 提供的调制解调器,而且我们所有人都运行着完全不同的路由器/服务)
我已经非常熟悉测试 isp 控制的 IP 的需要,但他们正在主动丢弃所有针对网关 IP 地址的数据包,并且只传递地址超出网关的流量。因此,为了演示该问题,我将数据包发送到同一节点中的其他系统、距离受影响节点一跳的系统以及完全位于网络之外的系统。
不幸的是,我目前拥有的所有系统要么由我直接管理,要么由有偏见的人来帮助我。
我需要在跟踪/日志/图表中包含几个系统,这些系统 100% 不受我自己或 isp 的控制,以便图表具有稳定/无偏见的控制组。
这些要求直接来自法律,我只是想确保已经涵盖了所有可能导致数据无效的问题。
总结:我需要能够将 tcp/udp/icmp 显示为 3 个单独的数据点,并且我需要能够显示本地节点内部的连接,从本地节点到另一个附近的节点,从这 2 个节点到互联网,并通过互联网连接到可验证的服务器和我无法控制的控制组。
同样,Google/opendns/yahoo/msn/facebook/etc 都使用任播,每次任播缓存过期时都会抛出数字,因此我需要可用于此类测试的 IP 或服务器的建议。
我希望有人知道由诸如 ISC 或 ICANN 之类的人运行的系统,或者甚至是 .gov 服务器(可能是 fcc 或 nsa?)为此类测试设置。
再次感谢。
我正在考虑使用 Elastic Beanstalk(使用 EC2)。
我会收到专用 IP 地址吗?
弹性 IP 是专用 IP 吗?
我不想与其他人共享 IP。
我希望通过不同的公共 IP 转发持久性 HTTP 请求。它连接到服务器并在服务器持续传输数据时保持连接。
这需要对应用程序透明;路由逻辑需要仅限于建立到目标端口号(或主机:端口)的 HTTP 连接。
我正在考虑让 Squid 服务侦听 LAN IP 但侦听多个端口;如果应用程序连接到端口 A,则通过 nic A 转发请求;对于端口 B 连接,通过网卡 B 转发;等等。
这是 Squid 合适的任务吗?我在哪里可以找到有关配置的一些提示?我在阅读 Squid 文档时迷失了与此相关的任何内容(特别是如何映射本地端口-> 不同的输出 NIC)。
我正在使用的主机有两个网络适配器并且正在运行 Ubuntu Server 12.10。
在尝试将两台计算机联网时,我使用了旧的 100Mbps 时代的交叉电缆。完成此操作后,我很快意识到您不会将交叉电缆用于 1000Mbps 网络。恢复到使用该特定主机设置简单网络会导致非常奇怪的行为。两个网络适配器都无法通过 DHCP 获取 IP 地址或无法通过静态 IP 分配访问。
交叉电缆可能会损坏两个适配器,这似乎真的很疯狂?第二个适配器甚至从未插入交叉电缆。这可能吗?在此之前,主机上的网络运行良好。
尝试通过以下方式重新启动主机:
sudo service networking restart
Run Code Online (Sandbox Code Playgroud)
导致通常很长的等待时间......也排除了电缆?
有什么想法吗?
etc/network/interfaces 文件非常简单:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
Run Code Online (Sandbox Code Playgroud) 我试图不记录来自特定 IP 地址的请求,如下所示:
location = / {
index index.php;
if ( $remote_addr = "spe.ci.fic.ip" )
{
access_log off;
}
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用,为什么?
通过检查ICMP time-exceeded数据包的有效负载,我注意到有时是最后一个路由器(ttl=2在返回数据包中时)甚至前一个路由器(最多 5 跳之前ttl=5)丢弃数据包并生成 ICMP 消息。
为何如此?这背后有什么原因吗?
你如何在思科路由器中设置它?
编辑:
请注意,所有这些数据包都是 ICMP 类型 11 代码 0,这意味着:
类型 = 超时,代码 = ttl-0-during-transit
Edit2:以下是此类 ICMP 数据包的两个示例。
###[ IP ]###
version = 4L
ihl = 5L
tos = 0x0
len = 168
id = 9969
flags =
frag = 0L
ttl = 243
proto = icmp
chksum = 0x19ea
src = 193.51.189.25
dst = 134.59.129.241
\options \
###[ ICMP ]###
type = …Run Code Online (Sandbox Code Playgroud) 我怎么能看到ip routes我已经添加ip route add default via x.x.x.55 table test1
了例如我添加199 test1和198 test2和197 test3到 /etc/iproute2/rt_tables
然后我运行:
ip route add default via x.x.x.55 table test1
ip route add default via x.x.x.55 table test2
ip route add default via x.x.x.55 table test3
Run Code Online (Sandbox Code Playgroud)
然后当我检查时route -n,这是我唯一看到的
x.x.x.x 0.0.0.0 255.255.255.224 U 0 0 0 tun0
Run Code Online (Sandbox Code Playgroud)
附加测试
ip route flush x.x.x.55
ip route add default via x.x.x.55 table test1
RTNETLINK answers: File exists
Run Code Online (Sandbox Code Playgroud)
我添加的 test1、test2 和 …
我有一个网站,我想将其用于管理目的。我需要确保只有来自某些机器的人才能登录。问题是它们在 ISP 网络上。我真的会从 ip/ifconfig 命令获得正确的 IP 地址以使用,还是我必须担心 ISP 正在使用 NAT?