我正在设置一个 Debian 机器作为 4 个子网的路由器。为此,我在连接 LAN 的 NIC 上定义了 4 个虚拟接口 ( eth1
)。
eth1 Link encap:Ethernet HWaddr 94:0c:6d:82:0d:98
inet addr:10.1.1.1 Bcast:10.1.1.255 Mask:255.255.255.0
inet6 addr: fe80::960c:6dff:fe82:d98/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6026521 errors:0 dropped:0 overruns:0 frame:0
TX packets:35331299 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:673201397 (642.0 MiB) TX bytes:177276932 (169.0 MiB)
Interrupt:19 Base address:0x6000
eth1:0 Link encap:Ethernet HWaddr 94:0c:6d:82:0d:98
inet addr:10.1.2.1 Bcast:10.1.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:19 Base address:0x6000
eth1:1 Link encap:Ethernet HWaddr …
Run Code Online (Sandbox Code Playgroud) 我有一个 Debian 盒子,我试图将它设置为路由器,还有一个我用作客户端的 Ubuntu 盒子。
我的问题是,当 Ubuntu 客户端尝试 ping 互联网上的服务器时,所有数据包都丢失了(不过,正如您在下面看到的,它们似乎可以毫无问题地进入服务器并返回)。
我在 Ubuntu Box 中这样做:
# ping -I eth1 my.remote-server.com
PING my.remote-server.com (X.X.X.X) from 10.1.1.12 eth1: 56(84) bytes of data.
^C
--- my.remote-server.com ping statistics ---
13 packets transmitted, 0 received, 100% packet loss, time 12094ms
Run Code Online (Sandbox Code Playgroud)
(为了隐私,我更改了远程服务器的名称和 IP)。
从 Debian 路由器我看到:
# tcpdump -i eth1 -qtln icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
IP …
Run Code Online (Sandbox Code Playgroud) 我有 Ubuntu 11.10 64 位和一个(实际上是两个,但只有一个连接)英特尔 82578 千兆网卡,它以 100 Mbps 的速度运行,我希望它以 1000 Mbps 的速度运行,但我不能。我怎样才能找出问题所在?
这是我尝试使用 ethtool 设置速度时发生的情况:
# ethtool -s eth0 speed 1000
Cannot advertise speed 1000
Run Code Online (Sandbox Code Playgroud)
我也试过这个并失去了网络连接:
# ethtool -s eth0 speed 1000 duplex full
Run Code Online (Sandbox Code Playgroud)
我已经没有关于去哪里寻找的想法了。
一些信息:
服务器连接到 Cisco RVS4000 路由器,该路由器的所有活动端口都配置为在 1000 Mbps 全双工下工作,具有自动协商功能。事实上,还有另一台服务器连接到路由器的另一个端口,它以 1000 Mbps 的速度运行良好。
关于我遇到问题的服务器的信息:
lshw:
# lshw -C network
*-network
description: Ethernet interface
product: 82578DM Gigabit Network Connection
vendor: Intel Corporation
physical id: 19
bus info: pci@0000:00:19.0
logical name: eth0
version: 05
serial: 00:1e:67:15:2b:f1
size: 100Mbit/s …
Run Code Online (Sandbox Code Playgroud) 这是我的场景。我有三个主机。
1) GATEWAY 运行 OpenVPN 服务器。它有 1 个 LAN IP (192.168.1.10) 和 1 个 OpenVPN IP (10.8.0.1)。
2)LOCAL-CLIENT,与GATEWAY在同一个局域网内的机器,有1个局域网IP(192.168.1.12)
3) REMOTE-SERVER,一个 MySQL 服务器,它是 OpenVPN 服务器的客户端。它有 1 个公共 IP 和 1 个 OpenVPN IP (10.8.0.51)。
我希望能够通过 VPN 从本地客户端连接到远程服务器上的 MySQL。
到目前为止,我已经启用了 IP 转发并添加了一个端口转发,如下所示:
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A OUTPUT -p tcp --dport 3306 -j DNAT --to 10.8.0.51
Run Code Online (Sandbox Code Playgroud)
这适用于 GATEWAY,我可以使用 192.168.1.10 作为主机连接到 MySQL。但是当我从 LOCAL-CLIENT 尝试时,我收到“连接被拒绝”错误(使用 MySQL 客户端或 telnet 到端口 3306)。
我在这里缺少什么?
顺便说一句,我还尝试转发 HTTP 端口以针对也在远程服务器上运行的 Apache 进行测试,我得到了相同的结果,所以这不是 MySQL 问题。
更多信息:
Kernel IP …
Run Code Online (Sandbox Code Playgroud) 这是我的场景:
我在带有 2 x 500 GB SATA 磁盘的服务器上安装了带有本机 ZFS 的Ubuntu 。我按照本指南安装了它:https : //github.com/dajhorn/pkg-zfs/wiki/HOWTO-install-Ubuntu-to-a-Native-ZFS-Root-Filesystem
所以我在磁盘 1 上有一个 16 MB 的分区用于 /boot/grub 和该磁盘的其余部分,以及在镜像 zpool 中专用于 ZFS 的整个第二个驱动器。一切正常。
问题是现在我需要摆脱 500 GB 的磁盘并将它们替换为 2 x 1.5 TB 的磁盘。
有什么方法可以将我的两个 500 GB 硬盘上的所有内容(数据、分区表等)复制到两个 1.GB TB 硬盘上,而无需从头开始重新安装系统?
我在这里添加@jlliagre 要求的信息:
磁盘:
# fdisk -l
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes …
Run Code Online (Sandbox Code Playgroud) 我正在设置 Debian 作为小型办公网络的网关。我需要为公司内的不同区域设置三个子网,我将根据其 MAC 地址定义哪些 PC 将获得哪些 IP。
我的问题是:是否可以使用单个 NIC 处理 3 个子网的 DHCP?如何?
我尝试为每个网络设置虚拟接口,如下所示:
# ip addr show dev eth2
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 6c:f0:49:a4:47:38 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.10/24 brd 192.168.1.255 scope global eth2
inet 10.1.2.1/24 brd 10.1.2.255 scope global eth2:1
inet 10.1.3.1/24 brd 10.1.3.255 scope global eth2:2
inet 10.1.1.1/24 brd 10.1.1.255 scope global eth2:0
inet6 fe80::6ef0:49ff:fea4:4738/64 scope link
valid_lft forever preferred_lft forever
Run Code Online (Sandbox Code Playgroud)
注意: eth2 使用 192.168.1.10,因为该框当前不是网络网关。这只是暂时的。
然后我像这样设置我的 dhcpd.conf:
ddns-update-style interim; …
Run Code Online (Sandbox Code Playgroud) 我读过一篇关于如何通过修改sysctl.conf
. 那篇文章有这样一句话:“可以使用一些选项重新编译内核以提高对 SYN 洪水的防护”。如果我的问题太笼统,我很抱歉,但您能否向我指出它可能指的是哪些内核选项?我下载了内核并查看了所有网络选项,make menuconfig
但没有找到或错过了这些选项。谷歌搜索也没有帮助。
谢谢。
我正在尝试设置 Nginx limit_req 模块来限制任何 IP 对同一 URL 的请求速率。
我想定义一个limit_req_zone
由客户端 IP 和请求 URI 组合而成的密钥。也就是说,代替这个:
limit_req_zone $binary_remote_addr zone=req_dev:10m rate=2r/s;
像这样的东西:
set $ip_url "$binary_remote_addr$request_uri"
limit_req_zone $ip_url zone=req_dev:10m rate=2r/s;
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为set
无法在上下文中调用http
:
nginx: [emerg] "set" directive is not allowed here in /etc/nginx/nginx.conf:47
Run Code Online (Sandbox Code Playgroud)
有什么办法可以实现这一点吗?
需要明确的是:我不想限制特定 URL 的速率。我想避免一个 IP 每秒访问同一 URL 两次以上。