晉獻公娶二女於戎,大戎姬姓,小戎允姓,《史記·晉世家》卻說:“重耳母,翟之狐氏女也;夷吾母,重耳母女弟也。”重耳在太子申生死後,被晉獻公逼迫,“遂奔狄。狄,其母國也”。在重耳出奔之前十餘年,大約在晉獻公即位後的幾年中,將伐驪戎,進行占卜,得“勝而不吉”之兆,會造成“戎夏交摔”的後果。這支稱為驪戎的部落,在晉國東邊,又稱“麗土之狄”。晉獻公攻打驪戎,獲驪姬,有寵。驪姬設計把太子申生和公子重耳、夷吾派到絳都以外去守城、拓土,以利於她在內設計陷害他們達到使其親子奚齊繼位的目的。於是買通獻公的親信梁五、東關五兩大夫向獻公獻謀,說曲沃有宗廟在那裏,蒲與屈兩城在邊境上,這三個地方都不能無主,“宗廟無主,則民不威,疆場無主,則啟戎心”。又說:“狄土廣漠,於晉為都,晉之啟土,不亦宜乎!”建議晉獻公派公子重耳居蒲(今山西省隰縣西北),夷吾居屈(今山西省吉縣東北),太子申生居曲沃(今山西省聞喜縣東),並且向廣漠的狄人地區去開拓疆土,取來做晉的下邑。蒲與屈,在今山西省中部的西側,黃河的東岸,離晉國都城都不過三四百裏,以外便是諸狄所占有的廣漠之區,是晉國“啟土”拓疆的對象。
公元前661年當太行山以東北狄威脅邢、衛的時候,晉獻公建立上下兩軍,次年冬命太子申生統下軍進攻東山皋落氏(今山西省垣曲縣東南),皋落敗退,往東北遷徙。
以上所述太行山東西兩側的北狄,是以赤狄為首的北狄聯盟,諸部受其節製統一號令,故統稱為狄。
公元前656年,晉獻公逼太子申生自殺,重耳奔狄,夷吾從與狄接境的屈邑奔梁(今陝西省韓城縣)。前653年,晉進攻屈邑以南的狄地采桑(今山西省吉縣),狄人敗退,晉統帥裏克也隻能“拒之而已,無速狄眾”。次年狄人即發動進攻,報采桑之敗。這一支狄,從地理方位推測應是白狄,在重耳居狄時,曾向赤狄廧咎如氏進攻,掠取其二女叔隗、季隗,這一事例也說明重耳所居的是白狄,隻是此時白狄仍在北狄聯盟中未單獨以其部名出現。而當時晉國,戎與狄不分,驅戎、大戎、小戎又都稱之為狄。到公元前638年秦穆公與晉惠公遷陸渾之戎於伊川,薑氏戎被安置於晉國南部,公元前627年白狄又單獨以其部名見於記載,於是晉國南有薑戎,西北有白狄,北麵與東南麵有赤狄,戎狄的區分較為清楚。晉惠公在位的14年(前650—前637)談不上向戎狄“啟土”,狄人反而向晉曾大舉南下進攻,一度威脅晉國的都城。
當晉國統治集團分裂、諸公子爭位的時候,周王室也發生了分裂與王位之爭。北狄也沒有放過這個機會向周與晉的邊疆緊逼。
公元前677年,周僖王去世,大夫蘇氏串通衛、燕兩國逼新即位的周惠王出奔,立王子頹。鄭厲公殺子頹,周惠王命齊桓公伐衛,衛國戰敗,蘇氏據溫邑(今河南省溫縣)叛周。公元前650年趁晉獻公新喪,晉國大亂,北狄攻占晉國東邊的驪戎地區,又滅蘇氏所據溫邑,與周王隔河相望。
公元前644年,秦穆公對晉惠公背信棄義大張撻伐,韓原(今陝西省韓城縣西南)一戰,晉全軍覆滅,惠公被俘。晉國西北的狄人趁機攻下晉國北部的狐廚(今山西省臨汾市西南)受降,又渡汾河攻占汾河東岸的昆都(今臨汾市南)。這三處地方離晉都絳僅50裏左右,對晉國造成了嚴重的威協。
公元前643年(周襄王九年),齊桓公去世,齊國發生了內亂,宋襄公試圖代齊桓公稱霸,結果在鹿上(今安徽省阜縣南)舉行盟會時被楚國活捉,宋國從此走向沒落。當時諸侯唯有鄭國比較強大。公元前636年鄭文公攻打滑國(今河南省偃師縣境),滑與周王接境而又與周王保持良好關係。周襄王派其兩大夫去鄭為滑說情。鄭文公竟將周王使者扣押起來,要挾周襄王屈從。周襄王於是派大夫頹叔、桃子請隔河相望的赤狄出兵討伐鄭國。狄奉王命,深入鄭國,很快攻下了櫟邑,距鄭國國都不足百裏,對試圖挾天子以令諸侯的鄭文公是一個極嚴重的打擊。
當周襄王請狄伐鄭的時候,大夫富辰力諫,說“鄭在天子,兄弟也”,“棄親即狄,不祥”。後來狄師大敗鄭國,襄王希望與狄聯姻以進一步依靠北狄的力婚姻舊姓薑、任兩姓中娶後,而從隗姓赤狄中娶,“非禮,且棄舊也”。富辰認為“狄,封豕豺狼”,不會有滿足的時候。狄在當時與晉、與周都有聯婚,但與諸夏還有較深刻的民族與文化方麵的隔閡。
周襄王希望利用狄人的力量鞏固自己的地位,狄人希望利用天子的權威進一步威迫諸夏。兩者發生了矛盾,而襄王的弟弟王子帶,早已覬覦王位,結黨,與狄隗後私通,企圖利用狄人的力量奪取王位。周襄王十七年,即公元前635年,周襄王廢黜隗後,於是狄人與王子帶的黨羽頹叔、桃子等人立王子帶,以兵攻襄王。襄王兵敗,逃奔鄭國汜邑(今河南省襄城縣)。狄人擄周大夫原伯、周公忌父、富辰、毛伯等,置王子帶及晚後於溫邑,以觀諸夏動靜。
春秋初中葉,周天子仍是名義上的天王,諸侯的共主,當時爭霸的諸侯,必須高舉“尊王”與“攘夷”兩麵旗幟,並且做出實績,才能達到挾天子以令諸侯的目的。周襄王在汜邑號令諸侯“勤王”,秦穆公首先響應,率師東來。這時晉文公已於上一年即位,地位雖並不十分鞏固,但他的謀臣都認為必須抓住這個機會。狐偃說:“求諸侯莫如勤王”,他認為要想繼承晉文公護送周平王東遷、晉武公統一晉國的業績,並且使晉國“啟土安疆”,必須搶在秦國以前使周襄王回到王城複位。趙衰也說:“求霸莫如入王尊周。周、晉同姓,晉不先入王,後秦入之,毋以命於天下。方今尊王,晉之資也。”於是晉文公一方麵勸阻秦兵,同時“賂於草中之戎與麗土之狄,以啟東道”,並率軍圍溫,殺王子帶,納襄王於王城。晉文公一舉而逐狄,周王把原屬於周王的陽樊、溫、原、櫕、茅等處“南陽之地”賜給晉國,這些地方在襄王出奔之前多已被狄人占據。於是晉的東麵,太行山以南地區,全歸晉有,與周隔河為境。晉文公從此走上了繼承齊桓公霸業的道路。與晉爭霸的主要是楚國,此後百年當中,大體都是晉楚爭霸時期。
當公元前643年齊桓公去世之後,公元前635年晉文公納周襄王於王城之前的近10年中,北狄在今山東、河南、河北三省接壤地區,即春秋時期河濟之間及濟水中遊,也試圖發展其勢力,以控製齊、魯、宋、衛諸國。
齊桓公還在病中時,他的四個公子已各樹黨羽,準備與太子爭位。桓公去世後,就互相打起來,齊桓公的屍體“在床上六十七日,屍蟲出於屍”。宋襄公以霸主的姿態立太子昭,是為孝公,但爭位的四公子出兵攻太子,結果被宋及曹、邾聯軍打敗。在這場諸公子爭立的戰爭中,狄人支持四公子。而衛國又企圖趁王室有難,齊國內亂的機會兼並邢國,狄又卷入了這場爭鬥。公元前640年狄與齊、邢等會盟,共商對付衛國,但沒有取得實質性進展,公元前635年晉文公逐狄納王,衛國也趁機滅邢。狄在河濟之間的擴張也基本上被挫敗。但有一部分狄人部落,越過黃河在河濟間及濟水中遊活動於宋、曹、魯、衛之間。其中有一部分即長狄。