Oprócz innych dobrych odpowiedzi, ostatnio musiałem użyć tabeli maglowania, aby skorygować rozbieżności MTU (maksymalna jednostka nadawcza) spowodowane ruchem przychodzącym przez PPPoE, PPP i ATM, z których każde powoduje dodatkowe obciążenie, które zmniejsza ładowność dostępną dla IP ze zwykłych 1500 bajtów ramki Ethernet.
Systemy na każdym końcu potoku, co jest normalne, miałyby MTU o wartości domyślnej 1500, więc próbowałyby wysłać tak duże ramki IP. Ponieważ rzeczywisty dostępny rozmiar ładunku był mniejszy, spowodowałoby to fragmentację pakietów, z tym wyjątkiem, że często nadawca zażąda, aby pakiety nie były pofragmentowane, i w rezultacie zostaną całkowicie odrzucone.
W idealnym świecie odkrycie ścieżki MTU pozwoliłoby punktom końcowym na dostosowanie ich MTU w dół w razie potrzeby, ale to odkrycie zależy od ICMP, a sieci poza moją kontrolą były często skonfigurowane do usuwania ICMP ze względów bezpieczeństwa.
Jedynym wyborem było użycie manglingu pakietów w moim routerze w celu zmodyfikowania pakietów TCP SYN w celu zmniejszenia maksymalnego rozmiaru segmentu w warstwie transportowej:
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1452
Tego rodzaju rzeczy są niechlujne i idealnie należy ich unikać, ale nie miałem innych opcji i to rozwiązało problem.
Mam nadzieję, że te przykłady pomogą, podobnie jak strona podręcznika.
iptables(8)
Strona człowiek ma wszystkich potrzebnych informacji, w tym kilka przykładów miłe z przekształceń użytkowania stołu.