double-p
BOFH
Es hat ein bischen gedauert, aber jetzt habe ich zumindest mal was zum testen *hint*.
Patches fuer relayd und relayctl: https://github.com/double-p/smtf/tree/master/patches
Damit kann man dann sowas machen:
Dann das minimum an rdomain networking:
ohne route geht immer so garnix...
Dann zwei relayd in unterschiedlichen rdomain und neben eigener config auch eigener socket:
Damit laufen die (# ps auxo rtable |grep relayd) und man sieht auch die entsprechenden rdr-to in die ziel rtable on der 'on rdomain' passend dazu.
Feedback zum patch gerne genommen..
Patches fuer relayd und relayctl: https://github.com/double-p/smtf/tree/master/patches
Damit kann man dann sowas machen:
Code:
/etc/relayd-21.conf:
table <local> { 127.0.0.1 }
redirect "foo" {
listen on 127.0.0.1 port http
forward to <local> port 8000 check icmp rtable 21
}
/etc/relayd-23.conf:
table <local> { 127.0.0.1 }
redirect "bar" {
listen on 127.0.0.1 port http
forward to <local> port 8000 check icmp rtable 23
}
Dann das minimum an rdomain networking:
Code:
ifconfig lo1 127.0.0.1/8 rdomain 21 up
ifconfig lo2 127.0.0.1/8 rdomain 23 up
route -T 21 -n add default 127.0.0.1
route -T 23 -n add default 127.0.0.1
Dann zwei relayd in unterschiedlichen rdomain und neben eigener config auch eigener socket:
Code:
# route -T 21 exec usr.sbin/relayd/obj/relayd -d -v -a rdr21 -f /etc/relayd-21.conf -s /var/run/rdr21.sock &
startup
host 127.0.0.1, check icmp (0ms,icmp ok), state unknown -> up, availability 100.00%
table foo: 1 added, 0 deleted, 0 changed, 0 killed
# route -T 23 exec usr.sbin/relayd/obj/relayd -d -v -a rdr23 -f /etc/relayd-23.conf -s /var/run/rdr23.sock &
startup
host 127.0.0.1, check icmp (0ms,icmp ok), state unknown -> up, availability 100.00%
table bar: 1 added, 0 deleted, 0 changed, 0 killed
Code:
# usr.sbin/relayctl/obj/relayctl -s /var/run/rdr21.sock show sum
Id Type Name Avlblty Status
1 redirect foo active
1 table local:8000 active (1 hosts)
1 host 127.0.0.1 100.00% up
# pfctl -a 'rdr23/*' -sr
anchor "bar" all {
pass in quick on rdomain 23 inet proto tcp from any to 127.0.0.1 port = 80 flags S/SA keep state (tcp.established 600) rtable 23 rdr-to <bar> port 8000 round-robin
}
Feedback zum patch gerne genommen..