秦灭六国后,于始皇三十二年(公元前215年)使将军蒙恬率士卒30万人北击匈奴,收回河南地区。秦在这里设置了34县,都筑有县城,从中原迁来人口,以充实这一地区。蒙恬又北渡黄河,据守于阳山(狼山之西)和北假(阴山下)一带。利用地势、修缮、增补旧秦、赵、燕长城,并连接起来。西起临洮(今甘肃岷县),东至鸭绿江,延袤万余里,这就是著名的万里长城。
真正与匈奴进行大规模战争是在汉朝。西汉一代,汉与匈奴的关系共经历了三个阶段,(1)刘邦至景帝时期的屈辱性的“和亲"阶段;(2)汉武帝时期的残酷战争阶段;(3)“昭君出塞”及其以后的和睦相处阶段。
所谓“和亲”。西汉初年,匈奴已建立了奴隶制国家,单于名叫冒顿(mo.du.莫毒),国势强盛。东面打败了东胡,西面赶走了居住在今甘肃境内的大月氏(zhi.支),北面臣服了丁零族,南面一再侵扰汉的北部各郡。前201年韩王刘信投降匈奴,次年刘邦亲率大军征讨,在白登(今山西大同东北)被匈奴冒顿单于30余万骑兵围困七昼夜,后用计逃脱,之后与匈奴和亲。
其后的文、景诸帝也是沿用和亲政策。文帝时,匈奴一再以数万或十余万骑入侵,曾烧回中宫(今陕西陇县)、“烽火通于甘泉、长安。”景帝时,也一再侵扰。可是文帝和景帝仍一面防御,一面执行和亲政策。同时也在移民于北边空旷地区,进行屯田;又大规模的储军粮于塞下;在国内实行《马服令》,大力增殖马匹;又加强士卒的训练,大量制造兵器。为反击匈奴积极备战。
汉匈战争。汉武帝即位以后,由战略防御转为战略进攻。于元光二年(前133年)开始对匈奴进行战争。从元朔元年(前128年)到元狩四年(前119年)的十年中,共有大战三次。第一次大战是在元朔二年,匈奴以二万骑入侵,杀辽西太守。汉使将军卫青以三万骑击匈奴,收复了河南地(今内蒙古伊克昭盟),设朔方、五原郡。
解除了匈奴对首都长安的威胁。第二次大战是在元狩二年(前121年)由将军霍去病率数万骑北击匈奴,出陇西、北地、深入二千余里,夺得祁连山和河西走廊,汉在这里设置了酒泉、武威,后又增设张掖、敦煌,为河西四郡。匈奴退出河西走廊,编了一首怀恋河西的歌曲:“亡我祁连山,使我六畜不蕃息;失我焉支山,使我妇女无颜色。”第三次大战是在元狩四年(前119年)。
匈奴名以数万骑入右北平和定襄郡,杀略惨重。武帝以卫青出定襄,霍去病出代郡,各将骑五万,步兵数十万,另有志愿从征者十四万匹马,粮草辎重还不计在内。卫青大破单于军,北至寘颜山赵信城(今蒙古杭爱山南)而还。霍去病出代郡二千余里,大破左贤王军,至狼胥山(今蒙古乌兰巴托东),临翰海(今呼伦贝尔湖)而还。从此,匈奴北徙漠北。汉自朔方,西至令居(今甘肃永登),以60万吏卒屯田,加强防守。
昭君出塞。汉匈战争,双方损失惨重。匈奴后分裂为五部,互相残杀,其中一部首领为呼韩邪单于,投靠汉朝,南徙于长城一带,要求与汉和亲。公元前33年,呼韩邪单于到长安,汉元帝以宫人王嫱(字昭君)嫁于呼韩邪单于,号宁胡阏氏(yan.zhi.烟支,单于妻)元帝亦改年号为“竟宁”。汉匈从此友好相处。王昭君在中原的兄弟(王飒)、在匈奴生的子女及其后裔,有三代人在为汉和匈奴之间的和平友好而工作。汉匈40年间没有发生战争。在今包头市附近出土的“单于和亲”砖,刻着:“单于和亲,千秋万岁,安乐未央。”
公元46年,东汉初年,匈奴贵族为争夺单于继承权而分裂为南北两大部,史称南、北匈奴。
南匈奴居住在五原(今内蒙古包头)一带,立比为单于。比的祖父呼韩邪单于与汉关系密切,比向汉表示“愿永为藩蔽,扦御北虏。”南匈奴向汉“奉藩称臣。”