当我在一个 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应该是一台物理设备吗?
我也希望有一个解释此案例的文章/书籍的链接。
谢谢
我正在使用 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 信息的原因是什么?
我的 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 代表什么?
为了防止 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 的功能并非常快速地向用户提供内容。
我的主机受到允许所有出站和任何入站的规则的防火墙。如果我向某个网站发出 http 请求,网站服务器将响应我主机上的某个端口,例如 48406。
现在入站规则不允许48406端口,为什么允许响应包穿墙?
我首先要说我没有从一开始就设计这个网络,所以拓扑结构甚至对我来说都是一个惊喜。
有两个子网(一个是我们的公司,一个是我们的客户)位于同一物理位置,因此网络由 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(似乎连接失败,在我们的瞻博网络防火墙)
我有两个设置,我想更改流经系统的数据包的 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) 我有一个到 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) TCP 窗口大小是发送方在等待 TCP 确认之前将发送的数据量。接收方是否有办法控制这一点(例如,作为 TCP 握手的一部分),还是只有发送方可以控制?
我试图更好地理解网络中立性辩论。一些人指责 ISP 向终端主机发送 RST 数据包以阻止 BitTorrent 流量。这到底是什么意思?
我对 HTTP 和 TCP/IP 有基本的了解(我是一名程序员),但服务器管理我绝对不是专家。谢谢。