Repository navigation
How to set gateway to each interface? #3
Description
Activity
Not sure if this helps but I found that running pingu -v removes the routes when sopping it with ctrl+c. However, when I do service pingu start/stop the routes remain.
This is what I am doing:
##Initial condition: alpine in docker with CAP_NET_ADMIN ##and connected 3 networks. apk add iproute2 pingu ifconfig #(3 interface returned. eth0 eth1 eth2) #(eth0 is internal , eth1 is interface1 with macvlan, eth2 is interface2 with macvlan) ##enable NAT sysctl net.ipv4.ip_forward=1 iptables -P FORWARD ACCEPT iptables -t nat -A POSTROUTING -j MASQUERADE ##set gateway ↓gateway1↓ ↓gateway2↓ ip route change default nexthop via 192.168.0.254 dev eth1 weight 1 nexthop via 192.168.11.50 dev eth2 weight 1 #Now I can get internet access, package will randomly choose eth1 or eth2 to send ip route list #default # nexthop via 192.168.0.254 dev eth1 weight 1 # nexthop via 192.168.11.50 dev eth2 weight 1 #172.18.0.0/24 dev eth0 proto kernel scope link src 172.18.0.4 #192.168.0.0/24 dev eth1 proto kernel scope link src 192.168.0.2 #192.168.11.0/24 dev eth2 proto kernel scope link src 192.168.11.3 vi /etc/pingu/pingu.conf #interval 30 #retry 5 #required 3 #timeout 1.0 #interface eth1 { # label ISP via eth1 # rule-priority 20000 # required-hosts-online 1 # load-balance #} # #interface eth2 { # label ISP via eth2 # rule-priority 20000 # required-hosts-online 1 # load-balance #} #host 8.8.8.8 { # label Google public DNS (via eth1) # bind-interface eth1 # bind-interface eth2 #} ##start pingu pingu #pingu[49]: New interface: eth1 #pingu[49]: eth1: got link #pingu[49]: New interface: eth2 #pingu[49]: eth2: got link #pingu[49]: New route to 192.168.0.0/24 dev eth1 metric 0 table 2 #pingu[49]: New route to 192.168.11.0/24 dev eth2 metric 0 table 1 #pingu[49]: Google public DNS (via eth1): went OFFLINE #pingu[49]: 8.8.4.4: went OFFLINE #pingu[49]: ISP via eth2: went OFFLINE #pingu[49]: 8.8.4.4: went OFFLINE #pingu[49]: ISP via eth1: went OFFLINE ######Now I can no longer access the internet########## ip route list #172.18.0.0/24 dev eth0 proto kernel scope link src 172.18.0.4 #192.168.0.0/24 dev eth1 proto kernel scope link src 192.168.0.2 #192.168.11.0/24 dev eth2 proto kernel scope link src 192.168.11.3 ##getway record has been removed
Any step I do is wrong?
I have not played with the loud-balance option. Im only wanting pingu to switch between the two if one goes down (will be handled with gateway up/down action in pingu.conf).
Here is what I have in my interfaces file:
`auto eth1
iface eth1 inet static
address 10.11.10.100
netmask 255.255.0.0
gateway 10.11.0.1
post-up ip route add 10.11.0.0/16 dev eth1 table 11
post-up ip route add default via 10.11.0.1 dev eth1 table 11
post-up ip rule add priority 11 from 10.11.10.100 table 11
post-up ip rule add priority 12 to 10.11.10.100 table 11
post-down ip rule del priority 11 from 10.11.10.100 table 11
post-down ip rule del priority 12 to 10.11.10.100 table 11auto eth2
iface eth2 inet static
address 10.14.10.100
netmask 255.255.0.0
post-up ip route add 10.14.0.0/16 dev eth2 table 21
post-up ip route add default via 10.14.0.1 dev eth2 table 21
post-up ip rule add priority 21 from 10.14.10.100 table 21
post-up ip rule add priority 22 to 10.14.10.100 table 21
post-down ip rule del priority 21 from 10.14.10.100 table 21
post-down ip rule del priority 22 to 10.14.10.100 table 21
`
interface eth1 {
label VSAT1 via eth1
route-table 11
rule-priority 11
required-hosts-online 1
ping 8.8.4.4
}interface eth2 {
label VSAT2 via eth2
route-table 21
rule-priority 21
required-hosts-online 1
ping 8.8.8.8
}If you notice, the route-table and rule-priority match the table I use in the interfaces file. This way the routes persist and no new route is added or removed when pingu starts or stops.
I want to set gateway in conf
if I set
pingu will remove all my route settings.
But if I set gateway=192.168.0.254
I will get error like this: