Считаете, что Ubuntu недостаточно дружелюбна к новичкам? Помогите создать новое Руководство для новичков!
0 Пользователей и 1 Гость просматривают эту тему.
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -I OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu -t mangle
# Generated by iptables-save v1.4.12 on Fri Jul 12 11:53:24 2013*mangle:PREROUTING ACCEPT [1:52]:INPUT ACCEPT [1:52]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [1:52]:POSTROUTING ACCEPT [1:52]-A OUTPUT -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu-A OUTPUT -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtuCOMMIT# Completed on Fri Jul 12 11:53:24 2013
#!/usr/bin/env python# -*-coding: utf-8 -*-# vim: sw=4 ts=4 expandtab aiimport socketimport osimport timeimport sys# Полное имя веб сервера на котором проводятся испытания. Следует выбирать из# сайтов, которые точно не работают.HOST = 'aliexpress.com'# Временной интервал, в течении которого следует ожидать ответа от сайта.# Слишком маленькое значение может породить ложные срабатывания, слишком# большое - долгое время работы скрипта.TIMEOUT = 25.0# Количество байт, которые надо получить с веб сервера, чтобы убедится что он# наверняка работает. Рекомендуется устанавливать большим нежели значение MTUBUF = 3000# Значение MTU на интерфейсе в интернет.MTU = 1500# Значение MSS будет искаться в пределе от MTU-LIM-40 до MTU-40. Запрещено# ставить значение больше MTU и не рекомендуется ставить значения более чем# 100-200 - это может привести к большому времени работы скрипта.LIM = 100# Задержка между обращениями к сайту. Рекомендуется устанавливать отличной от# нуля на медленном канале.TRY_TIME = 0def set_mss(mss, action='A'): return os.system("iptables -t mangle -%s OUTPUT -p tcp --tcp-flags \ SYN,RST SYN -j TCPMSS --set-mss %d" % (action, mss) )def check_connection(host): s = socket.socket() s.connect( (host, 80) ) s.send('GET / HTTP/1.1\r\nHost: %s\r\n\r\n' % host) s.settimeout(TIMEOUT) try: d = len( s.recv(BUF) ) except: d = 0 s.close() return ddef main(): mss = MTU - 40 if not check_connection(HOST): mss = MTU - 40 - LIM set_mss(mss) if not check_connection(HOST): set_mss(mss,'D') print "Error: Too small LIM" sys.exit(1) else: while check_connection(HOST): time.sleep(TRY_TIME) set_mss(mss,'D') if mss >= MTU-40: print "Error in determining MSS" sys.exit(1) mss += 1 set_mss(mss) set_mss(mss,'D') mss -= 1 print 'MSS = %d' % (mss)if __name__ == '__main__': main() sys.exit(0)
sudo ifconfig ppp0 mtu 1460
Страница сгенерирована за 0.068 секунд. Запросов: 25.