我有两个设置,在其中我想要更改流经系统的数据包的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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:60:e0:6f:8c:61 brd ff:ff:ff:ff:ff:ff
inet 192.168.5.248/24 brd 192.168.5.255 scope global enp0s31f6
valid_lft forever preferred_lft forever
inet6 fe80::1842:306e:fb55:fe3/64 scope link
valid_lft forever preferred_lft forever
5: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP qlen 1000
link/ether 00:60:e0:6f:8c:64 brd ff:ff:ff:ff:ff:ff
7: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether 00:60:e0:6f:8c:63 brd ff:ff:ff:ff:ff:ff
inet6 fe80::260:e0ff:fe6f:8c63/64 scope link
valid_lft forever preferred_lft forever
[root@localhost network-scripts]# 在我的第二个例子中,我将所有的流量设置为一个虚拟的tun0,它将流量发送到队列0,其中类似于snort的软件分析数据包。
root@pink:~/blue# iptables-save
# Generated by iptables-save v1.6.0 on Sun Jan 14 13:22:07 2018
*raw
:PREROUTING ACCEPT [84:6848]
:OUTPUT ACCEPT [21:2348]
-A PREROUTING -i tun0 -j NFQUEUE --queue-num 0
COMMIT
# Completed on Sun Jan 14 13:22:07 2018
# Generated by iptables-save v1.6.0 on Sun Jan 14 13:22:07 2018
*filter
:INPUT ACCEPT [110838:165446612]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [87556:6202390]
COMMIT
# Completed on Sun Jan 14 13:22:07 2018
root@pink:~/blue#我试过这个https://www.frozentux.net/iptables-tutorial/chunkyhtml/x4721.html,但它似乎不起作用。
发布于 2018-02-27 09:49:19
您可以使用TCPMSS iptables目标来修改TCPMSS值,即执行MSS夹紧。
若要强制执行特定的MSS (此处: 800),请使用:
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 800请注意,如果您使用的是连接跟踪,这会变得有点棘手。此规则必须在连接跟踪规则之前。否则,它将只适用于SYN数据包,而不适用于SYN,因为SYN在到达TCPMSS规则之前将被连接跟踪所接受。
还请注意,MSS夹紧是一个黑客,只有当你已经破坏最终用户应用程序时才需要。
https://serverfault.com/questions/892160
复制相似问题