标签: ip

为什么必须在桥接设备上配置IP?

我对网桥的理解是有一种“虚拟交换机”,它虚拟地连接网络设备(已添加到网桥),就好像我会用电缆将它们连接到真正的交换机……但一定有问题这种类比,由于某种原因,我需要在桥接设备上设置我的 IP 地址。

例子

例如,让我们进行以下设置:我有一台机器充当多个虚拟机的主机(拥有自己的虚拟网络设备 vnet0、vnet1、vnet2……)。这台机器有一个物理网络接口 eth0,我想用于所有虚拟机和我的主机与外界进行通信。

由于我的主机应该有一个 IP 地址,因此我认为我应该在 eth0 上配置这个 IP(inkl。默认网关,DNS 服务器,...)。然后我会创建一个网桥 br0 并将所有接口(eth0、vnet0、vnet1、vnet2、..)添加到该网桥。这不起作用...

相反,我需要将网桥 br0 配置为具有我主机的 IP 地址(并​​且还配置了默认网关和 DNS 服务器),然后将所有接口(eth0、vnet0、vnet2...)添加到网桥 br0 .

嗯,......这有效。但我实际上想知道为什么在 eth0 上定义 IP 不起作用。我似乎缺少一些关于这实际上是如何工作的基本知识。因此,如果有人可以向我解释这有什么问题,我会很高兴。我通常想真正了解这些东西是如何工作的。因此,如果您要详细了解协议,我会很高兴。

linux routing ip bridge linux-networking

13
推荐指数
1
解决办法
4211
查看次数

你如何选择你的IP地址?

在系统管理员的生活中,总会有需要定义 IP 子网的时刻。无论是您的小型家庭 LAN 还是无尽的公司 WAN,其中疯狂潜伏在未知路由的深处,IP 地址总是需要被选择、划分并分配给某些设备,无论是否值得。而且,虽然在公共互联网的“现实世界”中,您只需要服从 ISP 的命令,但当涉及到您自己的专用网络时,您可以自由选择自己的道路和最终命运。

众所周知(或应该知道),强大的 RFC 1918 指出私有网络 IP 地址只能分为三大块:

192.168.0.0/16
172.16.0.0/12
10.0.0.0/8
Run Code Online (Sandbox Code Playgroud)

你最喜欢哪一个?
无论您真正需要连接多少设备,您通常选择多大的子网?
你认为它应该保持在最低限度,还是应该尽可能的伟大和辉煌?
你相信“圆形”子网(/8、/16、/24)的规律和秩序,还是更喜欢“非圆形”子网的无政府状态和爬行混乱?
你是否遵循我们门户的神圣学校应该是 0.1,不应该是 0.254 的邪恶圣殿,还是它应该以我们希望它结束​​的任何东西结束的秩序的亵渎教义?
你心里是否觉得Server应该有“低”地址而Client应该使用“高”地址?或者只有 Fate 会定义如何调用服务器和客户端?
您是否总是在您管理的所有子网中使用(或尝试使用)相同的结束号码,以便您可以在您非常需要的时候找到您的网关和您的 DNS?
您相信 DHCP 还是静态寻址?并且您是否相信他们的混合孩子,带有保留的 DHCP,即使对于网络打印机这样的非客户端机器,或者所有的上帝都会原谅您,服务器?

"Take this and divide it; this is my 2^32 address space,
 which shall be endlessly fragmented for all your addressing needs,
 until IPv6 may finally come."
Run Code Online (Sandbox Code Playgroud)

networking ip subnet ip-address

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

基于域名而非 IP 的 Windows 防火墙规则

我正在尝试通过 Windows 防火墙为一组机器提供服务。我想将我的家用机器添加到防火墙,但我的家用机器有一个动态 IP 地址。我使用 dyndns 以便我有一个可以随时连接的主机名。所以我想看看是否有一种方法可以使用我的主机名而不是 IP。

谢谢

更新

让我补充一点信息,也许还有其他方法可以解决我的问题。服务器是由 RackSpace 托管的 Web 服务器。我只想允许从我的工作(静态 IP,所以没问题)和家庭(动态)访问 RDP。我的家庭 IP 不会经常更改,只是经常让我烦恼。所以也许有更好的方法来做到这一点......也许是VPN?

ip windows-firewall

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

20多个虚拟地址的Keepalived

我已经在两台 Debian 机器上设置了 keepalived 以实现高可用性,但是我遇到了可以分配给我的vrrp_instance. 我将如何配置和故障超过 20 个虚拟 IP?

这是非常简单的设置:

LB01: 10.200.85.1
LB02: 10.200.85.2
Virtual IPs: 10.200.85.100 -  10.200.85.200
Run Code Online (Sandbox Code Playgroud)

每台机器还在虚拟 IP 上运行 Apache(后来的 Nginx)绑定,用于 SSL 客户端证书终止和代理到后端网络服务器。我需要这么多 VIP 的原因是无法在 HTTPS 上使用 VirtualHost。

这是我的 keepalived.conf:

vrrp_script chk_apache2 {
        script "killall -0 apache2"
        interval 2
        weight 2
}

vrrp_instance VI_1 {
        interface eth0
        state MASTER
        virtual_router_id 51
        priority 101
        virtual_ipaddress {
            10.200.85.100
            .
            . all the way to
            .
            10.200.85.200
}
Run Code Online (Sandbox Code Playgroud)

BACKUP 机器上有一个相同的配置,它工作正常,但只能达到第 20 个 IP。

我找到了一个HOWTO讨论这个问题。基本上,他们建议只有一个 VIP 并“通过”这个 …

networking linux ip high-availability keepalived

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

拥有唯一 IP 地址有什么好处?

我刚刚注册了 DreamHost VPS,他们的注册过程提供了一个唯一的 IP 地址,每月额外支付约 4 美元。

我知道什么是 IP 地址。为什么这种独特性很重要?无论如何,访问者都是通过 URL 地址访问我的网站。

hosting vps ip

12
推荐指数
1
解决办法
2486
查看次数

机器总是响应192.168.1.2 IP地址,机器上没有设置

下面更新:下面更新 2:最终解决方案

我有一台全新的 HP EliteBook 笔记本电脑 8560p,运行 Windows 7 64 位。我把它插到一个小的Dlink di-604路由器上,它目前配置了DHCP,得到的IP地址是192.168.1.100,路由器的IP地址是192.168.1.6。我插入第二个笔记本,它的 IP 地址为 192.168.1.101。这就是插入的全部内容,并且路由器未连接到 WAN。如果我继续使用第二个笔记本 (.101) 并 ping 第一个 (.100),它没有响应。如果我尝试 ping 192.168.1.2(一个不存在的 IP 地址),我会收到一个响应,并且我在 arp 缓存中注意到第一台机器的 MAC 地址为 ip 192.168.1.2 和 192.168.1.100 列出。第一台机器上没有定义 192.168.1.2,也从来没有,这是一个直接开箱即用的笔记本。ipconfig /all 响应 192.168.1.100 和 192.168.1。

我尝试将第一台机器设置为静态地址 192.168.1.150。同样的结果,无法 ping .150 但响应 ping .2。, .2 和 .150 出现在 .101 的 arp 缓存中,具有相同的 MAC 地址。

一些观察结果:当响应 .2 上的 ping 时,它不是始终低于 1 毫秒或更少,它通常是一个相当高的范围数,从 4 毫秒到 30 毫秒不等,考虑到两者都连接到同一个交换机,这真的很奇怪。

我尝试了多个路由器、dlink、sonicwall 和另一个 dlink。全部结果相同

如果我对整个局域网使用不同的子网,比如 192.168.0.x 而不是 192.168.1.x,那么它的工作和响应都没有问题。

有谁见过这样的事情吗?

更新:我对这个神秘的 IP 地址 192.168.1.2 …

windows-7 ip arp amt

12
推荐指数
1
解决办法
3362
查看次数

nginx 不向外部 IP 地址提供请求

我的 nginx 在端口 81 上运行。我可以使用 telnet telnet 127.0.0.1 81,一切都很好。

但是当我尝试从我的 Mac(一个外部 IP 地址)telnet 到我的机器时,我只是收到这个错误:

telnet: connect to address 109.123.x.x: Connection refused
telnet: Unable to connect to remote host
Run Code Online (Sandbox Code Playgroud)

这是我的 /etc/nginx/sites-available/default 文件:

server {
        listen   81; ## listen for ipv4; this line is default and implied
        #listen   [::]:80 default ipv6only=on; ## listen for ipv6

        root /usr/share/nginx/www;
        index index.html index.htm;

        # Make site accessible from http://localhost/
        server_name 109.123.x.x;

        location / {
                # First attempt to serve request as file, then
                # …
Run Code Online (Sandbox Code Playgroud)

nginx ip ip-address

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

为特定流量路由 WIFI 和 LAN

我的 macbook pro 上有两个网络设备:

  1. WIFI (en1):用于一般流量。通过 DHCP 连接到 192.168.19.* 的 IP
  2. LAN (en0):用于特定流量。作为静态 IP 连接到 192.168.2.10 的 IP。不连接路由器,只做直接路由连接的交换机。

我有 4 个需要在 LAN 上访问的 IP 地址:

  1. 192.168.2.1
  2. 192.168.2.21
  3. 192.168.2.20
  4. 192.168.2.30

剩下的流量需要走WIFI。我曾尝试为特定的 ip 地址设置路由表,但我只是设法弄乱了我的网络。我不经常冒险进入网络世界,但这是我一直在尝试的最新命令:

sudo route add -host 192.168.2.30 -interface en0

这个命令扼杀了我使用 ping 的能力。它告诉我 ping 无法分配内存(甚至可能)?它也杀死了我的 wifi 访问。注销并重新登录解决了该问题。我真的不介意将此解决方案永久化,因此我可以使用临时路由。

编辑:

如果我目前一直在尝试:

sudo route flush
sudo route add default 192.168.19.1
Run Code Online (Sandbox Code Playgroud)

这让一切工作大约一分钟。但是在这一分钟之后,它“忘记”了到 WiFi 的路由,同时保留了 LAN 的 (en0) 路由。如果我拔下并重新插入 LAN (en0) 电缆,该过程将再运行一分钟。

编辑2:

这些是 d34dh0r53 作为请求输入的一些命令。

$ netstat -rn
Routing tables

Internet:
Destination        Gateway …
Run Code Online (Sandbox Code Playgroud)

networking local-area-network routing ip mac-osx

12
推荐指数
2
解决办法
3万
查看次数

搜索 CIDR 范围

有时我想从我的 Apache 日志文件中 grep CIDR 范围。这对于落在自然边界(/8、/16 和 /24)上的范围很容易,但对于其他范围(例如 /17 和 /25)就不是那么容易了。

例子:

# 192.168.0.0/16: (easy)
grep " 192\.168\." access_log

# 192.168.128.0/17: (more thought required)
grep -E " 192\.168\.(12[89]|1[3-9][0-9]|2[0-5][0-9])\." access_log

# 192.168.0.0/17: (more thought required)
grep -E " 192\.168\.([0-9]|[0-9][0-9]|1[01][0-9]|12[0-7])\." access_log

# 192.168.128.0/18: (straining my brain)
grep -E " 192\.168\.(1[2-8][0-9]|19[01])\." access_log
Run Code Online (Sandbox Code Playgroud)

这些正则表达式会忽略包含前导零的 IP 地址,例如192.168.001.001,这在 Apache 日志文件中不是问题,但可能在其他日志文件中。打印机似乎特别喜欢前导零。将可选的零添加到正则表达式很容易,但它只会使整个事情变得更加困难。必须有更简单的方法。

有没有一种简单的方法可以从匹配任何 CIDR 范围的文件中选择行?

花式正则表达式扩展将被视为不同的工具(例如awkperl在必要时,但我希望它是单行的),如果它们使工作更容易。理想情况下,我想要的是

grep "[:CIDR 192.168.128.0/18:]" access_log
Run Code Online (Sandbox Code Playgroud)

将 CIDR 范围转换为适当的正则表达式的工具也可以。

$ cidr2regex 192.168.0.0/18
192\.168\.(1[2-8][0-9]|19[01])\.[0-9]{1,3}
Run Code Online (Sandbox Code Playgroud)

或者

$ grep -E "$(cidr2regex …
Run Code Online (Sandbox Code Playgroud)

ip grep regex cidr

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

基于*源* IP的Apache虚拟主机

是否可以根据IP为不同的虚拟主机配置 Apache ?(即相同的接口,相同的主机名,但两个不同的虚拟主机,具有不同的内容,基于IP。)

这样做的动机是我的 IP 地址可以正确访问该站点,但其他人都可以访问保留页面。传统的解决方案似乎是使用 mod_rewrite 将访问者引导到同一 docroot 中的单独页面,但我想为保留页面使用完全不同的 docroot。

ip virtualhost apache-2.2

11
推荐指数
3
解决办法
2万
查看次数