993년(성종 12) 5월 거란의 소손녕(蕭遜寧)이 침입하여오자 화친사(和親使)로 감찰사헌 이몽전(李蒙戩)을 보내었는데 돌아와서 아무런 회답이 없자 드디어 안융진(安戎鎭)을 공격하게 되었다.
이때 중낭장(中郎將) 대도수(大道秀)와 함께 낭장(郎將)으로서 소손녕과 싸워서 이기니 더 이상 진군하지 못하고 거란군은 항복하기만을 재촉하였다. 1009년(목종 12) 1월 왕의 병환이 위중하므로 친종장군(親從將軍)으로서 중랑장 하공진(河拱辰) · 탁사정(卓思政) 등과 함께 침전의 문 가까이에서 지켰다.
1011년(현종 2) 5월 병부상서 상장군이 된 후, 참지정사 서경유수 겸 서북면 행영도병마사, 형부상서 참지정사를 역임하였고, 1019년 12월 천승현개국남(千乘縣開國男)에 봉하여졌다. 1020년(현종 11) 4월 예부상서 양진(梁稹)과 형부시랑 한거화(韓去華)를 거란에 보내어 왕자를 연경군(延慶君)으로 책봉한 것을 알리려 하므로 재신으로서 그만두자고 간하였으나 받아들여지지 않았다. 1021년(현종 11) 3월 내사시랑평장사가 된 후 문하시랑평장사, 서북면 행영도통사(行營都統使), 판상서병부사 등을 역임한 후 1027년 1월 문하시랑평장사로 있던 중에 사직을 청하니 문하시중으로 특진시켜 치사하도록 하였다. 1038년(정종 4) 6월 세상을 떠났다.