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 c74677f
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 iputils-ping
cat >lan.bash <<!
set -ex
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
sysctl net.ipv4.conf.dae-veth-peer.proxy_arp=1
sysctl net.ipv4.conf.dae-veth-peer.rp_filter=2
iptables-legacy -t nat -A POSTROUTING -s 10.0.0.1/32 -j MASQUERADE
!
docker exec dae bash /host/lan.bash
docker exec dae ping 10.0.0.1
docker exec dae ip net e dae curl 1.0.0.1
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
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 c74677f

Please sign in to comment.