西周中叶,与戎狄相安共处的局面日益难以维持。周穆王时,周室尚称强大,因“戎狄不贡,王乃西征犬戎,获其五王,又得四白狼、四白鹿,王遂迁戎于太原”。
周夷王时,命虢公伐太原之戎,获马千匹。
自周夷王以后,周日益衰败,“荒服不朝”的局面越来越严重,而秦族在陇山地区逐渐壮大,周也逐渐倚靠秦人来制西戎。
周武王伐纣,得到了西土各国的支持,《牧誓》所举有羌,大概即殷墟卜辞中作专名的羌方。此外,在周代的文献中,很少见羌作族称,原被商代泛称为羌的诸部落与方国,其保持原有生产生活方式的都已泛称为戎。周文王虽已使诸戎臣服,也还是叛服不常。周武王灭商以后,为保障京师的安全,“放逐戎夷泾洛之北,以时入贡,命曰‘荒服’”。西周初,从陇山东西到河套、东延及今山西境内,都有诸戎游牧部落分布,与周保持“以时入贡”、“王事天子”的关系,比较相安。从《小盂鼎》、《梁伯戈》的铭文看,康王时还发生过对鬼方的战争,而史书失载。鬼方在商周之际与周初,是周人的劲敌,所以周人把鬼方当作远方的通称。
西周中叶,与戎狄相安共处的局面日益难以维持。周穆王时,周室尚称强大,因“戎狄不贡,王乃西征犬戎,获其五王,又得四白狼、四白鹿,王遂迁戎于太原”。穆王西征到了什么地方?据古本《竹书纪年》记载:“穆王十七年西征,至昆仑丘,见西王母,乃宴。”昆仑丘所在,各家考证不一,肯定已超过陇山山脉,到达今甘青境内,见到了西戎的一位女酋长。穆王从陇以西迁戎至泾水上游之太原,大概是为了便于控制,后来太原之戎成为周室邻近王畿的威胁,完全与穆王初衷设想背道而驰。
自周夷王以后,周日益衰败,“荒服不朝”的局面越来越严重,而秦族在陇山地区逐渐壮大,周也逐渐倚靠秦人来制西戎。
周考王时封非子于秦邑(今甘肃省天水市清水县),为周附庸。同时接受申侯的要求,让非子同父异母兄弟成继承其父大骆的酋长地位居犬丘,也在天水市境,“以和西戎”。成的母亲是申侯之女,申的这一支对西戎有重大的影响,与周也保持较密切的关系,大概是姜姓申国仍居陇山地区的游牧人,当他们与周为敌时,称为申戎或姜氏之戎。
据古本《竹书纪年》及《后汉书·西羌传》记载:
周夷王时,命虢公伐太原之戎,获马千匹。
周厉王时,西戎杀秦仲同族,即居于犬丘的一支大骆的后裔,王命伐戎,不克。
周宣王四年,使秦仲伐戎,兵败被杀。宣王召秦仲之五子,予兵7000破戎,西戎稍却,秦迁居犬丘,周封秦仲之长子为西垂大夫,即秦庄公。
宣王五年,猃狁,即犬戎。侵周至泾水北岸,宣王派南仲筑城于朔方,尹吉甫击败猃狁,逐至太原,一时西戎臣服。
宣王三十一年,遣兵伐太原之戎,不胜。三十六年代条戎、奔戎,败绩;三十八年晋人败北戎于汾隰;戎人灭姜侯之邑;三十九年,王伐申戎。《国语·周语》上记述,“宣王三十九年,战于千亩,王师败绩于姜氏之戎”,此役当与《竹书纪年》所记宣王三十九年代申戎是同一史实。千亩为周王之籍田,应距镐京不太远,宣王败后“遂料民于太原”,也就是穆王迁戎于太原,在镐京西北,实际上是周之远祖在泾水上游与戎狄杂处的地区,与后世所说晋阳太原不同。戎人所灭姜侯之邑,大概是姜姓之封于周原境内者。《水经·渭水注》“岐水又历周原下,水北即岐山矣。岐水又东经姜氏城南为姜水”。此姜氏城或许即戎人所灭姜侯之邑。