什么是 VLAN?他们解决什么问题?
我正在帮助一个朋友学习基本的网络,因为他刚刚成为一家小公司的唯一系统管理员。我一直在向他指出与各种网络主题相关的 Serverfault 上的各种问题/答案,并注意到一个差距 - 似乎没有一个答案可以从第一原则解释什么是 VLAN。本着如何子网划分工作的精神,我认为在这里提出一个带有规范答案的问题会很有用。
答案中要涵盖的一些潜在主题:
编辑:明确地说,我已经知道 VLAN 是如何工作的 - 我只是认为 Serverfault 应该有一个涵盖这些问题的答案。如果时间允许,我也会提交我自己的答案。
我的路由器有两个协议(和一个“两个”选项),我可以在设置端口转发时选择:UDP 和 TCP。这两种协议之间有什么区别,您何时会在端口转发中选择一种而不是另一种?
如果我在主机文件中有以下条目:
192.168.100.1 bugs
192.168.100.2 daffy.example.com
192.168.100.3 elmer.example.com.
Run Code Online (Sandbox Code Playgroud)
本地实用程序的 IP-> 名称解析尝试(我假设使用“gethostbyaddr”或 Windows 等效项)会尊重这些条目吗?这种行为是可配置的吗?它在操作系统之间有何不同?“主机”文件条目是否完全合格是否重要?
编辑:响应 Russell,我的测试 Linux 系统正在运行 RHEL 4。我的 /etc/nsswitch.conf 包含以下“主机”行:
hosts: files dns nis
Run Code Online (Sandbox Code Playgroud)
如果我按名称 ping 任何主机(例如 bugs、daffy),则前向解析工作正常。如果我通过 IP 地址跟踪路由其中的任何一个,反向查找将按预期运行。但是,如果我通过 IP ping 它们,ping 似乎无法解析它们的主机名。我的理解是,除非另有指示,否则 Linux ping 将始终尝试将 IP 解析为名称。为什么 traceroute 能够处理主机文件中的反向查找,而 ping 不能?
我通过这个答案发现,多年来我一直在以一种幼稚的方式在提示中设置终端颜色。
我现在已经修改了我的 .bashrc 以使用 'tput' 命令来为我的提示的各种元素着色。我剩下的一个转义码是这样的:
TITLEBAR="\[\033]2; PROD - \u@\h:\w \007\]"
Run Code Online (Sandbox Code Playgroud)
有谁知道是否有一个 tput/terminfo 属性可以用来设置终端窗口的标题栏,以便我可以消除这种转义?
我试图在我们的内部网络上找到一台具有特定 IP 地址的计算机。我已经从 DNS 中识别出计算机名称,但在这种情况下它对我没有帮助。
只是想知道我是否能以某种方式将 IP 绑定到交换机端口,并从那里跟踪它?如果是这样,如何?
我试图找出两种路由协议方法之间的差异(优点/缺点),我会非常乐意提供任何帮助、建议和解释。就我而言,距离向量似乎更静态,更基于本地路由,因为它不知道网络状态,而链路状态更了解当前状态,因此在距离向量上使用它似乎更自然,但我觉得我错过了什么。我很高兴在这里了解更多方面和我在选择其中一个时必须考虑的不同问题。
我有一个自定义的 bash 提示,它为我的用户名、主机名和当前工作目录着色。颜色显示正确,但是当我键入需要换行的命令行时,终端不会开始新行,而是覆盖命令的开头。这发生在 RHEL 4 和 Debian 上。
这个问题详细说明了 OS X 上的一个类似问题;似乎这是一个错误终止的控制序列的问题,但是我看不出是什么原因造成的,因为我到处都使用 $(tput) 代码,而不是手工编写我的代码。下面的片段 - 有没有人能够建议我做错了什么?
# Control codes
COL_RST=$(tput sgr0) # Remove all colour formatting
COL_BRIGHT=$(tput bold) # Emphasise
# Foreground
COL_G=$(tput setaf 2) # Green
COL_Y=$(tput setaf 3) # Yello
COL_B=$(tput setaf 4) # Blue
COL_USR=${COL_Y}${COL_BRIGHT}
COL_PWD=${COL_B}${COL_BRIGHT}
COL_HST=${COL_G}${COL_BRIGHT}
# Set prompt
PROMPT="${COL_USR}\u${COL_RST}@${COL_HST}\h${COL_RST}:${COL_PWD}\W${COL_RST}"
# Put it all together....
PS1="[$PROMPT]\$ "
export PS1
Run Code Online (Sandbox Code Playgroud) 我的部门最近搬了办公室。以前的办公室还好,但在新办公室,我的PC到2个数据中心的ping时间通常变化很大,如下所示:
来自 123.123.123.123 的回复:bytes=32 时间=52ms TTL=123
来自 123.123.123.123 的回复:bytes=32 时间=11ms TTL=123
来自 123.123.123.123 的回复:bytes=32 时间=
13212132132123 : bytes=32 time=9ms TTL=123
Reply from 123.123.123.123: bytes=32 time=9ms TTL=123
Reply from 123.123.123.123: bytes=32 time=13ms TTL=123
Reply from 123.123.123.123. =20ms TTL=123
来自 123.123.123.123 的回复:bytes=32 时间=28ms TTL=123
来自 123.123.123.123 的回复:bytes=32 时间=10ms TTL=123
来自 123.123.123.123 的回复时间=28ms bytes=123
来自 123.123.123.123 的回复:bytes=32 时间=9ms TTL=123
来自 123.123.123.123 的回复:bytes=32 时间=33ms TTL=123
来自 123.123.123.123 的回复:bytes=32 时间=17ms TTL=123
来自 123.123.123.123 的回复:bytes=32 时间=23ms TTL=123
来自 123.123.123.123 的回复:bytes=32 时间=1232
回复TTL=1323 : bytes=32 时间=8ms TTL=123 …
以前,当第一次设置 *NIX 环境时,我会将我的所有 shell 自定义放入 .bashrc 中,并使用以下 .bash_profile:
if [ -f $HOME/.bashrc ]; then
. $HOME/.bashrc
fi
Run Code Online (Sandbox Code Playgroud)
但是,根据这个答案及其相关评论,我最近将我的 PATH 重新定义移到了 .bash_profile 中。
您认为应该将哪些类型的命令放入 .profile、.bash_profile、.bashrc(以及任何其他点文件)中,为什么?