我有一个没有 ipv6 连接到互联网的网络。但我想玩一点私人网络。
所以我想为我的设备使用 ULA 并自动分发前缀。
我知道 ipv6 使用路由器广告来做到这一点。但是(因此得名......)它也宣传路由器。在我使用 dnsmasq 的情况下,它是运行它的服务器的地址。所以它最终在我的客户中作为默认路由。
由于我没有路由器并且不希望我的客户拥有默认路由,有没有办法在没有路由器的情况下动态分配 ula 前缀?
甚至更“高级”:有没有办法在没有路由器的情况下使用 dhcpv6?
我想给未知客户端一个范围内的IP地址和另一个范围内的已知客户端(这是一个静态的)。
我现在尝试了很多,但似乎无法正常工作。我得到的只是“没有可用的地址”错误。
我的网络是 10.1.0.0/22 (<-!!!) 应为访客分配一个范围为 10.1.3.1-10.1.3.254 的地址 静态地址范围为 10.1.2.1-10.1.2.254
所以这是我的配置:
iface eth0 inet static
address 10.1.0.2/22
gateway 10.1.0.1
eth0@if17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 10.1.0.2/22 brd 10.1.3.255 scope global eth0
valid_lft forever preferred_lft forever
和
dhcp-range=tag:guests,10.1.3.1,10.1.3.254,255.255.252.0,12h
dhcp-range=tag:known,10.1.2.0,static,24h
dhcp-option=option:router,10.1.0.1
dhcp-option=option:dns-server,10.1.0.3
dhcp-option=option:ntp-server,10.1.0.1
dhcp-host=aa:bb:cc:dd:ee:ff,10.1.2.1
dhcp-host=11:22:33:44:55:66,10.1.3.2
已知主机会获得它们的地址(无论它是 .2. 还是 .3. 地址),但未知主机不会得到任何信息。
我有以下目录布局:
/var/www/
example.com/
logs/
html/
stuff/
Apache 配置为通常从/var/www/example.com/html
我已将 webdav 配置为适用于 urlhttps://example.com/server-admin
并允许访问其他目录:
<VirtualHost>
...
Alias /server-admin /var/www/example.com/
<Location /server-admin >
Dav on
AllowOverride None
...
我AllowOverride None
想禁用 htaccess 文件,这样它们就不会破坏 webdav 操作。
这种作品。但是:如果我上传一个语法错误的 htaccess 文件,一切都会因 500 内部服务器错误而崩溃。我猜即使没有使用该文件,apache仍然会解析它。
因此,我尝试使用AccessFilename .davaccess
将其更改为其他名称,哪种有效,但不能<Location>
在<VirtualHost>
.
那么该怎么办?如何在 a 中禁用 htaccess<Location>
或如何更改布局才能使其正常工作?
我最近将几个虚拟主机升级到了 debian 8。现在我发现它们是:
/etc/init.d
, /etc/rc0.d
, ... 导演,里面有很多文件(例如/etc/rc2.d/S04ssh
)/etc/systemd/system/sshd.service
一个/etc/init.d/apache2
脚本但没有apache2.service
文件systemctl start/stop apache2
有效,我自己编写的服务文件也有效。所以问题是:这里有问题吗?升级时我错过了一些重要的事情吗?如果没有,这将如何工作?(systemd 到底对这个烂摊子做了什么?)
更新:我发现了这个问题:https ://unix.stackexchange.com/questions/233468/how-does-systemd-use-etc-init-d-scripts回答了我的大部分问题。(现在这是一个重复的问题吗?)
我仍然缺少什么:jessie 没有 apache2.service 文件可以吗?
我的设置是两台戴尔 R720 服务器,它们分别通过 4 个千兆端口连接到 Cisco WS-C2960S-24TS-L 交换机,该交换机又通过 100MBit 连接到 Internet。
服务器正在运行带有 openvz (redhad) 内核的 Wheezy:
2.6.32-openvz-042stab081.3-amd64
我想要的是两台服务器之间更快的文件传输和一定程度的容错。
我设法设置了绑定并尝试了绑定模式balance-rr
,802.3ad
并且balance-alb
. 就我能够连接到服务器而言,所有这些都有效。但是我没有在它们之间的数据传输中得到任何加速。
(删除:我明白这balance-rr
仅适用于 xover 布线。)
查看 ifconfig 的流量计数和我看到的各个接口:
802.3ad
:仅使用第一个接口的传出流量。如果转移到具有不同 MAC 地址的另一台主机,情况也是如此。balance-alb
:传出流量“不知何故”在接口之间分布不均,但传入流量仅在一个接口上内核文档告诉我,该balance-rr
模式需要:The balance-rr, balance-xor and broadcast modes generally require that the switch have the appropriate ports grouped together.
The nomenclature for such a group differs between switches, it may be
called an "etherchannel"
所以问题是:
什么是适合我使用的模式以及如何设置它才能正常工作?
如果这通常是不可能的,那么以某种方式进行设置将有助于服务器/服务器和服务器/互联网连接使用不同的接口。但这必须使用绑定而不是不同的内部/外部 IP 地址。(因为这反过来会使 openvz 设置变得不必要地困难)
提前致谢!
更新:在玩过交换机之后,我已经为处于“活动”模式的两台服务器设置了两个以太通道(这是正确的吗?)。但是在 linux 端使用 802.3ad 作为绑定方法,我没有看到行为/速度有任何变化。
更新2:对不起。似乎现在传出流量使用不同的接口。可能取决于目的地的mac地址。这是我能做的最好的吗?
UPDATE3:只是为了显示我在说什么:
root@warp2:/ssd/test# iperf -c 10.0.0.1
------------------------------------------------------------
Client connecting to 10.0.0.1, TCP port 5001
TCP window size: 23.8 KByte (default)
------------------------------------------------------------
[ 3] local 10.0.0.2 port 55759 connected with 10.0.0.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 2.16 GBytes 1.85 Gbits/sec
root@warp2:/ssd/test# iperf -c x.x.x.x
------------------------------------------------------------
Client connecting to warp1, TCP port 5001
TCP window size: 23.8 KByte (default)
------------------------------------------------------------
[ 3] local 80.190.169.17 port 54861 connected with x.x.x.x port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.10 GBytes 944 Mbits/sec
第一个测试是使用 balance-rr 的 2 个 nic,目前在两个 vlan 中(每个 nic 对一个,用于模拟 x-link 电缆。)
第二个测试是使用 802.3ad 和 EtherChannel 的 2 个网卡。
以及如何让它选择正确的?
这一切都发生在 OpenVZ 容器内:
主机是带有 Redhat/OpenVZ 内核的 Debian/Wheezy:
root@mycl2:~# uname -a
Linux mycl2 2.6.32-openvz-042stab081.5-amd64 #1 SMP Mon Sep 30 16:40:27 MSK 2013 x86_64 GNU/Linux
容器有两个(虚拟)网络接口。一个在公共地址空间,一个在私有地址空间:
root@mycl2:~# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:127.0.0.2 P-t-P:127.0.0.2 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:475 errors:0 dropped:0 overruns:0 frame:0
TX packets:775 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:32059 (31.3 KiB) TX bytes:56309 (54.9 KiB)
venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:80.123.123.29 P-t-P:80.123.123.29 Bcast:80.123.123.29 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
venet0:1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.0.1.29 P-t-P:10.0.1.29 Bcast:10.0.1.29 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
到专用网络的路由是手动设置的:
root@mycl2:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 venet0
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 venet0
尝试在私网上ping别人导致选择了错误的源地址:
root@mycl2:~# ip route get 10.0.1.26
10.0.1.26 dev venet0 src 80.123.123.29
cache mtu 1500 advmss 1460 hoplimit 64
为什么会这样,我该怎么办?
编辑:
如果我创建路线(感谢 Joshua)
ip route add 10.0.0.0/8 dev venet0 src 10.0.1.29
这是工作。但是根据参数应该只在选择这条路由man ip-route
的情况src
下设置源IP 。但是,如果选择了这条路线,那么源 IP 无论如何都会是这样。
我将在 Wheezy 上使用 OpenVZ 运行两台服务器。由于 debian 中已经没有 OpenVZ 内核了,我想改用 Proxmox 内核。
我正在使用已有的脚本进行所有复制。我不想要的是所有 pve 集群的东西,就我而言,它们只会妨碍我。
但是,如果我尝试安装vzctl
,无论我是否想要,我都会得到整个 pve 集群的东西。
如果没有它,我怎样才能只安装 proxmox 内核?
编辑:我需要 proxmox 提供哪些软件包,我可以将它们与 wheezy 软件包混合使用吗?Wheezy 的 vzctl 是否与 proxmox 内核一起使用?我怎样才能让舒尔只从 proxmox 获取我需要的包,而不是我不需要的包?
我正在使用 dns 来管理我的虚拟主机。为此,我使用 host 命令查询我的名称服务器以获取我需要的某些值。例如:
> host -t txt mycl1.vz
mycl1.vz.myserver.de descriptive text "1026"
但我只需要1026
作为没有喋喋不休的答案。目前我正在使用 sed 将其删除,例如:
| sed -e 's/.*descriptive text "\(.*\)"/\1/'
但这似乎有点“不稳定”,我想知道是否没有一些命令可以首先给我简单的输出?
我记得创建这个文件,但它消失了。但不完全是:
root@XXX:/etc/vz/conf# ls -al
total 0
drwxr-x--- 2 root www-data 0 Okt 1 16:04 .
drwxr-x--- 2 root www-data 0 Okt 1 16:04 ..
root@XXX:/etc/vz/conf# touch 1030.conf
touch: cannot touch `1030.conf': File exists
root@warp1:/etc/vz/conf# echo blah > 1030.conf
-bash: 1030.conf: File exists
root@warp1:/etc/vz/conf# rm 1030.conf
rm: cannot remove `1030.conf': No such file or directory
系统是 Debian7 / Proxmox:
Linux warp1 2.6.32-24-pve #1 SMP Fri Sep 13 07:29:30 CEST 2013 x86_64 GNU/Linux
是什么导致了这个,我怎样才能让我的文件回来/摆脱它,我该如何调试。像这样?谢谢!