6.4. רישות
כברירת מחדל, LXC יוצר מרחב שמות רשת פרטי עבור כל מיכל, הכולל ערימת רשת שכבה 2. קונטיינרים מתחברים בדרך כלל לעולם החיצון על ידי העברת NIC פיזי או נקודת קצה של מנהרה וותיקה לתוך המיכל. LXC יוצר גשר NATed, lxcbr0, בעת הפעלת המארח. מיכלים שנוצרו באמצעות תצורת ברירת המחדל יהיו בעלי NIC אחד עם הקצה המרוחק מחובר לגשר lxcbr0. NIC יכול להתקיים רק במרחב שמות אחד בכל פעם, כך ש-NIC פיזי המועבר למכולה אינו שמיש במארח.
אפשר ליצור קונטיינר ללא מרחב שמות רשת פרטי. במקרה זה, למכולה תהיה גישה לרשת המארח כמו לכל יישום אחר. שימו לב שזה מסוכן במיוחד אם
container מפעיל הפצה עם upstart, כמו אובונטו, שכן תוכניות שמדברות עם init, כמו כיבוי, ידבר על שקע התחום המופשט של Unix עם ה-upstart של המארח, ויסגור את המארח.
כדי לתת לקונטיינרים ב-lxcbr0 כתובת IP קבועה המבוססת על שם דומיין, אתה יכול לכתוב ערכים ל /etc/ lxc/dnsmasq.conf כמו:
dhcp-host=lxcmail,10.0.3.100 dhcp-host=ttrss,10.0.3.101
אם רצוי שהמכולה תהיה נגישה לציבור, יש כמה דרכים לעשות זאת. אחד מהם הוא להשתמש
iptables כדי להעביר יציאות מארח לקונטיינר, למשל
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 587 -j DNAT \
--יעד 10.0.3.100:587
אחר הוא לגשר בין ממשקי הרשת של המארח (ראה פרק תצורת הרשת של מדריך השרת של אובונטו, סעיף 1.4, "גישור" [עמ' 46]). לאחר מכן, ציין את הגשר של המארח בקובץ התצורה של מיכל במקום lxcbr0, למשל
lxc.network.type = veth lxc.network.link = br0
לבסוף, אתה יכול לבקש מ-LXC להשתמש ב-macvlan עבור ה-NIC של המכולה. שים לב שיש לכך מגבלות ובהתאם לתצורה עשוי שלא לאפשר למכולה לדבר עם המארח עצמו. לכן שתי האפשרויות האחרות עדיפות ונפוצות יותר.
ישנן מספר דרכים לקבוע את כתובת ה-IP עבור קונטיינר. ראשית, אתה יכול להשתמש lxc-ls --מפואר אשר ידפיס את כתובות ה-IP עבור כל הקונטיינרים הפועלים, או lxc-info -i -H -n C1 שידפיס את כתובת ה-IP של C1. אם dnsmasq מותקן על המארח, אתה יכול גם להוסיף ערך ל /etc/dnsmasq.conf כדלקמן
server=/lxc/10.0.3.1
לאחר מכן dnsmasq יפתור את C1.lxc באופן מקומי, כך שתוכל לבצע:
ping C1 ssh C1
למידע נוסף, עיין בדף הניהול של lxc.conf וכן בתצורות הרשת לדוגמה תחת /usr/ share/doc/lxc/examples/.