标签: tcp

当我在一个 NIC 上分配 2 个 IP 时会发生什么?

当我在一个 NIC 上分配 2 个 IP 时会发生什么?

例如,我有一个物理网卡(eth0),并且我在此接口上分配来自不同网络的 2 个 IP。例如

auto eth0
iface eth0 inet static
    address 10.10.0.5
    netmask 255.255.255.0
    gateway 10.10.0.1

auto eth0:0
iface eth1 inet static
    address 192.168.0.5
    netmask 255.255.255.0
    gateway 192.168.0.100
Run Code Online (Sandbox Code Playgroud)

1)如果我从 10.10.05 发送数据包到 192.168.0.5 ,会经过哪条路径?
2)10.10.0.1和192.168.0.100应该是一台物理设备吗?
我也希望有一个解释此案例的文章/书籍的链接。

谢谢

networking routing nic ip tcp

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

为什么某些传出 IP 流量不包含 UID 信息?

我正在使用 IPTABLES 在我的服务器上进行出口日志记录,其中包含以下行,该行应该提供有关记录的所有流量的 UID 信息:

-A OUTPUT -j LOG --log-prefix "IPTABLES(O): " --log-level info --log-uid
Run Code Online (Sandbox Code Playgroud)

然而,偶尔我会得到没有 UID 的日志,如下所示:

IPTABLES(O): IN= OUT=eth0 SRC=1.2.3.4 DST=5.6.7.8 LEN=83 TOS=0x00 PREC=0x00 TTL=64 ID=54321 DF PROTO=TCP SPT=50505 DPT=443 WINDOW=342 RES= 0x00 ACK PSH FIN URGP=0

传出流量不包含任何 UID 信息的原因是什么?

iptables tcp uid

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

ufw 状态(v6 代表什么?)

我的 ufw 状态输出如下所示:

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
25/tcp                     ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
25/tcp (v6)                ALLOW       Anywhere (v6)
Run Code Online (Sandbox Code Playgroud)

为什么他添加了两次规则,v6 代表什么?

ip ipv6 tcp ufw

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

Linux 中 tcp_syncookies 的更好替代方案

为了防止 DDOS 攻击,我按照建议将我的 linux 机器中的 /proc/sys/net/ipv4/tcp_syncookies 值设置为 1 以启用 TCP syncookies。

但是,当我查看此网址时:http://ckdake.com/content/2007/disadvantages-of-tcp-syn-cookies.html

它告诉我,如果我启用 tcp_syncookies,那么一半的 tcp 功能(包括大窗口管理)将被禁用,这可能会降低性能。

我在其他地方读到,syn cookie 的部分目的是当更多数据包进入时将 tcp syn 积压缓冲区扩展到其上限(通过 /proc/sys/net/ipv4/tcp_max_syn_backlog),这样数据包就不会丢失。

我希望能够禁用 syn cookie,这样我就可以充分利用 tcp 并使我的服务器运行得更快并且继续不受 DDOS 攻击。我可以轻松地增加同步缓冲区和最大连接数,但我认为如果设置得太高,我会耗尽内存。

有没有人有一个好的替代方法可以在重型服务器上同步 cookie 而不会受到 DDOS 攻击?我想享受 TCP 的功能并非常快速地向用户提供内容。

connection tcp ddos tcp-window-scaling syn

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

为什么防火墙允许 http 响应数据包到达我的主机的端口,比如 48406,尽管我的主机不允许任何入站连接?

我的主机受到允许所有出站和任何入站的规则的防火墙。如果我向某个网站发出 http 请求,网站服务器将响应我主机上的某个端口,例如 48406。

现在入站规则不允许48406端口,为什么允许响应包穿墙?

firewall tcp

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

Ping 可以工作,但 TCP 的拓扑结构有点不寻常

我首先要说我没有从一开始就设计这个网络,所以拓扑结构甚至对我来说都是一个惊喜。

有两个子网(一个是我们的公司,一个是我们的客户)位于同一物理位置,因此网络由 VLAN:s 分隔。然而,除此之外,我们和我们的客户都有不同的防火墙,所以我们有一个额外的虚拟路由器 (VyOS) 作为我们网络之间的桥梁。VyOS 路由器有两个接口(eth0 和 eth1)。

我可以很好地 ping 两个网络,但是如果我尝试访问我们客户端子网中的 Web 服务器,连接就会失败。特别有趣的是,当我手动将网关设置为指向 192.168.5.34 (VyOS) 而不是我们的网关 192.168.5.1 时,连接可以正常工作,因此当防火墙必须将流量重定向回来时,防火墙肯定会出现故障从它来自的同一个界面出来。另外,如果我配置 source nat 它也可以工作。

以下是有关网络的信息:

我们的子网:192.168.5.0/24 防火墙:192.168.5.1 VyOS eth1:192.168.5.34

客户端子网:192.168.1.0/24 防火墙:192.168.1.1 VyOS eth0:192.168.1.34

编辑:这是我尝试通过 HTTP 连接到 Web 服务器时流量采用的路由

192.168.5.172 -> 192.168.5.1 -> 192.168.5.34 -> 192.168.1.28 | 192.168.1.28 -> 192.168.1.1(似乎连接失败,在我们的瞻博网络防火墙)

subnet tcp juniper vyos

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

更改 iptables 中的 MSS

我有两个设置,我想更改流经系统的数据包的 MSS。在第一个中,我将 enp2s0 和 enp3s0 设置为桥接器。有没有办法让 iptables 在入站数据包传回之前修改其 MSS?

[root@localhost network-scripts]# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 00:60:e0:6f:8c:62 brd ff:ff:ff:ff:ff:ff
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP qlen 1000
    link/ether 00:60:e0:6f:8c:63 brd ff:ff:ff:ff:ff:ff
4: enp0s31f6: …
Run Code Online (Sandbox Code Playgroud)

iptables tcp linux-networking

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

通过 OpenVPN 隧道的 SSH 连接问题(“TCP Previous segment lost”)

我有一个到 OpenVPN 服务器的 VPN 隧道。VPN 是一个 Sophos VPN,它在底层使用 OpenVPN。我不知道服务器配置,也不能更改服务器配置。我的隧道端点是 Win 10 (OpenVPN 2.4.8) 上的 tun,其配置如下所示:

ip-win32 dynamic
client
dev tun
proto tcp
verify-x509-name "[...]"
route remote_host 255.255.255.255 net_gateway
resolv-retry infinite
nobind
persist-key
persist-tun
dev-node "OpenVPN"
pull-filter ignore redirect-gateway
route 192.168.20.0 255.255.255.0 vpn_gateway 3
<ca>
[...]
</ca>
<cert>
[...]
</cert>
<key>
[...]
</key>
auth-user-pass
cipher AES-128-CBC
auth SHA256
comp-lzo no
route-delay 4
verb 3
reneg-sec 0
remote [...] 8443
Run Code Online (Sandbox Code Playgroud)

现在我遇到了通过隧道的 SSH 连接挂起的问题debug1: SSH2_MSG_KEXINIT sent(这是 WSL ssh):

$ ssh -vvvv …
Run Code Online (Sandbox Code Playgroud)

openvpn tcp mtu fragmentation

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

在 TCP 连接上,接收方能否控制发送方使用的 TCP 窗口大小?

TCP 窗口大小是发送方在等待 TCP 确认之前将发送的数据量。接收方是否有办法控制这一点(例如,作为 TCP 握手的一部分),还是只有发送方可以控制?

networking tcp tcp-window-scaling

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

伪造的TCP重置包

我试图更好地理解网络中立性辩论。一些人指责 ISP 向终端主机发送 RST 数据包以阻止 BitTorrent 流量。这到底是什么意思?

我对 HTTP 和 TCP/IP 有基本的了解(我是一名程序员),但服务器管理我绝对不是专家。谢谢。

bittorrent tcp rst

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