<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;DkUHSHw8fCp7ImA9WhdaE08.&quot;"><id>tag:blogger.com,1999:blog-2076511595662355803</id><updated>2011-10-23T01:57:19.274+03:00</updated><category term="freebsd" /><category term="pefs" /><category term="l2filter" /><category term="dircache" /><title>Gleb Kurtsou</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://glebkurtsou.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://glebkurtsou.blogspot.com/" /><author><name>Gleb Kurtsou</name><uri>http://www.blogger.com/profile/05235148235254521396</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/-hwKzQudyM8o/Tp2X60qfdDI/AAAAAAAAADk/U6sp3h9FYfc/s220/gleb_02.JPG" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/glebkurtsou" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="glebkurtsou" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;D0ECRnszeSp7ImA9WhZRGE8.&quot;"><id>tag:blogger.com,1999:blog-2076511595662355803.post-1803303443387139198</id><published>2011-04-14T23:46:00.005+03:00</published><updated>2011-04-15T03:01:07.581+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-15T03:01:07.581+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><category scheme="http://www.blogger.com/atom/ns#" term="pefs" /><title>Secure backups for a lazy developer</title><summary>Developer is always afraid of loosing source code. As a rule after crash you'll be able restore all but several last revisions, or you'll get sources but have repository damaged. It doesn't happen often, but it's better to feel safe.

Backup of a central repository on server and personal project backup are two very different stories. Developers are too lazy to use server-like backup  methods. </summary><link rel="replies" type="application/atom+xml" href="http://glebkurtsou.blogspot.com/feeds/1803303443387139198/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://glebkurtsou.blogspot.com/2011/04/secure-backups-for-lazy-developer.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/1803303443387139198?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/1803303443387139198?v=2" /><link rel="alternate" type="text/html" href="http://glebkurtsou.blogspot.com/2011/04/secure-backups-for-lazy-developer.html" title="Secure backups for a lazy developer" /><author><name>Gleb Kurtsou</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/-7YYV4Y1Wa_M/Tp2DPFh2y-I/AAAAAAAAADs/FsyPz3cuT3E/s220/gleb_02.JPG" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CkQHRH4-fSp7ImA9Wx9WFkU.&quot;"><id>tag:blogger.com,1999:blog-2076511595662355803.post-561039951163901533</id><published>2011-01-22T09:12:00.000+02:00</published><updated>2011-01-22T09:12:15.055+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-22T09:12:15.055+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><category scheme="http://www.blogger.com/atom/ns#" term="pefs" /><title>PEFS changelog</title><summary>PEFS changelog since September 2010: 
Add AESNI hardware acceleration support.
Several rename fixes: vnode reference leak, incorrect locking, livelock, missing lookup(), always perform nfs-style dummy rename.
Skip directory entries with zero inode number (empty entry) (could result in reusing invalid entries).
Fix mounting ZFS snapshots (incorrect vn_fullpath locking).
Reduce possibility of free </summary><link rel="replies" type="application/atom+xml" href="http://glebkurtsou.blogspot.com/feeds/561039951163901533/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://glebkurtsou.blogspot.com/2011/01/pefs-changelog.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/561039951163901533?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/561039951163901533?v=2" /><link rel="alternate" type="text/html" href="http://glebkurtsou.blogspot.com/2011/01/pefs-changelog.html" title="PEFS changelog" /><author><name>Gleb Kurtsou</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/-7YYV4Y1Wa_M/Tp2DPFh2y-I/AAAAAAAAADs/FsyPz3cuT3E/s220/gleb_02.JPG" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CUIAQnozcCp7ImA9Wx5QGEw.&quot;"><id>tag:blogger.com,1999:blog-2076511595662355803.post-6696072916085305060</id><published>2010-09-07T01:50:00.003+03:00</published><updated>2010-09-07T01:52:23.488+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-07T01:52:23.488+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><category scheme="http://www.blogger.com/atom/ns#" term="pefs" /><title>XTS support in pefs</title><summary>I've replaced CTR encryption mode with XTS. Salsa20 stream cipher was also removed. CTR mode was inappropriate design for a filesystem, and allowed encrypted data to be easily manipulated by attacker and could even reveal plantext in cases when previous encrypted data snapshots where available to attacker, i.e. filesystem level snapshots. There should be no visible performance degradation because</summary><link rel="replies" type="application/atom+xml" href="http://glebkurtsou.blogspot.com/feeds/6696072916085305060/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://glebkurtsou.blogspot.com/2010/09/xts-support-in-pefs.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/6696072916085305060?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/6696072916085305060?v=2" /><link rel="alternate" type="text/html" href="http://glebkurtsou.blogspot.com/2010/09/xts-support-in-pefs.html" title="XTS support in pefs" /><author><name>Gleb Kurtsou</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/-7YYV4Y1Wa_M/Tp2DPFh2y-I/AAAAAAAAADs/FsyPz3cuT3E/s220/gleb_02.JPG" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C08EQH49fCp7ImA9WxFQEU0.&quot;"><id>tag:blogger.com,1999:blog-2076511595662355803.post-3554051171822459899</id><published>2010-05-06T02:23:00.000+03:00</published><updated>2010-05-06T02:23:21.064+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-06T02:23:21.064+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="l2filter" /><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><category scheme="http://www.blogger.com/atom/ns#" term="dircache" /><category scheme="http://www.blogger.com/atom/ns#" term="pefs" /><title>Projects status</title><summary>The oldest project l2filter is almost certainly doomed. Patch no longer apply after ipfw3 was imported to -CURRENT and then merged to 8-STABLE. It still applies to 7-STABLE, but I don't use 7-STABLE. Merging only support for layer2 filtering with pfil and pf should be rather trivial. I'd like to keep patches in sync with recent -CURRENT but.. no time, no testers.

pefs looks much better. I keep </summary><link rel="replies" type="application/atom+xml" href="http://glebkurtsou.blogspot.com/feeds/3554051171822459899/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://glebkurtsou.blogspot.com/2010/05/projects-status.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/3554051171822459899?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/3554051171822459899?v=2" /><link rel="alternate" type="text/html" href="http://glebkurtsou.blogspot.com/2010/05/projects-status.html" title="Projects status" /><author><name>Gleb Kurtsou</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/-7YYV4Y1Wa_M/Tp2DPFh2y-I/AAAAAAAAADs/FsyPz3cuT3E/s220/gleb_02.JPG" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkIMQXk8fSp7ImA9WxBQFks.&quot;"><id>tag:blogger.com,1999:blog-2076511595662355803.post-3421884365087929536</id><published>2009-12-08T20:16:00.003+02:00</published><updated>2010-01-16T21:03:00.775+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T21:03:00.775+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="l2filter" /><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><category scheme="http://www.blogger.com/atom/ns#" term="pefs" /><title>pefs and l2filter moved to github</title><summary>I've just moved pefs and l2filter development to github. Hope it helps people to follow development.

pefs repository (github.com/glk/pefs) can be used to to compile and run pefs without applying any patches.

pefs changelog:
support running on msdosfs
enable dircache only on file systems that are known to support it
add man page
add pefs getkey command
intial implementation of pefs PAM module
</summary><link rel="replies" type="application/atom+xml" href="http://glebkurtsou.blogspot.com/feeds/3421884365087929536/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://glebkurtsou.blogspot.com/2009/12/pefs-and-l2filter-moved-to-github.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/3421884365087929536?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/3421884365087929536?v=2" /><link rel="alternate" type="text/html" href="http://glebkurtsou.blogspot.com/2009/12/pefs-and-l2filter-moved-to-github.html" title="pefs and l2filter moved to github" /><author><name>Gleb Kurtsou</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/-7YYV4Y1Wa_M/Tp2DPFh2y-I/AAAAAAAAADs/FsyPz3cuT3E/s220/gleb_02.JPG" /></author><thr:total>4</thr:total></entry><entry gd:etag="W/&quot;D04BQXczeip7ImA9WxBQFks.&quot;"><id>tag:blogger.com,1999:blog-2076511595662355803.post-4699172198300369521</id><published>2009-10-16T20:08:00.004+03:00</published><updated>2010-01-16T20:19:10.982+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T20:19:10.982+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><category scheme="http://www.blogger.com/atom/ns#" term="pefs" /><title>pefs dircache benchmark</title><summary>I've recently added directory caching into pefs.Despite of being directory listing cache (like dirhash for ufs) it also acts as encrypted file name cache. So that there is no need to decrypt names for the same entries all the time. That was really big issue because directory listing has to be reread on almost every vnode lookup operation. It made operations on directories with 1000 and more files</summary><link rel="replies" type="application/atom+xml" href="http://glebkurtsou.blogspot.com/feeds/4699172198300369521/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://glebkurtsou.blogspot.com/2009/10/pefs-dircache-benchmark.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/4699172198300369521?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/4699172198300369521?v=2" /><link rel="alternate" type="text/html" href="http://glebkurtsou.blogspot.com/2009/10/pefs-dircache-benchmark.html" title="pefs dircache benchmark" /><author><name>Gleb Kurtsou</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/-7YYV4Y1Wa_M/Tp2DPFh2y-I/AAAAAAAAADs/FsyPz3cuT3E/s220/gleb_02.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_xIIl3JoIV0k/S1IBJkcUtkI/AAAAAAAAAAs/FLIjtaR3LWc/s72-c/pefs-dircache-dbench.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0cFQn87fCp7ImA9WxBQFks.&quot;"><id>tag:blogger.com,1999:blog-2076511595662355803.post-669074989033421399</id><published>2009-10-01T20:06:00.007+03:00</published><updated>2010-01-16T21:10:13.104+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T21:10:13.104+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><category scheme="http://www.blogger.com/atom/ns#" term="pefs" /><title>Encrypting private directory with pefs</title><summary>pefs is a kernel level cryptographic filesystem. It works transparently on top of other filesystems and doesn't require root privileges. There is no need to allocate another partition and take additional care of backups, resizing partition when it fills up, etc.

After installing pefs create a new directory to encrypt. Let it be ~/Private:

% mkdir ~/Private

And mount pefs on top of it (root </summary><link rel="replies" type="application/atom+xml" href="http://glebkurtsou.blogspot.com/feeds/669074989033421399/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://glebkurtsou.blogspot.com/2009/10/encrypting-private-directory-with-pefs.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/669074989033421399?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/669074989033421399?v=2" /><link rel="alternate" type="text/html" href="http://glebkurtsou.blogspot.com/2009/10/encrypting-private-directory-with-pefs.html" title="Encrypting private directory with pefs" /><author><name>Gleb Kurtsou</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/-7YYV4Y1Wa_M/Tp2DPFh2y-I/AAAAAAAAADs/FsyPz3cuT3E/s220/gleb_02.JPG" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEABQn4zeCp7ImA9Wx5QGEo.&quot;"><id>tag:blogger.com,1999:blog-2076511595662355803.post-7780141166641164172</id><published>2009-09-23T20:03:00.003+03:00</published><updated>2010-09-07T18:19:13.080+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-07T18:19:13.080+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><category scheme="http://www.blogger.com/atom/ns#" term="pefs" /><title>pefs crypto primitives (updated)</title><summary>Supported data encryption algorithms: AES and Camellia (with 128, 192 and 256 bits key sizes). Adding another block cipher with 128 block size should be trivial.

File names are always encrypted using AES-128 in CBC mode with zero IV. Encrypted file name consists of a unique per file tweak, checksum and name itself:
XBase64(checksum || E(tweak || filename))

Checksum is VMAC of encrypted tweak </summary><link rel="replies" type="application/atom+xml" href="http://glebkurtsou.blogspot.com/feeds/7780141166641164172/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://glebkurtsou.blogspot.com/2009/09/pefs-crypto-primitives.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/7780141166641164172?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/7780141166641164172?v=2" /><link rel="alternate" type="text/html" href="http://glebkurtsou.blogspot.com/2009/09/pefs-crypto-primitives.html" title="pefs crypto primitives (updated)" /><author><name>Gleb Kurtsou</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/-7YYV4Y1Wa_M/Tp2DPFh2y-I/AAAAAAAAADs/FsyPz3cuT3E/s220/gleb_02.JPG" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;Dk4MRnw8fCp7ImA9WxBQFks.&quot;"><id>tag:blogger.com,1999:blog-2076511595662355803.post-8374043624255437088</id><published>2009-09-16T19:55:00.005+03:00</published><updated>2010-01-16T20:03:07.274+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T20:03:07.274+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><category scheme="http://www.blogger.com/atom/ns#" term="pefs" /><title>pefs benchmark</title><summary>pefs is a stacked cryptographic filesystem for FreeBSD. It has started as a Goggle Summer of Code'2009.I've just come across performance comparison of eCryptfs against plain ext4 filesystem on Ubuntu, benchmark I was going to perform on my own.I run dbench benchmarks regularly while working on pefs. But use it mostly as a stress test tool. I haven't reached the point I can start working on </summary><link rel="replies" type="application/atom+xml" href="http://glebkurtsou.blogspot.com/feeds/8374043624255437088/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://glebkurtsou.blogspot.com/2009/09/pefs-benchmark.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/8374043624255437088?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/8374043624255437088?v=2" /><link rel="alternate" type="text/html" href="http://glebkurtsou.blogspot.com/2009/09/pefs-benchmark.html" title="pefs benchmark" /><author><name>Gleb Kurtsou</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/-7YYV4Y1Wa_M/Tp2DPFh2y-I/AAAAAAAAADs/FsyPz3cuT3E/s220/gleb_02.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_xIIl3JoIV0k/S1H-su33XzI/AAAAAAAAAAU/GRDs84l-6so/s72-c/dbench-4clients.png" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkMHQnc9fSp7ImA9WxBQFks.&quot;"><id>tag:blogger.com,1999:blog-2076511595662355803.post-1902886656575858052</id><published>2009-03-24T19:48:00.003+02:00</published><updated>2010-01-16T19:53:53.965+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T19:53:53.965+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="l2filter" /><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><title>Layer2 dummynet</title><summary>Haven't posted about progress with lyear2 filtering for a while. One notable improvement is addition of ethernet address masks to dummynet.Just configure a pipe. New masks available: src-ether and dst-ether (and a shortcut for specifying both of them: ether)# ipfw pipe 1 config bw 1Mb mask etherAnd use it:# ipfw add 1100 pipe 1 src-ether 00:11:11:11:11:11 dst-ether 00:22:22:22:22:22 out via </summary><link rel="replies" type="application/atom+xml" href="http://glebkurtsou.blogspot.com/feeds/1902886656575858052/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://glebkurtsou.blogspot.com/2009/03/layer2-dummynet.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/1902886656575858052?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/1902886656575858052?v=2" /><link rel="alternate" type="text/html" href="http://glebkurtsou.blogspot.com/2009/03/layer2-dummynet.html" title="Layer2 dummynet" /><author><name>Gleb Kurtsou</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/-7YYV4Y1Wa_M/Tp2DPFh2y-I/AAAAAAAAADs/FsyPz3cuT3E/s220/gleb_02.JPG" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkYGQ3s4eSp7ImA9WxBQFks.&quot;"><id>tag:blogger.com,1999:blog-2076511595662355803.post-1282211271687358720</id><published>2008-11-23T19:47:00.001+02:00</published><updated>2010-01-16T19:48:42.531+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T19:48:42.531+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="l2filter" /><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><title>ipfw: layer2 lookup tables</title><summary>I had an opportunity to spend some extra time improving layer2 filtering.I've extended lookup tables in ipfw to support several layer2 addresses for a single layer3 address/mask. It means that it's possible to assign mac addresses to network (in case ip's are dynamically distributed by dhcp or whatever). Besides, wildcard ip address 'any' is supported, and entries with wildcard ip can be used for</summary><link rel="replies" type="application/atom+xml" href="http://glebkurtsou.blogspot.com/feeds/1282211271687358720/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://glebkurtsou.blogspot.com/2008/11/ipfw-layer2-lookup-tables.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/1282211271687358720?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/1282211271687358720?v=2" /><link rel="alternate" type="text/html" href="http://glebkurtsou.blogspot.com/2008/11/ipfw-layer2-lookup-tables.html" title="ipfw: layer2 lookup tables" /><author><name>Gleb Kurtsou</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/-7YYV4Y1Wa_M/Tp2DPFh2y-I/AAAAAAAAADs/FsyPz3cuT3E/s220/gleb_02.JPG" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkMAR3k7eip7ImA9WxBQFks.&quot;"><id>tag:blogger.com,1999:blog-2076511595662355803.post-1060614104737702329</id><published>2008-07-30T19:39:00.003+03:00</published><updated>2010-01-16T19:54:06.702+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T19:54:06.702+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="l2filter" /><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><title>Layer2 filtering with pf</title><summary>Instead of trying to describe all the changes regarding layer2 filtering in pf I'd better provide some examples.Ethernet address can be specified for host or interface name:pass in on bridge0 from 10.0.0.1 ether 00:11:11:11:11:11 to 10.0.0.2 ether 00:22:22:22:22:22pass in on bridge0 from ($int_if:network) ether 00:11:11:11:11:11 to anyEthernet addresses are supported in table entries:table &lt;test&gt;</summary><link rel="replies" type="application/atom+xml" href="http://glebkurtsou.blogspot.com/feeds/1060614104737702329/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://glebkurtsou.blogspot.com/2008/07/layer2-filtering-with-pf.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/1060614104737702329?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/1060614104737702329?v=2" /><link rel="alternate" type="text/html" href="http://glebkurtsou.blogspot.com/2008/07/layer2-filtering-with-pf.html" title="Layer2 filtering with pf" /><author><name>Gleb Kurtsou</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/-7YYV4Y1Wa_M/Tp2DPFh2y-I/AAAAAAAAADs/FsyPz3cuT3E/s220/gleb_02.JPG" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkMBSH4_cSp7ImA9WxBQFks.&quot;"><id>tag:blogger.com,1999:blog-2076511595662355803.post-1681057676606068755</id><published>2008-06-29T19:37:00.001+03:00</published><updated>2010-01-16T19:54:19.049+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T19:54:19.049+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="l2filter" /><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><title>Filtering on bridge</title><summary>There used to be a flaw in using ipfw on bridge interface. It's impossible to distinguish incoming packets on member interface from incoming packets on bridge itself. For example consider two rules:add 1 allow ip from any to any in recv bridgeadd 2 allow ip from any to any in recv memberFirst rule will never match. The logic is ok here (if you are aware of ipfw's handling of interface options). </summary><link rel="replies" type="application/atom+xml" href="http://glebkurtsou.blogspot.com/feeds/1681057676606068755/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://glebkurtsou.blogspot.com/2008/06/filtering-on-bridge.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/1681057676606068755?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/1681057676606068755?v=2" /><link rel="alternate" type="text/html" href="http://glebkurtsou.blogspot.com/2008/06/filtering-on-bridge.html" title="Filtering on bridge" /><author><name>Gleb Kurtsou</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/-7YYV4Y1Wa_M/Tp2DPFh2y-I/AAAAAAAAADs/FsyPz3cuT3E/s220/gleb_02.JPG" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkMDQng9cCp7ImA9WxBQFks.&quot;"><id>tag:blogger.com,1999:blog-2076511595662355803.post-2922060937196708892</id><published>2008-06-22T19:36:00.003+03:00</published><updated>2010-01-16T19:54:33.668+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T19:54:33.668+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="l2filter" /><category scheme="http://www.blogger.com/atom/ns#" term="freebsd" /><title>Incompatibility and some new features</title><summary>I've made some changes that break backward compatibility. But I've tried not to break anything intentionally but to do a cleanup work.First of all most of sysctl's responsible for layer2 filtering were replaced by per interface flags.net.link.ether.ipfw and net.link.bridge.ipfw are replaced by l2filter interface flag. So sysctl net.link.ether.ipfw=1 became ifconfig if1 </summary><link rel="replies" type="application/atom+xml" href="http://glebkurtsou.blogspot.com/feeds/2922060937196708892/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://glebkurtsou.blogspot.com/2008/06/incompatibility-and-some-new-features.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/2922060937196708892?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2076511595662355803/posts/default/2922060937196708892?v=2" /><link rel="alternate" type="text/html" href="http://glebkurtsou.blogspot.com/2008/06/incompatibility-and-some-new-features.html" title="Incompatibility and some new features" /><author><name>Gleb Kurtsou</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://2.bp.blogspot.com/-7YYV4Y1Wa_M/Tp2DPFh2y-I/AAAAAAAAADs/FsyPz3cuT3E/s220/gleb_02.JPG" /></author><thr:total>0</thr:total></entry></feed>

