Skip to content

Commit b9d1f89

Browse files
committed
Add xdp-synproxy doc in Firewall/Router scenario
Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
1 parent 63cd400 commit b9d1f89

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

xdp-synproxy/README.org

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,29 @@ could be built statically and shipped with xdp-synproxy container.
5959
=> 50 syncookie_xdp 908 6c6615566a2e0419 XDP_PASS
6060
#+END_SRC
6161

62+
XDP SYNPROXY can also be deployed in Linux router/Firewall, it requires iptables SYNPROXY to be added in filter table FORWARD chain. see https://youtu.be/Cj7SeviTXrw?si=adZ0FrGq84Ygmmy0 for example.
63+
64+
#+BEGIN_SRC sh
65+
sudo sysctl -w net.ipv4.ip_forward=1
66+
sudo sysctl -w net.ipv4.tcp_syncookies=2
67+
sudo sysctl -w net.ipv4.tcp_timestamps=1
68+
sudo sysctl -w net.netfilter.nf_conntrack_tcp_loose=0
69+
sudo iptables -t raw -I PREROUTING -i ens7 -p tcp -m tcp --syn --dport 80 -j CT --notrack
70+
sudo iptables -t filter -A FORWARD -i ens7 -p tcp -m tcp --dport 80 -m state --state INVALID,UNTRACKED -j SYNPROXY --sack-perm --timestamp --wscale 7 --mss 1460
71+
sudo iptables -t filter -A FORWARD -i ens7 -m state --state INVALID -j DROP
72+
sudo ./xdp_synproxy --iface ens7 --ports 80 --mss4 1460 --mss6 1440 --wscale 7 --ttl 64
73+
74+
Simple test diagram
75+
76+
client: server:
77+
ip r add 10.6.6.0/24 ip r add 10.3.3.0/24
78+
via 10.3.3.8 via 10.6.6.8
79+
80+
+---------------+ +----------------------------+ +--------------+
81+
| | | | | |
82+
| client | | Firewall/router | | server |
83+
| 10.3.3.9 eno2---ens7 10.3.3.8 10.6.6.8 ens9----ens9 10.6.6.6 |
84+
| | | | | |
85+
| | | | | |
86+
+---------------+ +----------------------------+ +--------------+
87+
#+END_SRC

0 commit comments

Comments
 (0)