小编El *_*rto的帖子

为什么会发生ICMP重定向主机?

我正在设置一个 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)

networking debian routing iptables icmp

29
推荐指数
1
解决办法
8万
查看次数

Linux 路由器:ping 不回路由

我有一个 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)

debian local-area-network router ping

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

无法在 Linux 上设置 NIC 以建立千兆链接

我有 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)

networking ubuntu gigabit-ethernet ethtool

8
推荐指数
1
解决办法
4万
查看次数

通过 OpenVPN 进行端口转发

这是我的场景。我有三个主机。

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)

iptables openvpn port-forwarding

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

Ubuntu + ZFS:如何将整个系统迁移到新磁盘?

这是我的场景:

我在带有 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)

ubuntu zfs migration replication

5
推荐指数
2
解决办法
7535
查看次数

DHCP:一个网卡和多个子网

我正在设置 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)

dhcp debian isc-dhcp

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

调整 Linux 内核以抵御 SYN 洪水攻击

我读过一篇关于如何通过修改sysctl.conf. 那篇文章有这样一句话:“可以使用一些选项重新编译内核以提高对 SYN 洪水的防护”。如果我的问题太笼统,我很抱歉,但您能否向我指出它可能指的是哪些内核选项?我下载了内核并查看了所有网络选项,make menuconfig但没有找到或错过了这些选项。谷歌搜索也没有帮助。

谢谢。

linux kernel ddos

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

Nginx:我可以使用 IP + URI 的密钥设置 limit_req_zone 吗?

我正在尝试设置 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 两次以上。

http nginx rate-limiting

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