公元前201年,汉高祖刘邦被匈奴冒顿单于的铁骑团团围困在平城白登山上。505年以后,冒顿单于的后代、匈奴人刘渊在山西左国城宣布自己是汉高祖的后代,建国号为汉。
唐朝的诗人曾经写下了“但使龙城飞将在,不教胡马度阴山”的诗句。无数“飞将军”曾经阻挡了胡马的南下,但一部分匈奴人却迁入了中原,并且最终融合在汉族之间。
秦始皇死后,原来驻守在北部边境的大将蒙恬被迫自杀,边防松懈。不久反秦起义爆发,秦军忙于镇压,不再顾及北方边疆。匈奴趁机南侵,移民大多逃亡。在没有军队守卫的情况下,秦始皇耗费了大量人力物力筑起的万里长城根本无法阻挡匈奴的骑兵。在这种有利的形势下,匈奴出现了一位强有力的领袖——冒顿单于。他即位后,率领匈奴各部东征西讨:攻灭了东胡,将其残余的乌桓和鲜卑赶到了大兴安岭;击败了月氏,迫使月氏人从河西走廊的西部迁往中亚;征服了北部的丁零、坚昆等部,扩展到贝加尔湖一带。匈奴不仅全部收复了被蒙恬夺取的土地,而且继续南下,进入战国时秦、燕、赵的旧地。匈奴号称拥有“控弦之士(能挽弓作战的士兵)三十万”,盛极一时。
秦汉之际,楚、汉和各诸侯忙于争夺天下,无暇北顾。等刘邦消灭项羽,匈奴的威胁已经相当严重。高祖六年(前201年),匈奴围攻马邑(今山西朔州市),驻守那里的韩王信投降后,依仗匈奴的势力南下太原(今山西中部),攻至晋阳(今山西太原市西南)城下。七汉朝骑兵年冬,刘邦率大军亲征,击败韩王信和匈奴联军,乘胜追击。当时连降大雪,天寒地冻,有的士兵连手指都被冻掉。刘邦为了了解实际状况,不断派使者进入匈奴地区观察。冒顿将计就计,故意将精锐部队和肥壮的牛羊隐藏起来,沿途只留下一些老弱残兵和瘦弱的牲口,十几位使者回来后都说匈奴不堪一击。刘邦又派刘敬(即娄敬)去复查,他的报告与众不同:“两国交战,一般都要壮大声势,但我只见到了老弱的士兵和牲畜,肯定是故意造成假相,将精兵埋伏了起来。我认为匈奴打不得。”但这时30万汉军已经越过句注山(今山西代县西北恒山山脉),争先恐后地北上了。刘邦认为刘敬是动摇军心,将他拘押在广武(今山西代县西南),自己率领骑兵到达平城(今大同市东北)。但汉军大部分是步兵,远远落在后面,只有一部分赶到平城。这时冒顿出其不意,以大量骑兵将刘邦团团包围在平城东北的白登山,并且切断了刘邦与后续部队的联系。整整七天七夜,汉军无法突出重围,几乎弹尽粮绝。刘邦派人突围找到阏氏(单于的夫人),送给她丰厚的礼物,让她在单于面前说好话。正好韩王信的部将王黄、赵利等在约定的时间内没有到达,单于怀疑他们与汉军合谋,于是在包围圈上网开一面,刘邦冲出包围,与大军会合,匈奴军队也撤退了。
但匈奴仍不时侵扰北部边境,刘邦苦于应付,听从刘敬的建议,实行和亲。所谓和亲,就是将汉朝的公主(实际上大多是以宗室的女儿或宫女代替)嫁给单于,并馈赠大批物资礼品。和亲在一定程度上缓和了匈奴的入侵,但汉朝正忙于巩固内部,加上不断有汉将叛逃,成为匈奴的帮凶。如燕王卢绾带着万余部众投降匈奴后,上谷以东(今河北北部、辽宁西部一带)就经常成为匈奴侵扰的目标。
吕后时,冒顿自恃兵力强盛,有意挑衅,给吕后送去一封信,大意说:“我孤零零生活在荒野地方,很想到中国游玩。陛下是寡妇,想必也很寂寞。大家都不快乐,何不互通有无?”吕后大怒。召集群臣商议,准备杀匈奴使者,出兵问罪。她的妹夫樊哙请战:“给我十万军队,我可以横行匈奴之中。”季布却说:“樊哙应该杀头。当年三十二万汉军出征,樊哙是上将军,高祖被围在平城,樊哙不能解围。到今天伤病者刚刚复原,百姓还在唱着悼念平城士兵的哀歌,樊哙却要让天下震动,胡说用十万军队去横行,不是当面欺骗你吗?况且匈奴人本来就像禽兽一样,听了他们的好话不必高兴,对他们的坏话也犯不着生气。”吕后明白汉朝的实力,就派张泽送去一封复信:“我已年老气衰,头发牙齿都掉了,走路也不成样子,单于不知从哪里听了传闻,实际上完全不必降低身份来找我。敝国没有什么过错,应该能得到你的宽大。奉上御车二辆,骏马二匹,供你日用。”冒顿也派使者致歉,表示自己不懂得中国礼仪,请求原谅,还回赠了马匹,双方恢复和亲。
文帝时(前180~前157年在位),冒顿单于击败月氏,控制了西域的大部分地区,兵力更加强盛;而汉朝经济尚未恢复,又受到内部分裂割据势力的牵制,军事上处于劣势,只能尽可能维持和亲。例如文帝三年,匈奴右贤王入侵,文帝亲赴太原,派丞相灌婴率八万车骑迎击右贤王。但济北王兴居发动叛乱,企图袭击荥阳(今河南荥阳市西北),文帝只得召回灌婴的军队,镇压内乱。第二年,冒顿单于致书文帝,表面重申和亲,实际却宣扬灭月氏的战绩,宣称“诸引弓之民并为一家”(所有使用弓箭的百姓已完全合并为一家),提出“皇帝如不想匈奴靠近边塞,就应该命令你的吏民迁得远远的”。
尽管如此,匈奴还是不时入侵。文帝十四年(前166年),匈奴老上单于(冒顿单于之子)率14万骑兵进入萧关(在今甘肃固原县南),派出巡逻和侦察的骑兵到达雍(今陕西凤翔县南)和甘泉(今旬邑县南),逼近首都长安。汉军紧急动员,单于在塞内留驻月余才撤退,汉军只能眼睁睁地看着匈奴军队出塞,却无法消灭敌人。匈奴更加肆无忌惮,每年入侵边境杀人掠夺,受害最严重的云中(在今内蒙古呼和浩特一带)和辽东(在今辽河下游和辽东半岛)二郡每年要损失万余人口。
汉朝一方面仍然只能争取与匈奴和亲,另一方面也加强了边境的防卫和报警。文帝后元六年(前158年),匈奴分两路侵入云中和上郡(今陕西北部),各有三万骑兵,文帝派三支军队分别把守北地(今甘肃东部)、句注山和飞狐口(今河北蔚县南),又调集军队驻守长安郊外。匈奴军一度直逼句注山,报警的烽火直达甘泉、长安。数月后,汉军推进到边境,匈奴军也退回塞外。
在景帝和武帝初年,汉朝始终执行和亲政策。在与匈奴的边境贸易中实行优惠,给了匈奴不少好处,长城沿线成为汉、匈奴间交易的场所。自单于以下的匈奴贵族、首领都喜欢与汉朝交往,长城下人员来往络绎不绝。但匈奴小规模的杀掠依然不断,汉朝内部的阴谋分子也想利用匈奴的武力。景帝即位后,赵王遂暗底下与匈奴勾结。吴楚七国之乱时,赵王企图引匈奴兵入境,但因汉军很快平息叛乱,赵王被围自杀,匈奴才停止行动。
在平定了吴楚七国之乱后,从汉初以来长期制约着中央政权的诸侯割据危机彻底消除,朝廷可以腾出手来全力对付外患了。加上经过几十年的休养生息,经济得到恢复和发展,积累了充足的物质基础,人口也增加了一倍有余,对匈奴发动反击的条件趋于成熟。
元光二年(前133年),雁门豪富聂壹向武帝献计,引诱单于入塞,以重兵围歼。于是武帝派聂壹假装私自出塞贸易,引诱单于夺取马邑城(今山西朔州市),单于贪图马邑的财富,亲自率领10万骑兵进入武州塞(在今山西左云县),30万汉军已经埋伏在马邑四周,只等单于进入伏击圈。在离马邑百余里的地方,单于见牛羊遍布,却不见有人放牧,觉得可疑,就袭击了汉朝一个亭,抓住了正在巡视的雁门尉史(边境巡视员)。怕死的尉史将汉军的部署一五一十告诉了单于,单于大惊,立即退兵,汉军一无所获。从此匈奴断绝和亲,经常攻打边塞,入侵杀掠。但匈奴已对来自汉朝的物资产生了依赖性,还是要来边关购买,汉朝也利用贸易缓和局势,双方的边境贸易继续进行。
马邑之围虽然没有成功,但汉军并未受损,经过几年的训练准备,已经具备了打击匈奴的实力。元光六年秋,四位汉将各率一万骑兵向关市下的匈奴人发动袭击,并攻入匈奴境内。但第一仗打得并不顺手,除了上谷一路的卫青获得杀死、俘虏700人的战果外,公孙贺无功古代山水而返,公孙敖损失了7000人,李广还被匈奴俘获,好不容易才逃脱。元朔元年(前128年),匈奴二万骑兵分几路入侵,武帝派卫青率三万骑兵出雁门郡,李息出代郡,主动攻击匈奴。结果消灭数千人,取得初步胜利。第二年,卫青从云中出击,直至陇西(今甘肃东部),又杀、俘匈奴数千人。收复河套地区,设置了朔方郡(治所在今内蒙古杭锦旗北)。汉朝整修了蒙恬所筑的长城的关隘,恢复了秦朝的边境线。当年还在内地招募了十万移民,迁入新设的朔方郡。
元朔三年,匈奴军臣单于死,其弟左谷蠡王伊稚斜自立为单于,军臣单于之子於单被打败,投降汉朝。匈奴又接连在边境入侵杀掠,河套一带本是右贤王的属地,所以他不断在朔方缘边杀掠。元朔五年,卫青率六将军共10万军队出朔方高阙(今内蒙古杭锦后旗东北阴山),深入六七百里后,出其不意地包围了右贤王。右贤王虽然逃脱,但其部属1.5万人被俘,再也不能对朔方构成威胁。第二年,卫青又率六将军与10万骑兵从定襄出击,杀、俘匈奴1.9万多,但汉军也损失了3000多骑兵,前将军赵信被俘。赵信本来降汉的匈奴小王,熟悉双方情况,他建议单于将主力后撤,引诱汉军长途出击,以便待汉军疲劳后捕捉战机。
元狩二年(前121年)春,武帝封年轻骁勇的霍去病为骠骑将军,率1万骑兵从陇西向河西走廊进军,一路杀、俘8000余人,还缴获了休屠王祭天的金人。当年夏天,霍去病又从北地出击,过居延泽(在今内蒙古额济纳旗东北),南下至祁连山,前后杀、俘3万余人。单于因休屠王、昆邪王损失惨重,准备召来杀掉,休屠王与昆邪王闻讯后准备降汉,汉朝派霍去病率军迎接。昆邪王杀死临时变卦的休屠王,合并了他的部众,4万余人一起降汉,使汉朝获得了整个河西走廊。河西走廊是匈奴的重要畜牧基地,走廊中段的焉支山出产的颜料是匈奴妇女的化妆品,它们的丧失引起匈奴人极大的哀伤,他们唱道:“亡我祁连山,使我六畜不蕃息;失我焉支山,使我妇女无颜色。”第二年,关东大水。汉武帝将72万多灾民迁至西北边疆和河西走廊,以后陆续设置了酒泉、武威、张掖、敦煌四郡。汉朝稳固地占有河西走廊后,隔断了匈奴与羌人的联系,打开了通向西域的大门。
元狩四年,汉朝出动10万骑兵,由卫青、霍去病率领,分别从定襄、代郡出发远征,约定在沙漠以北会师。由于汉军接连获胜,百姓纷纷随军出征,以便建功立业,出塞的私马有14万匹,还不包括装运粮食的。单于撤退了辎重,率精兵在漠北迎战,被卫青一路汉军包抄,仅与数百骑突围而逃,部众1.9万人被杀、俘。霍去病一路也杀、俘了数万匈奴人,在狼居胥山(今蒙古国肯特山)举行了祭祀仪式,直到接近瀚海(今贝加尔湖)才返回。这次战役迫使匈奴远离,大漠以南不再有匈奴的王庭,汉朝的疆域扩展到朔方以西至张掖、居延泽一带,在那里设置田官,组织五六万军人屯田。但汉军也付出了巨大代价,损失万余人和十余万匹马。汉朝一时无法增加战马,加上霍去病于元狩六年逝世,对匈奴的战事停顿了多年。
由于汉军无法在匈奴地区久驻,匈奴的流动性又大,所以汉匈间战事仍不时发生,但规模不太大,对汉朝没有什么威胁。太初三年(前102年),汉朝派徐自为在五原塞外数百里至千余里间修筑了一系列防御设施,派路博德在居延泽边建筑障塞。当年秋,匈奴大规模入侵边境,将徐自为筑的城障全部破坏。此后,汉军仍不断出击,但多次失利,损失不小。征和三年(前90年),贰师将军李广利兵败投降匈奴,汉军损失数万,元气大伤,不再出兵。但经过汉军二十多年的持续打击,匈奴人畜大减,加上天灾,濒于困境,自单于以下都希望与汉朝恢复和亲。
昭帝始元二年(前85年)匈奴狐鹿姑单于死,其子壶衍鞮单于立,左贤王、右谷蠡王不服,不参加每年的祭天大会,匈奴势力更加衰落。由于汉朝边境已建起完备的防卫系统,烽火台报警及时,匈奴的入侵难以得逞。
昭帝末年,匈奴转而攻打西域的乌孙国,声称要得到汉朝嫁去的乌孙公主,公主向汉朝求援。宣帝本始二年(前72年),汉朝大规模征发士兵,派范明友、赵充国等五位将军率二十余万军队分路出击匈奴。救援乌孙。乌孙也派五万军队,由西向东接应。匈奴闻风而逃,汉军追至一二千里之外。派驻西域的常惠与乌孙军队攻至右谷蠡王庭,俘获单于亲属及将士近四万和大批牛羊,从此匈奴更加一蹶不振。当年冬天,单于为了复仇,率万骑进攻乌孙,俘获一些老弱人员,可是在归途遇到罕见的大雪。人畜冻死,返回的不足1/10。于是乌孙、丁零、乌桓从西、北、东三方合力进攻,匈奴无力招架。在天灾人祸的打击下,匈奴的人口只剩下3/10,牲畜损失一半。汉朝出动三千骑兵就能俘获数千匈奴人返回,匈奴也不敢进行报复。
宣帝神爵二年(前60年),匈奴虚闾权渠单于死,内部分裂,日逐王先贤掸率部众降汉。匈奴内乱不止,两年后分裂为五部,各自拥立单于,相互攻击。呼韩邪单于一再受到攻击,甚至被其弟郅支单于逐出了单于庭,所属左伊秩訾王劝他向汉朝称臣,寻求支持。甘露元年(前53年),呼韩邪与大臣商议,大臣们一致反对:“我们匈奴的风俗一向崇尚武力,鄙视降服,靠马上战斗立国,所以能威震各族。战死是壮士的光荣。现在兄弟争国,不是兄胜就是弟胜,就是战死了也有威名,子孙还能当各国的将帅。汉朝虽然强大,也无法吞并匈奴。何必违背古制,臣服于汉,使先单于受到侮辱,让各国耻笑!这样就算能得到安定,怎么还能领导各族呢?”左伊秩訾力排众议:“不然!一个国家有时强有时弱是正常的,现在汉朝正强,乌孙等西域各国都当了它的属国,而且从鞮侯单于以来匈奴一天天削弱,无法恢复,就是这样也没有一天能安稳。现在臣服汉朝就能安全生存,否则就会灭亡,还有什么更好的办法呢?”争论了很久,呼韩邪决定听从他的意见,率领部众南下至汉朝边塞附近,派儿子右贤王到长安侍奉皇帝(充当人质,以示忠诚),并准备到长安朝见。郅支单于闻讯,也将儿子送到长安。