Skip to content

Commit

Permalink
ci: Test LAN TCP and UDP
Browse files Browse the repository at this point in the history
  • Loading branch information
jschwinger233 committed Dec 29, 2023
1 parent 46a5170 commit be7e024
Showing 1 changed file with 88 additions and 1 deletion.
89 changes: 88 additions & 1 deletion .github/workflows/kernel-test.yml
Expand Up @@ -136,7 +136,6 @@ jobs:
docker exec dae apt install -y curl dnsutils
vmess_link=$(base64 -w0 vmess.json)
cat > ./conf.dae <<!
global {
tproxy_port: 12345
Expand Down Expand Up @@ -187,3 +186,91 @@ jobs:
docker exec dae dig @8.8.8.8 one.one.one.one
cat /host/v2ray.access.log | grep -q 'accepted udp:8.8.8.8:53'
- name: Setup LAN
uses: cilium/little-vm-helper@908ab1ff8a596a03cd5221a1f8602dc44c3f906d # v0.0.12
with:
provision: 'false'
cmd: |
set -ex
cd /host
docker restart -t0 dae
docker exec dae apt install -y iproute2 iptables
cat >lan.bash <<!
ip net a dae
ip l a dae-veth type veth peer name dae-veth-peer
ip l s dae-veth-peer up
ip l s dae-veth netns dae
ip net e dae ip l s dae-veth up
ip r a 10.0.0.1 dev dae-veth-peer
ip net e dae ip a a 10.0.0.1 dev dae-veth
ip net e dae ip r a 169.254.0.1 dev dae-veth
ip net e dae ip r a default via 169.254.0.1 dev dae-veth
!
docker exec dae bash /host/lan.bash
docker exec dae sysctl net.ipv4.conf.dae-veth-peer.send_redirects=0
docker exec dae sysctl net.ipv6.conf.dae-veth-peer.forwarding=1
docker exec dae sysctl net.ipv4.conf.dae-veth-peer.proxy_arp=1
docker exec dae sysctl net.ipv4.conf.all.proxy_arp=1
docker exec dae sysctl net.ipv4.conf.dae-veth-peer.rp_filter=2
docker exec dae sysctl net.ipv4.conf.all.rp_filter=2
docker exec dae sysctl -a | grep dae-veth-peer
curl 10.0.0.1
vmess_link=$(base64 -w0 vmess.json)
cat > ./conf.dae <<!
global {
tproxy_port: 12345
log_level: trace
lan_interface: dae-veth-peer
wan_interface: auto
allow_insecure: false
}
node {
local: 'vmess://\$vmess_link'
}
group {
proxy {
policy: min_moving_avg
}
}
routing {
pname(dae) -> direct
fallback: proxy
}
!
chmod 600 ./conf.dae
nohup docker exec dae /host/dae/dae run -c /host/conf.dae &> dae.log &
sleep 10s
cat dae.log
- name: Check LAN IPv4 TCP
uses: cilium/little-vm-helper@908ab1ff8a596a03cd5221a1f8602dc44c3f906d # v0.0.12
with:
provision: 'false'
cmd: |
set -ex
docker exec dae ip net e dae curl 1.0.0.1
cat /host/v2ray.access.log | grep -q 'accepted tcp:1.0.0.1:80'
- name: Check LAN IPv4 UDP
uses: cilium/little-vm-helper@908ab1ff8a596a03cd5221a1f8602dc44c3f906d # v0.0.12
with:
provision: 'false'
cmd: |
set -ex
docker exec dae ip net e dae dig @8.8.4.4 one.one.one.one
cat /host/v2ray.access.log | grep -q 'accepted udp:8.8.4.4:53'

0 comments on commit be7e024

Please sign in to comment.