Честно говоря не понятна суть вопроса. Обычно требуется при двух провайдерах резервирование канала (достигается определенным количеством пингов с определенным таймаутом на внешний адрес и, при отсутсвии ответов, переключение на резерв), либо балансировка spillover (при достижении заданного порога, используется одновременно второй канал), round robin (по очереди). Настраивается это на одном оборудовании. То есть, либо на железке Zyxel если она поддерживает резервирование каналов или балансировку, где один вход USB-свисток, второй - Ubuntu по ethernet -> WAN. Но так как у тебя на Ubuntu еще крутятся сервисы - тебе это не подходит (сервер за WAN не будет виден). Поэтому шлюзом у тебя должен быть Ubuntu сервер, где один вход USB-свисток, второй - Zyxel по ethernet (и соответственно вторая сетевуха должна быть на серваке для локалки). Либо пробовать выкинуть Zyxel из этой схемы и два свистка воткнуть в Ubuntu и ее настраивать.
Балансировка в Ubuntu.